CN110933439B - Motion information candidate list construction method and device and readable storage medium - Google Patents

Motion information candidate list construction method and device and readable storage medium Download PDF

Info

Publication number
CN110933439B
CN110933439B CN201811102877.6A CN201811102877A CN110933439B CN 110933439 B CN110933439 B CN 110933439B CN 201811102877 A CN201811102877 A CN 201811102877A CN 110933439 B CN110933439 B CN 110933439B
Authority
CN
China
Prior art keywords
motion information
encoded
block
decoded
decoded block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811102877.6A
Other languages
Chinese (zh)
Other versions
CN110933439A (en
Inventor
徐丽英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201811102877.6A priority Critical patent/CN110933439B/en
Priority to PCT/CN2019/106473 priority patent/WO2020057556A1/en
Publication of CN110933439A publication Critical patent/CN110933439A/en
Application granted granted Critical
Publication of CN110933439B publication Critical patent/CN110933439B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

The application provides a method and a device for constructing a motion information candidate list and a readable storage medium, wherein the method comprises the following steps: acquiring existing motion information of a current image block, wherein the existing motion information at least comprises a motion vector; transforming the existing motion information; and adding the transformed motion information serving as candidate motion information into a motion information candidate list of the current image block. The method can increase the richness of candidate samples.

Description

Motion information candidate list construction method and device and readable storage medium
Technical Field
The present disclosure relates to video coding technologies, and in particular, to a method and an apparatus for constructing a motion information candidate list, and a readable storage medium.
Background
Inter-frame prediction refers to using the correlation of the video time domain to predict the pixels of the current image by using the pixels of the adjacent coded images, so as to achieve the purpose of effectively removing the video time domain redundancy.
Currently, the inter-frame prediction part of the main video coding standard adopts a block-based Motion compensation technique, and the main principle is to find a best matching block in a previously coded image for each pixel block of a current image, which is called Motion Estimation (ME). The image used for Prediction is called a Reference image (Reference Frame), the displacement of a Reference block to a current pixel block is called a Motion Vector (MV), and the difference between the current pixel block and the Reference block is called a Prediction Residual (Prediction Residual).
Because the motion information of the adjacent blocks in the spatial domain has a strong correlation and the motion information also has a certain correlation in the time domain, if the motion information of the current block is predicted by using the motion information of the adjacent blocks in the spatial domain or the time domain to obtain a predicted pixel value, only the residual needs to be coded, so that the coding bit number of the motion information can be greatly saved. The same motion information candidate list is constructed by the encoding and decoding end, the motion information does not need to be directly encoded, and the motion information can be expressed only by encoding the sequence number (such as Merge _ idx) in the candidate list finally selected, so that the encoding bit number is greatly reduced.
In order to utilize the spatial correlation and the temporal correlation of neighboring blocks, the current video coding standard proposes a Merge technique (Merge), an Advanced Motion Vector Prediction (AMVP) and an Affine (affinity) technique in the Prediction of Motion information. The method uses the thought of spatial domain and temporal domain motion information prediction, and selects an optimal candidate from a list as the prediction information of a current unit according to a preset rule by establishing a motion information candidate list.
When a motion information candidate list is constructed in the existing video coding standard, only candidate motion information is selected from a spatial domain candidate list and a temporal domain candidate list, and the situation that available motion information does not exist or the quantity of the available motion information is insufficient easily occurs.
Disclosure of Invention
In view of the above, the present application provides a method and an apparatus for constructing a motion information candidate list, and a readable storage medium.
Specifically, the method is realized through the following technical scheme:
according to a first aspect of embodiments of the present application, there is provided a motion information candidate list construction method, including:
acquiring existing motion information of a current image block, wherein the existing motion information at least comprises a motion vector;
transforming the existing motion information;
and adding the transformed motion information serving as candidate motion information into a motion information candidate list of the current image block.
Optionally, the transforming the existing motion information includes:
and stretching the existing motion information in a specified direction.
Optionally, the scaling the existing motion information in a specific direction includes:
determining the expansion and contraction amplitude of the existing motion information in the specified direction according to the proportion of zero motion vectors in a last adjustment unit of an adjustment unit to which the current image block belongs; wherein the adjustment unit comprises a frame, a slice, or a row; the magnitude is inversely related to the fraction of the zero motion vector;
and stretching the existing motion information in the specified direction according to the amplitude.
Optionally, the scaling the existing motion information in a specific direction includes:
determining the expansion amplitude of the existing motion information in the specified direction according to the similarity of the motion information of the adjacent spatial blocks at different positions of the current image block;
and stretching the existing motion information in the specified direction according to the amplitude.
Optionally, the transforming the existing motion information includes:
weighting the existing motion information.
Optionally, the existing motion information comprises motion information of spatial candidates, motion information of temporal candidates, and/or motion information of encoded/decoded blocks associated with the current image block.
According to a second aspect of embodiments of the present application, there is provided a motion information candidate list construction method, including:
screening the coded/decoded blocks before the current image block according to a preset filtering condition, and constructing a coded/decoded block motion information list based on the screened coded/decoded blocks;
and selecting candidate motion information from the coded/decoded block motion information list and adding the candidate motion information into a motion information candidate list of the current image block, wherein the candidate motion information at least comprises a motion vector.
Optionally, the screening the encoded/decoded block before the current image block according to the preset filtering condition, and constructing an encoded/decoded block motion information list based on the screened encoded/decoded block includes:
for any encoded/decoded block before the current image block, adding the motion information of the encoded/decoded block into an encoded/decoded block motion information list when the number of non-zero coefficients in residual coefficients of the encoded/decoded block is less than the preset number threshold;
or the like, or, alternatively,
when the length of the coded/decoded block is smaller than the first preset threshold value and/or the width of the coded/decoded block is smaller than the second preset threshold value, adding the motion information of the coded/decoded block into a coded/decoded block motion information list;
or the like, or, alternatively,
and when the quantization step size of the motion information of the coded/decoded block is smaller than the preset step size threshold, adding the motion information of the coded/decoded block into a coded/decoded block motion information list.
Optionally, the constructing a coded/decoded block motion information list based on the filtered coded/decoded blocks includes:
classifying the screened coded/decoded blocks, and adding the screened coded/decoded blocks into a corresponding coded/decoded block motion information list according to the category of the screened coded/decoded blocks; wherein different categories correspond to different lists of coded/decoded block motion information.
Optionally, the classifying the filtered encoded/decoded block includes:
classifying the filtered encoded/decoded block according to the shape of the filtered encoded/decoded block.
Optionally, the classifying the filtered encoded/decoded block according to the shape of the filtered encoded/decoded block includes:
when the aspect ratio of the screened encoded/decoded block is greater than 1, dividing the screened encoded/decoded block into a first category; or
When the aspect ratio of the filtered encoded/decoded blocks is less than 1, the filtered encoded/decoded blocks are divided into a second category.
Optionally, the classifying the filtered encoded/decoded block according to the shape of the filtered encoded/decoded block includes:
when the aspect ratio of the filtered encoded/decoded blocks is equal to 1, dividing the filtered encoded/decoded blocks into a first category; or the like, or a combination thereof,
when the aspect ratio of the filtered encoded/decoded blocks is equal to 1, dividing the filtered encoded/decoded blocks into a second category; or the like, or, alternatively,
when the aspect ratio of the filtered encoded/decoded blocks is equal to 1, the filtered encoded/decoded blocks are divided into a third category.
Optionally, the classifying the filtered encoded/decoded block includes:
when the product of the width and the height of the screened coded/decoded block is greater than a preset threshold value, dividing the screened coded/decoded block into a first category;
and when the product of the width and the height of the screened coded/decoded block is less than or equal to a preset threshold value, dividing the screened coded/decoded block into a second category.
Optionally, the classifying the filtered encoded/decoded block includes:
classifying the filtered encoded/decoded blocks according to prediction modes of the filtered encoded/decoded blocks.
Optionally, the classifying the filtered coded/decoded block according to the prediction mode of the filtered coded/decoded block includes:
when the prediction mode of the screened encoded/decoded block is a merge mode, dividing the screened encoded/decoded block into a first category;
when the encoding mode of the filtered encoded/decoded block is an Advanced Motion Vector Prediction (AMVP) mode, the filtered encoded/decoded block is divided into a second category.
Optionally, the selecting candidate motion information from the coded/decoded block motion information list and adding the candidate motion information to the motion information candidate list includes:
selecting candidate motion information from the coded/decoded block motion information lists in sequence according to the sequence of the priorities of the coded/decoded block motion information lists corresponding to the categories from high to low, and adding the candidate motion information into the motion information candidate list; wherein different categories correspond to different priorities.
Optionally, the selecting candidate motion information from the coded/decoded block motion information list and adding the candidate motion information to the motion information candidate list includes:
determining a motion information list of an encoded/decoded block matching the current image block;
selecting candidate motion information from the motion information list of the encoded/decoded block matching the current image block to add to the motion information candidate list.
Optionally, the determining a motion information list of an encoded/decoded block matching the current image block includes:
determining the category of the current image block according to the shape of the current image block;
and determining a motion information list of the coded/decoded block matched with the category of the current image block according to the category of the current image block.
Optionally, after the constructing the encoded/decoded block motion information list based on the filtered encoded/decoded blocks, the method further includes:
reordering motion information of the filtered encoded/decoded blocks in the encoded/decoded block motion information list.
Optionally, the reordering the motion information of the filtered coded/decoded block in the coded/decoded block motion information list includes:
reordering motion information of the filtered encoded/decoded block based on residual coefficients of the filtered encoded/decoded block.
Optionally, the reordering the motion information of the filtered coded/decoded block based on the residual coefficients of the filtered coded/decoded block includes:
and reordering the motion information of the screened coded/decoded block according to the sequence of the number of non-zero coefficients of the residual coefficients.
Optionally, the reordering the motion information of the filtered coded/decoded block in the coded/decoded block motion information list includes:
reordering the motion information of the filtered encoded/decoded blocks based on the shape of the current image block and the relative position of the filtered encoded/decoded blocks and the current image block.
Optionally, the reordering the motion information of the filtered encoded/decoded block based on the shape of the current image block and the relative position of the filtered encoded/decoded block and the current image block includes:
when the aspect ratio of the current image block is greater than 1, reordering the motion information of the screened coded/decoded blocks according to the sequence that the screened coded/decoded block on the left side of the current image block is in front and the screened coded/decoded block on the upper side of the current image block is in back.
Optionally, the reordering the motion information of the filtered encoded/decoded block based on the shape of the current image block and the relative position of the filtered encoded/decoded block and the current image block includes:
when the aspect ratio of the current image block is less than 1, reordering the motion information of the screened coded/decoded blocks according to the sequence that the screened coded/decoded block on the upper side of the current image block is in front and the screened coded/decoded block on the left side of the current image block is in back.
Optionally, the reordering the motion information of the filtered encoded/decoded block based on the shape of the current image block and the relative position of the filtered encoded/decoded block and the current image block includes:
when the aspect ratio of the current image block is equal to 1, reordering the motion information of the screened coded/decoded blocks according to the sequence that the screened coded/decoded blocks on the left side of the current image block are in front and the screened coded/decoded blocks on the upper side of the current image block are in back;
or the like, or a combination thereof,
when the aspect ratio of the current image block is equal to 1, reordering the motion information of the screened coded/decoded blocks according to the sequence that the screened coded/decoded block on the upper side of the current image block is in front and the screened coded/decoded block on the left side of the current image block is in back.
According to a third aspect of embodiments of the present application, there is provided a motion information candidate list construction method, including:
classifying the encoded/decoded block before the current image block;
adding the encoded/decoded block to a corresponding encoded/decoded block motion information list according to the category of the encoded/decoded block; wherein different categories correspond to different lists of coded/decoded block motion information;
selecting candidate motion information from the coded/decoded block motion information list and adding the candidate motion information into a motion information candidate list of the current image block, wherein the candidate motion information at least comprises a motion vector.
According to a fourth aspect of embodiments of the present application, there is provided a method for constructing a motion information candidate list, including:
constructing an encoded motion information list according to motion information of an encoded/decoded block before a current image block;
reordering the motion information of the encoded/decoded blocks in the encoded/decoded block motion information list;
and selecting candidate motion information from the reordered coded/decoded block motion information list and adding the candidate motion information into a motion information candidate list of the current image block, wherein the candidate motion information at least comprises a motion vector.
According to a fifth aspect of embodiments of the present application, there is provided a motion information candidate list construction method, including:
constructing an encoded/decoded block motion information list, wherein the encoded/decoded block motion information list comprises motion information of an encoded/decoded block before a current image block;
and when the prediction mode of the current image block is an Affine Affinie mode, selecting candidate motion information from the motion information of the coded/decoded block and adding the candidate motion information into a motion information candidate list of the current image block.
Optionally, the selecting candidate motion information from the motion information of the encoded/decoded block and adding the candidate motion information to the motion information candidate list of the current image block includes:
selecting candidate motion information from the motion information of the coded/decoded block with the prediction mode being the Affinine Merge mode, and adding the candidate motion information into a motion information candidate list of the current image block; or the like, or, alternatively,
and selecting candidate motion information from the motion information of the coded/decoded block with the prediction mode of Affinie AMVP mode, and adding the candidate motion information into the motion information candidate list of the current image block.
Optionally, the constructing a coded/decoded block motion information list includes:
classifying the coded/decoded blocks with the prediction mode of Affinine mode, and adding the coded/decoded blocks with the prediction mode of Affinine mode into a corresponding coded/decoded block motion information list according to the type of the coded/decoded blocks with the prediction mode of Affinine mode; wherein different categories correspond to different lists of encoded/decoded block motion information.
Optionally, the classifying the coded/decoded block whose prediction mode is an affinity mode includes:
and classifying the coded/decoded blocks with the prediction mode of the Affinine mode according to the parameter model of the coded/decoded blocks with the prediction mode of the Affinine mode.
Optionally, the classifying, according to the parameter model of the encoded/decoded block whose prediction mode is an affinity mode, the encoded/decoded block whose prediction mode is an affinity mode includes:
when the parameter model of the coded/decoded block with the prediction mode of the Affinine mode is a2 parameter model, dividing the coded/decoded block with the prediction mode of the Affinine mode into a first category;
when the parameter model of the coded/decoded block with the prediction mode of the Affinine mode is a 4 parameter model, dividing the coded/decoded block with the prediction mode of the Affinine mode into a second category;
and when the parameter model of the coded/decoded block with the prediction mode of the Affinine mode is a 6 parameter model, dividing the coded/decoded block with the prediction mode of the Affinine mode into a third category.
Optionally, the selecting candidate motion information from the motion information of the encoded/decoded block and adding the candidate motion information to the motion information candidate list of the current image block includes:
according to the sequence of the priorities of the coded/decoded block motion information lists corresponding to the categories from high to low, candidate motion information is selected from the coded/decoded block motion information lists in sequence and added into a motion information candidate list of the current image block; wherein different categories correspond to different priorities.
Optionally, the selecting candidate motion information from the motion information of the encoded/decoded block and adding the candidate motion information to the motion information candidate list of the current image block includes:
determining a motion information list of an encoded/decoded block matching the current image block;
and selecting candidate motion information from the motion information list of the coded/decoded block matched with the current image block and adding the candidate motion information into the motion information candidate list of the current image block.
According to a sixth aspect of the embodiments of the present application, there is provided a motion candidate list construction apparatus, including a processor, a communication interface, a memory and a communication bus, where the processor, the communication interface, and the memory complete communication with each other through the communication bus;
a memory for storing a computer program;
and the processor is used for realizing the motion candidate list construction method when executing the program stored in the memory.
According to a seventh aspect of embodiments herein, there is provided a computer-readable storage medium having stored therein a computer program which, when executed by a processor, implements the above-described motion information candidate list construction method.
According to the motion information candidate list construction method, the existing motion information of the current image block is transformed, and the transformed existing motion information is used as candidate motion information and added into the motion information candidate list of the current image block, so that the richness of candidate samples is improved.
According to the motion information candidate list construction method, when the coded/decoded block motion information list is constructed, the coded/decoded blocks in front of the current image block are screened, classified and/or reordered, and on the basis of increasing the richness of candidate samples, the precision of the construction of the coded/decoded block motion information list is improved.
According to the motion information candidate list construction method, when the prediction mode of the current image block is the Affinie mode, the candidate motion information is selected from the motion information list of the coded/decoded block and added into the motion information candidate list of the current image block, and the richness of candidate samples for motion information prediction of the Affinie mode is improved.
Drawings
FIGS. 1A-1B are schematic diagrams of block partitions shown in exemplary embodiments of the present application;
fig. 2A is a flowchart illustrating a method for constructing a motion information candidate list according to an exemplary embodiment of the present application;
fig. 2B to 2D are schematic diagrams of a motion information candidate list shown in an exemplary embodiment of the present application;
fig. 3 is a flowchart illustrating a method for constructing a motion information candidate list according to an exemplary embodiment of the present application;
fig. 4 is a flowchart illustrating a method for constructing a motion information candidate list according to an exemplary embodiment of the present application;
fig. 5 is a flowchart illustrating a method for constructing a motion information candidate list according to an exemplary embodiment of the present application;
fig. 6A is a flowchart illustrating a method for constructing a motion information candidate list according to an exemplary embodiment of the present application;
FIG. 6B is a diagram illustrating a motion information candidate list according to an exemplary embodiment of the present application;
FIG. 7A is a diagram illustrating scaling of existing athletic information according to an exemplary embodiment of the present application;
FIG. 7B is a diagram illustrating a frame motion strength versus scale of warp in accordance with an exemplary embodiment of the present application;
FIG. 7C is a diagram illustrating a correspondence between similarity of neighboring blocks at different positions and a magnitude of scaling according to an exemplary embodiment of the present application;
FIG. 7D is a diagram illustrating a filtering of encoded/decoded blocks in accordance with an exemplary embodiment of the present application;
FIG. 7E is a diagram illustrating a filtering of encoded/decoded blocks in accordance with another exemplary embodiment of the present application;
FIG. 7F is a diagram illustrating a filtering of encoded/decoded blocks in accordance with yet another exemplary embodiment of the present application;
FIG. 7G is a diagram illustrating a classification of encoded/decoded blocks in accordance with an exemplary embodiment of the present application;
FIG. 7H is a diagram illustrating a method for selecting candidate motion information from a plurality of encoded/decoded block motion information lists according to an exemplary embodiment of the present application;
FIG. 7I is a schematic diagram of a classification of encoded/decoded blocks shown in another exemplary embodiment of the present application;
FIG. 7J is a diagram illustrating a classification of an encoded/decoded block in accordance with yet another exemplary embodiment of the present application;
fig. 7K is a diagram illustrating a reordering of motion information of encoded/decoded blocks in an encoded/decoded block motion information list according to an exemplary embodiment of the present application;
fig. 7L is a diagram illustrating a reordering of motion information of encoded/decoded blocks in an encoded/decoded block motion information list according to another exemplary embodiment of the present application;
fig. 7M is a schematic diagram illustrating the construction of a motion information list of encoded/decoded blocks in an affinity mode motion information predictor according to an exemplary embodiment of the present application;
fig. 7N is a diagram illustrating classification of encoded/decoded blocks of an affinity mode according to an exemplary embodiment of the present application;
FIG. 7O is a diagram illustrating an encoded/decoded block motion information store in accordance with an exemplary embodiment of the present application;
fig. 8 is a schematic diagram illustrating a hardware structure of a motion information candidate list construction apparatus according to an exemplary embodiment of the present application.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
In order to make those skilled in the art better understand the technical solution provided by the embodiments of the present application, a brief description of the block partitioning technique in the existing video coding standard is provided below.
In HEVC, one CTU (Coding Tree Unit) is recursively divided into CUs (Coding units) using a quadtree. It is determined at the leaf node CU level whether intra-coding or inter-coding is used. A CU may be further divided into two or four PUs (Prediction units), and the same Prediction information is used in the same PU. After obtaining residual information after prediction is completed, a CU may be further divided into tu (transform units) in four branches. For example, the current image block in this application is a PU.
However, there is a large change in the block partitioning technique in the newly proposed VVC (Video Coding for general purpose). A mixed binary tree/ternary tree/quadtree partition structure replaces the original partition mode, cancels the concept division of original CU, PU and TU, and supports a more flexible partition mode of the CU. The CU may be a square or a rectangular partition. The CTU first performs the partition of the quadtree, and then the leaf nodes of the quadtree partition may further perform the partition of the binary tree and the ternary tree. As shown in fig. 1A, the CU has five partition types, which are quadtree partition, horizontal binary tree partition, vertical binary tree partition, horizontal ternary tree partition and vertical ternary tree partition, respectively, as shown in fig. 1B, a CU partition in a CTU may be any combination of the above five partition types, and different partition manners are known from the above, so that the shape of each PU is different, such as rectangle or square with different sizes.
The prediction modes in the present invention are introduced as follows:
1. merge mode
H265/HEVC proposes a merging technique (motion information prediction in the Merge mode) and an AMVP technique (i.e., motion information prediction in the AMVP mode) in terms of motion information prediction. Both of the motion information prediction concepts of the spatial domain and the temporal domain are used, and an optimal motion information candidate is selected as the predicted motion information of the current data block based on the rate distortion cost by establishing a candidate motion information list.
In the Merge mode, Motion information of a current data block is directly obtained by prediction based on Motion information of an adjacent data block in an airspace or a time domain, and no Motion Vector Difference (MVD) exists; if the encoding and decoding end constructs the motion information candidate list in the same way, the encoder only needs to transmit the index of the predicted motion information in the motion information candidate list, so that the encoding bit number of the motion information can be greatly saved.
2. AMVP mode
The prediction of motion information in AMVP mode also uses the correlation of the motion information of spatially and temporally adjacent data blocks to build a motion information candidate list for the current data block. The encoder selects the optimal prediction motion information and carries out differential encoding on the motion information; the decoding end can calculate the motion information of the current data block by establishing the same motion information candidate list and only needing the motion vector residual error and the serial number of the predicted motion information in the list; wherein the length of the motion information candidate list in AMVP mode is 2.
3. Affinine Merge mode
The Affinine mode technology is that the Affinine mode is an inter-frame prediction mode newly introduced by H.266, and has a good prediction effect on rotating and zooming scenes.
In JEM, the Affinine mode is divided into two modes, one mode is Affinine Inter, and the other mode is Affinine Merge. The affinity Merge finds the first candidate which is encoded in the affinity mode by traversing the candidate image blocks. For the AF _ MERGE mode, some additional index values do not need to be transmitted, and only Flag indicating whether to use Affine MERGE is needed.
In order to make the aforementioned objects, features and advantages of the embodiments of the present application more comprehensible, embodiments of the present application are described in detail below with reference to the accompanying drawings.
It should be noted that the motion information candidate list construction method described herein may be applied to an encoding-side device and may also be applied to a decoding-side device; wherein, when applied to an encoding-side device, an encoded/decoded block described herein refers to an encoded block; when applied to a decoding-side device, the encoded/decoded blocks described herein refer to decoded blocks, which will not be repeated later herein.
In the embodiment of the application, for the motion information prediction in the merge mode or the AMVP mode, new candidate motion information may be obtained by transforming the existing motion information, so as to increase the richness of the candidate sample.
Referring to fig. 2A, a flow chart of a motion information candidate list construction method according to an embodiment of the present disclosure is schematically shown, and as shown in fig. 2A, the motion information candidate list construction method may include the following steps:
and step S200, acquiring the existing motion information before the current image block.
In the embodiment of the present application, the existing motion information may include, but is not limited to, motion information of spatial candidates, motion information of temporal candidates, and/or motion information of encoded/decoded blocks.
As shown in fig. 2B, the motion information candidate list of the current image block includes spatial domain candidates, temporal domain candidates, zero motion information, and the like, and for different modes, the numbers of the motion information of the spatial domain candidates and the motion information of the temporal domain candidates in the motion information candidate list of the current image block are different.
The spatial candidate block of the current image block may include spatial neighboring blocks, some spatial sub-neighboring blocks, and some spatial non-neighboring blocks. The spatial candidate block of the current image block may include a spatial neighboring block that is in the same CTU as the current image block, or may include a spatial neighboring block that is different from the CTU in which the current image block is located. The temporal candidate block of the current image block may be an image block in a reference image frame of the current image block, and particularly, a temporal neighboring block in the reference image frame, including an intermediate image block in the reference image frame of the current image block, which is located at the same position as the current image block, and a spatial neighboring block of the intermediate image block.
The motion information of the spatial candidates in the motion information candidate list of the current image block includes the motion information of some spatial neighboring blocks of the current image block. The motion information of the time domain candidate in the motion information candidate list of the current image block includes the motion information of an intermediate image block having the same position as the current image block and a spatial neighboring block of the intermediate image block in a reference image frame of the current image block.
It should be noted that, in the embodiment of the present application, unless otherwise specified, the motion information of the coded/decoded block refers to the motion information of other coded image blocks in the motion information candidate list of the current image block except for the spatial candidate and the temporal candidate, and the following description of the embodiment of the present application is not repeated.
Preferably, the encoded image block may include the remaining spatial neighboring blocks, except for the spatial candidate, of the spatial neighboring blocks of the current image block; or/and the remaining temporal neighboring blocks in the temporal candidate block of the current image block except the temporal candidate block in the motion information candidate list.
The current image block may be any image unit, the image unit may be a CTU but is not limited to the CTU, or a block or unit continuously divided by the CTU, or a unit of a block larger than the CTU.
Wherein the existing motion information at least comprises a motion vector.
However, it should be appreciated that the existing motion information is not limited to include a motion vector, and may also be other coding information besides the motion vector, and accordingly, the transformation on the existing motion information may also include transformation on other motion information besides the motion vector, which is not described in this embodiment of the present application again.
And step S210, transforming the acquired existing motion information.
In the embodiment of the present application, in order to increase the richness of the candidate sample, the existing motion information may be transformed to obtain new candidate motion information.
In one embodiment of the present application, the transforming the obtained existing motion information may include:
and stretching the acquired existing motion information in the specified direction.
In this embodiment, the existing motion information may be transformed in a manner of scaling the existing motion information to obtain new candidate motion information.
Accordingly, after the existing motion information is acquired, the acquired existing motion information may be scaled in a specified direction.
In one example, the specified direction may be a Motion direction of a Motion Vector of the current image block, and the Motion information includes an MV (Motion Vector) direction. The current image block may be a bi-directional inter-prediction block or a uni-directional inter-prediction block.
However, it should be appreciated that the existing motion information is not limited to being scaled in the MV direction, and may also be scaled in other specified directions, and the specific implementation thereof is not described herein again.
Further, in this embodiment, in order to improve flexibility and rationality of scaling existing motion information, for different existing motion information, the scaling amplitude may be flexibly adjusted according to an actual scene.
As an implementation manner of this embodiment, in order to improve the efficiency of constructing the motion information candidate list, the scaling of the existing motion information may be performed at a frame level, a slice level, or a line level, that is, the scaling amplitude of the existing motion information of the same frame, slice, or line may be the same.
Wherein, a frame of image can be divided into one or more slices; one slice may include one or more CTUs.
In an example, the scaling the acquired existing motion information in the specified direction may include:
determining the expansion amplitude of the existing motion information in the specified direction according to the ratio of the zero motion vector in the last adjusting unit of the adjusting unit to which the current image block belongs;
and scaling the existing motion information in the specified direction according to the determined amplitude.
In the embodiment of the present application, the current image block refers to a data block currently performing motion information prediction. The method is applied to a coding end, and the data block can be a data block to be coded (which can be referred to as a coding block herein); applied to the decoding side, the data block may be a data block to be decoded (which may be referred to herein as a decoding block).
In this example, the adjustment unit may include a frame, a slice, or a line, and accordingly, when scaling the existing motion information in a specific direction, frame-level, slice-level, or line-level syntax control may be adopted.
In this example, the magnitude of scaling the existing motion information may be determined according to the intensity of the motion of the adjustment unit.
The motion intensity can be represented by the proportion of the zero motion vector, and the higher the proportion of the zero motion vector is, the lower the motion intensity is; the lower the duty ratio of the zero motion vector, the higher the motion intensity.
The zero motion vector of the adjusting unit is the ratio of the number of zero motion vectors in the adjusting unit to the number of motion vectors in the adjusting unit.
In this example, when scaling in the specified direction needs to be performed on the existing motion information, the magnitude of scaling in the specified direction on the existing motion information may be determined according to the ratio of the zero motion vector in the previous adjusting unit of the adjusting unit to which the current image block belongs.
The expansion amplitude of the existing motion information in the specified direction is inversely related to the occupation ratio of the zero motion vector, namely, the higher the occupation ratio of the zero motion vector in the last adjusting unit of the adjusting unit to which the current image block belongs, the smaller the determined expansion amplitude of the existing motion information in the specified direction is; the lower the proportion of the zero motion vector in the last adjusting unit of the adjusting unit to which the current image block belongs, the larger the determined amplitude for scaling the existing motion information in the specified direction.
For example, taking the adjustment unit as a frame (i.e. performing frame-level adjustment), the corresponding relationship between the ratio of zero motion vectors in the frame that the current image block belongs to and the determined magnitude for scaling the existing motion information in the specified direction may be as shown in the following table:
zero motion vector ratio Amplitude of
(T1,T2) A1
(T2,T3) A2
(T3,T4) A3
Wherein, T1 is more than or equal to 0 and less than T2 and more than T3 and more than T4 and less than or equal to 100 percent, A1 is more than A2 is more than A3 and more than or equal to 0.
It should be noted that, in this example, when the proportion of the zero motion vector in the previous adjustment unit of the adjustment unit to which the current image block belongs exceeds a relatively large proportion threshold (that is, the intensity of motion of the previous adjustment unit is very weak), when inter-frame prediction is performed on the current image block, the probability that the zero motion information is selected as the final predicted motion information is relatively large, at this time, the amplitude of scaling the existing motion information in the specified direction may be zero, that is, scaling of the existing motion information is not performed, so as to improve the probability that the zero motion information is added to the final motion information candidate list.
As another implementation manner of this embodiment, in order to improve the accuracy of scaling the existing motion information, the scaling of the existing motion information may be performed at a block level, that is, for each data block, the scaling amplitude of the existing motion information may be determined separately.
In an example, the scaling the acquired existing motion information in the specified direction may include:
determining the expansion amplitude of the existing motion information in the specified direction according to the similarity of the motion information of the adjacent space blocks at different positions of the current image block;
and scaling the existing motion information in the specified direction according to the determined amplitude.
In this example, the magnitude of scaling the existing motion information may be determined according to the similarity of the motion information of the neighboring blocks of the current image block.
In this example, when the existing motion information needs to be scaled in the designated direction, the scaling amplitude of the existing motion information may be determined according to the similarity of the motion information of the spatial neighboring blocks at different positions of the current image block.
The higher the similarity of the motion information of the adjacent spatial blocks at different positions of the current image block is, the smaller the determined expansion and contraction amplitude of the existing motion information in the specified direction is; the lower the similarity of the motion information of the spatial domain adjacent blocks at different positions of the current image block is, the larger the determined expansion and contraction amplitude of the existing motion information in the specified direction is.
It should be noted that, in this example, when the similarity of the motion information of any two spatial neighboring blocks at different positions of the current image block exceeds a preset similarity threshold, the magnitude of scaling the existing motion information in the specified direction may be zero, that is, the existing motion information is not scaled.
In another embodiment of the present application, the transforming the acquired existing motion information may include:
and weighting at least two acquired existing motion information.
In this embodiment, the transformation of the existing motion information may be implemented by weighting the existing motion information to obtain new candidate motion information.
Accordingly, after the existing motion information is obtained, at least two pieces of obtained existing motion information may be weighted, that is, a weighted average of the at least two pieces of obtained existing motion information is determined.
The weighting coefficient when weighting at least two pieces of acquired existing motion information may be adaptively adjusted according to the characteristics of a source block of the existing motion information (where the existing motion information is motion information of the source block).
Step S220, adding the transformed motion information as candidate motion information into a motion information candidate list of the current image block.
In the embodiment of the present application, after the obtained existing motion information is transformed, the transformed motion information may be added to the motion information candidate list of the current image block as candidate motion information.
For example, taking the motion information prediction in the merge mode as an example, in the embodiment of the present application, the motion information candidate list constructed for the motion information prediction in the merge mode may include, in addition to spatial candidates, temporal candidates, and zero motion information, candidate motion information obtained by transforming existing motion information, and a schematic diagram of the candidate motion information may be as shown in fig. 2C.
The transformation of the existing motion information may include, but is not limited to, scaling or weighting the existing motion information.
It should be noted that, for the motion information prediction in the merge mode, when there is a combination candidate, the candidate motion information obtained by transforming the existing motion information may be located before the combination candidate or located after the combination candidate, but is not limited to the above example; fig. 2C illustrates an example in which there is a combination candidate and candidate motion information obtained by transforming existing motion information is located before the combination candidate (i.e., located after the temporal candidate and before the combination candidate).
For another example, taking the motion information prediction in the AMPV mode as an example, in the embodiment of the present application, the motion information candidate list constructed for the motion information prediction in the AMVP mode may include, in addition to spatial domain candidates, temporal domain candidates, and zero motion information, candidate motion information obtained by transforming existing motion information, where the candidate motion information obtained by transforming the existing motion information may be located after the temporal domain candidates in the motion information candidate list and before the zero motion information, and a schematic diagram thereof may be as shown in fig. 2D.
As can be seen, in the method flow shown in fig. 2A, by transforming the existing motion information and adding the transformed motion information as candidate motion information to the motion information candidate list of the current image block, the richness of the candidate sample is increased and the flexibility of motion information candidate selection is improved.
In the embodiment of the present application, for motion information prediction in a merge mode or an AMVP mode, in addition to transforming existing motion information according to the method shown in fig. 2A to increase the richness of candidate samples, an encoded/decoded block motion information list may be constructed based on motion information of an encoded/decoded block through one or more of screening, classifying, and sorting, and a candidate motion information is selected from the encoded/decoded block motion information list and added to a motion information candidate list of a current image block, so that on the basis of increasing the richness of candidate samples, the accuracy of constructing the encoded/decoded block motion information list is improved.
Referring to fig. 3, a flow chart of a motion information candidate list construction method according to an embodiment of the present application is schematically shown, and as shown in fig. 3, the motion information candidate list construction method may include the following steps:
step S300, screening the coded/decoded blocks before the current image block according to preset filtering conditions, and constructing a coded/decoded block motion information list based on the screened coded/decoded blocks.
In the embodiment of the present application, in order to increase the richness of candidate samples, an encoded/decoded block motion information list may be constructed based on motion information of an encoded/decoded block before a current image block, and candidate motion information may be selected from the encoded/decoded block motion information list and added to the motion information candidate list of the current image block.
In the embodiment of the present application, considering that the probability of selecting some of the motion information of the encoded/decoded blocks as the final predicted motion information is very small, in order to improve the accuracy of constructing the motion information list of the encoded/decoded blocks, when constructing the motion information list of the encoded/decoded blocks, the encoded/decoded blocks before the current image block may be filtered, and based on the filtering, the motion information list of the encoded/decoded blocks may be constructed based on the filtered encoded/decoded blocks.
In an embodiment of the application, the filtering the coded/decoded block before the current image block according to the preset filtering condition, and constructing the coded/decoded block motion information list based on the filtered coded/decoded block may include:
for any encoded/decoded block before the current image block, when the number of non-zero coefficients in residual coefficients of the encoded/decoded block is greater than or equal to a preset number threshold, rejecting to add the motion information of the encoded/decoded block to an encoded/decoded block motion information list;
and when the number of non-zero coefficients in the residual coefficients of the coded/decoded block is less than the preset number threshold, adding the motion information of the coded/decoded block into a coded/decoded block motion information list.
In this embodiment, considering that the number of non-zero coefficients in the residual coefficients of the encoded/decoded block can intuitively indicate whether the motion information prediction is accurate, when constructing the encoded/decoded block motion information list, the encoded/decoded block may be filtered based on the number of non-zero coefficients in the residual coefficients of the encoded/decoded block.
Wherein the more the number of non-zero coefficients in the residual coefficients of the encoded/decoded block, the worse the prediction accuracy of the motion information of the encoded/decoded block.
Accordingly, in this embodiment, for any encoded/decoded block before the current image block, the number of non-zero coefficients in the residual coefficients of the encoded/decoded block may be determined, and it is determined whether the number of non-zero coefficients in the residual coefficients of the encoded/decoded block is greater than a preset number threshold (the preset number threshold may be set according to an actual scene).
And when the number of non-zero coefficients in the residual coefficients of the coded/decoded block is greater than or equal to a preset number threshold, rejecting to add the motion information of the coded/decoded block into the coded/decoded block motion information list.
And when the number of non-zero coefficients in the residual coefficients of the coded/decoded block is less than a preset number threshold, adding the motion information of the coded/decoded block into a coded/decoded block motion information list.
Therefore, in the embodiment, the coded/decoded blocks are filtered based on the number of nonzero coefficients in the residual coefficients of the coded/decoded blocks, the motion information of the coded/decoded blocks with poor prediction accuracy is eliminated, and the accuracy of the motion information list construction of the coded/decoded blocks is improved.
In another embodiment of the present application, the filtering the coded/decoded blocks before the current image block according to the preset filtering condition, and constructing the coded/decoded block motion information list based on the filtered coded/decoded blocks may include:
for any encoded/decoded block before the current image block, when the width of the encoded/decoded block is greater than or equal to a first preset threshold and the height of the encoded/decoded block is greater than or equal to a second preset threshold, refusing to add the motion information of the encoded/decoded block into an encoded/decoded block motion information list;
and when the width of the coded/decoded block is less than the first preset threshold value and/or the height of the coded/decoded block is less than a second preset threshold value, adding the motion information of the coded/decoded block into a coded/decoded block motion information list.
In this embodiment, considering that the probability that the motion information of the encoded/decoded block having an excessively large width and height is selected as the final prediction information may be low, the encoded/decoded block may be filtered based on the width and height of the encoded/decoded block when constructing the encoded/decoded block motion information list.
Accordingly, in this embodiment, for any encoded/decoded block before the current image block, it may be determined whether the width of the encoded/decoded block is greater than or equal to a first preset threshold (the first preset threshold may be set according to an actual scene), and whether the height of the encoded/decoded block is greater than or equal to a second preset threshold (the second preset threshold may be set according to an actual scene).
And when the width of the coded/decoded block is greater than or equal to a first preset threshold value and the height of the coded/decoded block is greater than or equal to a second preset threshold value, refusing to add the motion information of the coded/decoded block into the motion information list of the coded/decoded block.
And when the width of the coded/decoded block is less than a first preset threshold value and/or the height of the coded/decoded block is less than a second preset threshold value, adding the motion information of the coded/decoded block into a coded/decoded block motion information list.
It can be seen that, in this embodiment, by filtering the encoded/decoded block based on the width and height of the encoded/decoded block and removing the motion information of the encoded/decoded block with an excessively large width and height, the accuracy of the encoded/decoded block motion information list construction is improved.
In another embodiment of the present application, the filtering the encoded/decoded blocks according to the preset filtering condition and constructing the encoded/decoded block motion information list based on the filtered encoded/decoded blocks may include:
for any encoded/decoded block before the current image block, when the quantization step size of the motion information of the encoded/decoded block is greater than or equal to a preset step size threshold, rejecting to add the motion information of the encoded/decoded block to an encoded/decoded block motion information list;
and when the quantization step size of the motion information of the coded/decoded block is smaller than a preset step size threshold, adding the motion information of the coded/decoded block into a coded/decoded block motion information list.
In this embodiment, considering that the quantization step size of the motion information of the encoded/decoded block can intuitively embody the precision of the motion information of the encoded/decoded block, the encoded/decoded block can be filtered based on the quantization step size of the motion information of the encoded/decoded block when constructing the encoded/decoded block motion information list.
Wherein the larger the quantization step size of the motion information of the encoded/decoded block, the lower the precision of the motion information of the encoded/decoded block, and accordingly, the lower the prediction accuracy of the motion information thereof.
For example, for parameters 5, 6, 7 and 8, when the quantization step size is 1, the quantization values are 5, 6, 7 and 8, respectively; when the quantization step is 2, its quantization values are 3 (corresponding to parameters 5 and 6) and 4 (corresponding to parameters 7 and 8), respectively; when the quantization step is 4, the quantization values are all 2, i.e., the larger the quantization step is, the more parameters are quantized into the same quantization value, and the precision is correspondingly reduced. Therefore, the quantization step is inversely related to the precision.
Accordingly, in this embodiment, for any encoded/decoded block before the current image block, the quantization step size of the motion information of the encoded/decoded block may be determined, and it is determined whether the quantization step size of the motion information of the encoded/decoded block is greater than or equal to a preset step size threshold (the preset step size threshold may be set according to an actual scene).
And when the quantization step size of the motion information of the coded/decoded block is larger than or equal to a preset step size threshold value, refusing to add the motion information of the coded/decoded block into the motion information list of the coded/decoded block.
And when the quantization step size of the motion information of the coded/decoded block is smaller than a preset step size threshold value, adding the motion information of the coded/decoded block into a coded motion information list.
It can be seen that, in this embodiment, the encoded/decoded block is filtered based on the quantization step size of the motion information of the encoded/decoded block, and the motion information of the encoded/decoded block with too low prediction precision is removed, so that the precision of the motion information list construction of the encoded/decoded block is improved.
Step S330, selecting candidate motion information from the coded/decoded block motion information list and adding the candidate motion information into the motion information candidate list of the current image block, wherein the candidate motion information at least comprises a motion vector.
In the embodiment of the present application, after the encoded/decoded block motion information list is constructed based on the filtered encoded/decoded blocks, candidate motion information may be selected from the encoded/decoded block motion information list and added to the motion information candidate list of the current image block.
In an embodiment of the present application, the selecting candidate motion information from the coded/decoded block motion information list and adding the candidate motion information to the motion information candidate list of the current image block may include:
according to the sequence from high to low of the priority of the coded/decoded block motion information list corresponding to each category, selecting candidate motion information from each coded/decoded block motion information list in turn and adding the candidate motion information into the motion information candidate list of the current image block; wherein different categories correspond to different priorities.
Accordingly, in this embodiment, different classes of filtered encoded/decoded blocks differ in priority as candidate motion information. Wherein the higher the precision of the motion information of the filtered encoded/decoded block, the higher the priority of the filtered encoded/decoded block as candidate motion information.
When candidate motion information needs to be selected from the coded/decoded block motion information list and added into the motion information candidate list of the current image block, candidate motion information can be sequentially selected from the coded/decoded block motion information lists and added into the motion information candidate list of the current image block according to the sequence of the priorities of the coded/decoded block motion information lists corresponding to the categories from high to low, so that the motion information of the coded/decoded block with high precision in the motion information candidate list is guaranteed to be ranked earlier than the motion information of the coded/decoded block with low precision in the motion information candidate list.
It should be noted that, in this embodiment of the present application, the candidate motion information is not limited to include a motion vector, and may also be other coding information except for the motion vector, and accordingly, the screening, classifying and/or sorting of the motion information may also include screening, classifying and/or sorting of other coding information except for the motion vector, which is not described in this embodiment of the present application again.
In another embodiment of the present application, the selecting candidate motion information from the coded/decoded block motion information list and adding the candidate motion information to the motion information candidate list of the current image block may include:
determining a list of encoded/decoded block motion information that matches a current image block;
candidate motion information is selected from a list of encoded/decoded block motion information that matches the current image block and added to a list of motion information candidates for the current image block.
In one example, the determining of the encoded/decoded block motion information list matching the current image block may include:
determining the category of the current image block according to the shape of the current image block;
and determining an encoded/decoded block motion information list matched with the category of the current image block according to the category of the current image block.
In this example, when candidate motion information needs to be selected from the encoded/decoded block motion information list to be added to the motion information candidate list of the current image block, the type of the current image block may be determined according to the shape of the current image block, and then, the encoded/decoded block motion information list matching the type of the current image block may be determined according to the type of the current image block, and the candidate motion information is selected from the encoded/decoded block motion information list to be added to the motion detail information candidate list.
For example, if the screened encoded/decoded blocks are classified into three categories (a first category, a second category, and a third category, for specific implementation, see the related description in step S310) based on the shapes of the encoded/decoded blocks, when candidate motion information needs to be selected from the encoded/decoded block motion information list and added to the motion information candidate list of the current image block, if the aspect ratio of the current image block is greater than 1, the candidate motion information is selected from the encoded/decoded block motion information list corresponding to the encoded/decoded block of the first category and added to the motion information candidate list of the current image block; if the aspect ratio of the current image block is less than 1, selecting candidate motion information from a coded/decoded block motion information list corresponding to a coded/decoded block of the second class and adding the candidate motion information into a motion information candidate list of the current image block; if the aspect ratio of the current image block is equal to 1, selecting candidate motion information from the encoded/decoded block motion information list corresponding to the encoded/decoded block of the third category and adding the candidate motion information to the motion information candidate list of the current image block.
As can be seen, in the method flow shown in fig. 3, when the motion information list of the encoded/decoded block is constructed, the encoded/decoded block is screened, and the motion information of the encoded/decoded block which is selected as the final predicted motion information and has a too low probability is removed, so that the accuracy of constructing the motion information list of the encoded/decoded block is improved.
In the embodiment of the application, on the basis of screening the coded/decoded blocks, the coded/decoded blocks can be classified, different coded/decoded block motion information lists are constructed according to the classes of the coded/decoded blocks, and/or the motion information of the coded/decoded blocks in the constructed coded/decoded block motion information lists is reordered, so that the construction accuracy of the coded/decoded block motion information lists is further improved, and the performance of video coding can be improved.
As still another alternative example, in the embodiment of the present application, in order to further improve the accuracy of constructing the motion information candidate list, on the basis of the filtering of the coded/decoded blocks in step S300, the filtered coded/decoded blocks may be classified, and different types of filtered coded/decoded blocks may be added to different coded/decoded block motion information lists.
Correspondingly, in one embodiment of the present application, after the step S300, the method further includes the step S310:
classifying the filtered encoded/decoded blocks and adding the filtered encoded/decoded blocks to a corresponding encoded/decoded block motion information list according to the class of the filtered encoded/decoded blocks.
In this embodiment, after the encoded/decoded blocks are filtered in the manner described in the above embodiment, the filtered encoded/decoded blocks may be further classified according to the characteristics of the encoded/decoded blocks, such as shape, size, or prediction mode, and added to the corresponding encoded/decoded block motion information list according to the categories of the filtered encoded/decoded blocks.
Wherein different categories correspond to different lists of coded/decoded block motion information.
As an implementation manner of this embodiment, the classifying the filtered encoded/decoded block may include:
the filtered encoded/decoded blocks are classified according to their shapes.
In one example, classifying the filtered encoded/decoded block according to the shape of the filtered encoded/decoded block may include:
when the aspect ratio of the screened coded/decoded blocks is larger than 1, dividing the screened coded/decoded blocks into a first category; and/or the presence of a gas in the gas,
when the aspect ratio of the filtered encoded/decoded blocks is less than 1, the filtered encoded/decoded blocks are divided into a second category.
In this example, the shape of the encoded/decoded block may be characterized by the aspect ratio of the encoded/decoded block.
For example, the different shapes of the current image block may be characterized by the size relationship of the aspect ratio of the current image block to 1, respectively.
If the aspect ratio of the current image block is greater than 1, the shape of the current image block is a rectangle with the width greater than the height; if the aspect ratio of the current image block is equal to 1, the shape of the current image block is a square; if the aspect ratio of the current image block is less than 1, the shape of the current image block is a rectangle with an aspect ratio less than height.
Accordingly, in this example, the filtered encoded/decoded blocks may be divided into different categories according to their aspect ratios.
In this example, the category to which the filtered encoded/decoded block having an aspect ratio greater than 1 belongs is referred to as a first category; the class to which the filtered encoded/decoded block having an aspect ratio smaller than 1 belongs is referred to as a second class.
Further, in this example, for the filtered coded/decoded block with the aspect ratio equal to 1, it may be classified into a first category, or it may be classified into a second category, or it may be classified into a new category.
Here, when the filtered encoded/decoded blocks having the aspect ratio equal to 1 are divided into a new category, the category to which the filtered encoded/decoded blocks having the aspect ratio equal to 1 belong may be referred to as a third category.
As another implementation manner of this embodiment, the classifying the filtered encoded/decoded blocks may include:
when the product of the width and the height of the screened coded/decoded block is larger than a preset threshold value, dividing the screened coded/decoded block into a first category;
and when the product of the width and the height of the screened coded/decoded blocks is less than or equal to a preset threshold value, dividing the screened coded/decoded blocks into a second category.
In this embodiment, the filtered encoded/decoded blocks may be divided into different categories according to the size (i.e., product of width and height) of the filtered encoded/decoded blocks.
In one example, a category to which the filtered encoded/decoded block whose product of width and height is greater than a preset threshold (which may be set according to an actual scene) belongs may be referred to as a first category; the class to which the filtered encoded/decoded block whose product of width and height is equal to or less than the preset threshold belongs is referred to as a second class.
It should be noted that, in the embodiment of the present application, when classifying the filtered encoded/decoded blocks according to the product of the width and the height of the filtered encoded/decoded blocks, the product of the width and the height may be divided into three or more sections by two or more preset thresholds, and each section is divided into one category corresponding to one section.
For example, assuming that the preset thresholds include Ta and Tb (Tb > Ta), the encoded/decoded blocks whose product of width and height is equal to or less than Ta may be divided into a first category, the encoded/decoded blocks whose product of width and height is greater than Ta, and equal to or less than Tb may be divided into a second category, and the encoded/decoded blocks whose product of width and height is greater than Tb may be divided into a third category.
In addition, in the embodiment of the present application, if the encoded/decoded block is screened based on the width and height of the encoded/decoded block (that is, the width is greater than or equal to the first preset threshold and the height is greater than or equal to the second preset threshold as described in the above embodiment), when the screened encoded/decoded block is classified according to the size of the encoded/decoded block, the threshold used for classification needs to be smaller than the product of the first preset threshold and the second preset threshold.
As another implementation manner of this embodiment, the classifying the filtered encoded/decoded blocks may include:
classifying the filtered coded/decoded blocks according to their prediction modes.
In one example, the classifying the filtered coded/decoded block according to the prediction mode of the filtered coded/decoded block includes:
when the prediction mode of the screened coded/decoded block is a merging mode, dividing the screened coded/decoded block into a first category;
when the prediction mode of the filtered encoded/decoded block is the AMVP mode, the filtered encoded/decoded block is divided into a second category.
In this example, a category to which the filtered encoded/decoded block whose prediction mode is the merge mode belongs may be referred to as a first category; the class to which the filtered encoded/decoded block whose preset side mode is the AMVP mode belongs is referred to as a second class.
It should be noted that, in the embodiment of the present application, when classifying the filtered encoded/decoded blocks according to the prediction mode of the filtered encoded/decoded blocks, the classification is not limited to the above two categories, and the filtered encoded/decoded blocks of other prediction modes may also be classified into other categories (such as a third category, a fourth category, and the like), and specific implementation thereof is not described herein again.
Further, in the embodiment of the present application, when the predicted motion information finally selected in the motion information candidate list is ranked in front of the motion information candidates, bits required for encoding the index value can be reduced, and the performance of video encoding is improved; further, in prediction of motion information, when the predicted motion information finally selected in the motion information candidate list is ranked in the front among the motion information candidates, the consumption of selection of the predicted motion information can be reduced, that is, when the same encoding index is consumed, ranking with a high correlation in the front is advantageous for improving the performance of video encoding, and therefore, when the encoded/decoded block motion information list is constructed, the encoded/decoded block motion information in the encoded/decoded block motion information list can be reordered, the motion information of the encoded/decoded block having a higher probability of being selected as the final predicted information is ranked behind the encoded/decoded block motion information list (when the candidate motion information is selected from the encoded/decoded block motion information list, the motion information of the encoded/decoded block is selected from the encoded/decoded block motion information list in the order from the back to the front), so that the candidate motion information selected as the final prediction information can be ranked as far forward in the motion information candidates as possible.
As still another alternative example, in the embodiment of the present application, after constructing the encoded/decoded block motion information list based on the filtered encoded/decoded blocks (including constructing the encoded/decoded block motion information list directly after filtering the encoded/decoded blocks, constructing a plurality of encoded/decoded block motion information lists corresponding to different categories after filtering the encoded/decoded blocks and classifying the filtered encoded/decoded blocks), the motion information of the filtered encoded/decoded blocks in the encoded/decoded block motion information list may be reordered.
When a plurality of encoded/decoded block motion information lists corresponding to different classes are constructed, the motion information of the filtered encoded/decoded blocks in each encoded/decoded block motion information list may be reordered, respectively.
In one embodiment of the present application, after the step S300, the method further includes the step S320: reordering motion information of the filtered encoded/decoded block based on residual coefficients of the filtered encoded/decoded block.
Optionally, step S320 may also be after step S310, and then step S320 may also be replaced with: reordering the motion information of the filtered encoded/decoded block based on residual coefficients of the classified encoded/decoded block.
In this embodiment, the higher the prediction accuracy of the motion information of the encoded/decoded block is considered, the smaller the number of non-zeros in the residual coefficients of the encoded/decoded block is; the higher the prediction accuracy of the motion information of the coded/decoded block, the higher the probability that the coded/decoded block is selected as the final predicted motion information, and therefore, the motion information of the screened coded/decoded block can be reordered according to the number of non-zero residual coefficients of the screened coded/decoded block.
In one example, the reordering the motion information of the filtered encoded/decoded block based on the residual coefficients of the filtered encoded/decoded block may include:
and reordering the motion information of the screened coded/decoded blocks according to the sequence of the number of the nonzero coefficients of the residual coefficients.
In this example, considering that the candidate motion information is generally selected in the order from the rear to the front when selecting the candidate motion information from the coded/decoded block motion information list, the motion information of the coded/decoded block having a high probability of being selected as the final predicted motion information may be ranked in the rear column of the coded/decoded block motion information list when performing the reordering.
Accordingly, in this example, for a coded/decoded block motion information list constructed based on motion information for the filtered coded/decoded blocks, the filtered coded/decoded block motion information may be reordered from a high to a low order by non-zero numbers of residual coefficients, i.e., the motion information for the non-zero most filtered coded/decoded blocks of residual coefficients is ordered first of the coded/decoded block motion information list and the motion information for the non-zero least filtered coded/decoded blocks of residual coefficients is ordered last of the coded/decoded block motion information list.
In another embodiment of the present application, reordering the motion information of the filtered encoded/decoded block in the encoded/decoded block motion information list may include:
reordering the motion information of the filtered encoded/decoded blocks based on the shape of the current image block and the relative position of the filtered encoded/decoded blocks and the current image block.
In this embodiment, it is considered that, when the motion information prediction is performed on a data block having a different shape, the correlation between surrounding blocks at different positions of the data block and the data block is not completely the same.
When motion information prediction is performed on a data block, candidate motion information with higher correlation is selected as final predicted motion information, which is more advantageous to the encoding effect, and therefore, after the encoded/decoded block motion information list is constructed based on the motion information of the filtered encoded/decoded block, the motion information of the filtered encoded/decoded block may be reordered based on the shape of the current image block and the relative position of the filtered encoded/decoded block and the current image block.
In one example, the reordering of the motion information of the filtered encoded/decoded block based on the shape of the current image block and the relative position of the filtered encoded/decoded block and the current image block may include:
and when the aspect ratio of the current image block is more than 1, reordering the motion information of the screened coded/decoded blocks according to the sequence that the screened coded/decoded block on the left side of the current image block is in front and the screened coded/decoded block on the upper side of the current image block is in back.
In this example, it is considered that when the aspect ratio of the data block is greater than 1, the correlation between the upper side surrounding block of the data block and the data block is higher than the correlation between the left side surrounding block of the data block and the data block, and the ranking of the motion information of the candidate blocks with high correlation in the motion information candidate list can reduce the overhead of the coding index on the one hand, and can increase the probability that the motion information of the candidate blocks with high correlation is selected as the final predicted motion information on the other hand, and further, the performance of video coding can be improved.
Accordingly, in this example, when the aspect ratio of the current image block is greater than 1, the motion information of the filtered encoded/decoded blocks may be reordered in an order in which the filtered encoded/decoded block on the left side of the current image block precedes the filtered encoded/decoded block on the upper side of the current image block, so that when selecting candidate motion information from the encoded/decoded block motion information list, the motion information of the filtered encoded/decoded block on the upper side of the current image block may be selected first, and further, the motion information of the filtered encoded/decoded block on the upper side of the current image block may be ordered in the motion information candidate list earlier than the motion information of the filtered encoded/decoded block on the left side of the current image block.
In another example, the reordering of the motion information of the filtered encoded/decoded blocks based on the shape of the current image block and the relative positions of the filtered encoded/decoded blocks and the current image block may include:
and when the aspect ratio of the current image block is less than 1, reordering the motion information of the screened coded/decoded blocks according to the sequence that the screened coded/decoded block on the upper side of the current image block is in front and the screened coded/decoded block on the left side of the current image block is in back.
In this example, it is considered that when the aspect ratio of the data block is less than 1, the correlation of the peripheral block on the left side of the data block with the data block is higher than the correlation of the peripheral block on the upper side of the data block with the data block.
Thus, in this example, when the aspect ratio of the current image block is less than 1, the image block may be divided into a first image block and a second image block in the order of the filtered encoded/decoded block on the upper side of the current image block before, the filtered encoded/decoded block on the left side of the current image block after, reordering the motion information of the filtered encoded/decoded block so that when candidate motion information is selected from the encoded/decoded block motion information list, the motion information of the filtered encoded/decoded block to the left of the current image block may be selected first, further, the motion information of the filtered encoded/decoded block on the left side of the current image block may be ranked higher in the motion information candidate list than the motion information of the filtered encoded/decoded block on the upper side of the current image block.
It should be noted that, in this example, for the case that the aspect ratio of the current image block is greater than 1, the reordering of the motion information of the screened coded/decoded block in the motion information list of the coded/decoded block may be implemented according to the reordering described in the previous example, and the specific implementation thereof is not described herein again.
Further, in this embodiment, for the case where the aspect ratio of the current image block is equal to 1, the reordering of the filtered encoded/decoded block motion information in the encoded/decoded block motion information list may be implemented in a reordering manner in the case where the aspect ratio of the current image block is greater than 1 described in the above example, or the reordering of the filtered encoded/decoded block motion information in the encoded/decoded block motion information list may be implemented in a reordering manner in the case where the aspect ratio of the current image block is less than 1 described in the above example.
In this embodiment, after classifying the filtered encoded/decoded blocks in the manner described in step S310 and adding the filtered encoded/decoded blocks to the corresponding encoded/decoded block motion information lists according to the classification of the filtered encoded/decoded blocks, the priority levels of the encoded/decoded block motion information lists may be determined separately.
For example, the filtered encoded/decoded block is classified according to the prediction mode of the filtered encoded/decoded block as described in step S310. Since the precision of the motion information of the encoded/decoded block of the AMVP mode is higher than that of the merge mode, it may be determined that the priority of the encoded/decoded block motion information list in which the motion information of the filtered encoded/decoded block whose prediction mode is the AMVP mode is higher than that of the encoded/decoded block motion information list in which the motion information of the filtered encoded/decoded block whose prediction mode is the merge mode is.
In this embodiment, after classifying the filtered encoded/decoded blocks in the manner described in step S310 and adding the filtered encoded/decoded blocks to the corresponding encoded/decoded block motion information list according to the category of the filtered encoded/decoded blocks, when it is necessary to select candidate motion information from the encoded/decoded block motion information list to add to the motion information candidate list of the current image block, the encoded/decoded block motion information list matching the current image block may be determined first, and then candidate motion information from the encoded/decoded block motion information list matching the current image block may be selected to add to the motion information candidate list.
In the embodiment of the present application, for motion information prediction in a merge mode or an AMVP mode, when constructing a coded/decoded block motion information list based on motion information of coded/decoded blocks, the coded/decoded blocks may be classified, and the coded/decoded block motion information lists corresponding to different types of coded/decoded blocks are respectively constructed, so as to improve the accuracy of constructing the coded/decoded block motion information list.
Referring to fig. 4, a flowchart of a motion information candidate list construction method according to an embodiment of the present application is shown, and as shown in fig. 4, the motion information candidate list construction method may include the following steps:
step S400, classifying the encoded/decoded block before the current image block.
Step S410, adding the coded/decoded block into the corresponding coded/decoded block motion information list according to the category of the coded/decoded block; wherein different categories correspond to different lists of encoded/decoded block motion information.
Step S420, selecting candidate motion information from the encoded/decoded block motion information list and adding the candidate motion information into the motion information candidate list of the current image block, where the candidate motion information at least includes a motion vector.
In the embodiment of the present application, specific implementation of classifying the encoded/decoded blocks before the current image block and constructing the encoded/decoded block motion information list corresponding to the encoded/decoded blocks of different types may refer to relevant description in the method flow shown in fig. 3, except that the encoded/decoded blocks classified in the method flow shown in fig. 3 are replaced by the encoded/decoded blocks after screening with the encoded/decoded blocks that are not screened, and a method for classifying the encoded/decoded blocks that are classified is the same as that in step 310, which is not described herein again in the embodiment of the present application.
It should be noted that, in the embodiment of the present application, after the encoded/decoded blocks are classified, when the encoded/decoded block motion information list of the encoded/decoded blocks is constructed, the encoded/decoded blocks of each class may be further respectively screened, and the encoded/decoded block motion information list is constructed based on the screened encoded/decoded blocks, and specific implementation thereof may refer to relevant description in the method flow shown in fig. 3, which is not described herein again in this embodiment of the present application.
In addition, for the constructed multiple different encoded/decoded block motion information lists (including two cases of performing the screening of the encoded/decoded blocks and not performing the screening of the encoded/decoded blocks), the motion information of the encoded/decoded blocks in the encoded/decoded block motion information lists may also be reordered, and the specific implementation thereof may refer to the related description in the method flow shown in fig. 3, which is not described herein again in the embodiments of the present application.
It should be noted that, in this embodiment of the present application, the candidate motion information is not limited to include a motion vector, and may also be other coding information besides the motion vector, and accordingly, the classification of the motion information may also include classification of other coding information besides the motion vector, which is not described in this embodiment of the present application again.
In the embodiment of the present application, for motion information prediction in a merge mode or an AMVP mode, when constructing a coded/decoded block motion information list based on motion information of a coded/decoded block, motion information of the coded/decoded block in the coded/decoded block motion information list may be reordered to ensure that motion information of the coded/decoded block selected as final predicted motion information is ranked ahead in a motion information candidate list as possible, so as to improve coding performance.
Referring to fig. 5, a flowchart of a motion information candidate list construction method according to an embodiment of the present application is shown, and as shown in fig. 5, the motion information candidate list construction method may include the following steps:
step S500, an encoded motion information list is constructed according to the motion information of the encoded/decoded block before the current image block.
In the embodiment of the present application, when constructing the encoded motion information list, motion information of all encoded/decoded blocks may be directly added to the same encoded/decoded block motion information list, or the encoded/decoded blocks may be screened and/or classified first, and then the encoded/decoded block motion information list is constructed based on the screened and/or classified encoded/decoded blocks, and specific implementation thereof is not described herein.
Step S510, reorder the motion information of the encoded/decoded block in the encoded/decoded block motion information list.
Step S520, selecting candidate motion information from the reordered encoded/decoded block motion information list and adding the candidate motion information into a motion information candidate list of the current image block, where the candidate motion information at least includes a motion vector.
In the embodiment of the present application, a specific implementation of reordering the motion information of the coded/decoded block in the coded/decoded block motion information list may refer to related description in the method flow shown in fig. 3, and details of the embodiment of the present application are not described herein.
It should be noted that, in the embodiment of the present application, for the merge mode or the AMVP mode, when constructing the final motion information candidate list, the candidate motion information obtained by transforming the existing motion information may be arranged behind the spatial candidates (if any) and the temporal candidates (if any) in the coded/decoded block motion information list, or when the number of the spatial candidates and the temporal candidates does not meet the requirement, the candidate motion information obtained by transforming the existing motion information may be added to the final motion information candidate list, or the candidate motion information selected from the coded/decoded block motion information list.
Further, if the candidate motion information obtained by transforming the existing motion information is added to the final motion information candidate list, or after the candidate motion information selected from the encoded/decoded block motion information list, the number of the candidate motion information still does not satisfy the requirement, a combination candidate (for merge mode) and zero motion information may be further added to the final motion information candidate list.
It should be noted that, in this embodiment of the present application, the candidate motion information is not limited to include a motion vector, and may also be other coding information besides the motion vector, and accordingly, the sorting of the motion information may also include classifying the other coding information besides the motion vector, which is not described in this embodiment of the present application again
In the embodiment of the present application, for the motion information prediction of the affinity mode, the encoded/decoded block motion information list may also be constructed based on the motion information of the encoded/decoded block, and candidate motion information is selected from the encoded/decoded block motion information list and added to the motion information candidate list of the current image block, so as to increase the richness of candidate samples.
The affinity mode may include an affinity Merge mode or an affinity AMVP mode.
In order to make those skilled in the art better understand the prediction of motion information in the affinity mode, a simple description of a parameter model of the affinity mode is provided below.
Referring to formula (1), a general parameter model of Affinine mode is composed of six parameters a, b, c, d, e and f,
Figure BDA0001807119520000361
where (x, y) is a point on the current frame; (x ', y') is a point on the corresponding reference frame; a, b, c, d, e, f are 6 parameters of the parametric model.
To derive 6 parameters of the parametric model, 3 sets of known (x, y) and (x ', y') pairs, i.e. three motion vectors and the position of the starting point of the motion vector, are needed. Assuming that the three pairs of motion vectors are v0, v1 and v2, the starting points of the three motion vectors are (0, 0), (S, 0) and (0, S), i.e., the coordinates of the upper left corner, the upper right corner and the lower left corner, respectively; wherein S is the side length of the current PU.
Three sets of equations are combined, so that the values of the 6 parameters a, b, c, d, e, f are calculated:
Figure BDA0001807119520000362
substituting it into equation (1) can obtain a motion vector derivation equation under a 6-parameter model as shown in equation (2):
Figure BDA0001807119520000363
in order to simplify the parametric model, the inter-prediction block is divided into several small regions with equal size, the motion speed in each small region (i.e. sub-block) is uniform, and the motion compensation model of each small region is still a plane translation model (the image block only has translation in the image plane, and does not change shape and size, so the description of the motion of the sub-block can still be parameterized as a motion vector).
Because the scale of any two points of the affine object is consistent when the rotation axis of the rotation motion of the object is perpendicular to the image plane (the size of the included angle formed by any two straight lines is kept unchanged). Under the limitation, the affine motion of the 6 parameters a, b, c, d, e and f degenerates to an affine motion model with 4 parameters, that is, there is a certain relationship among the 4 parameters a, b, c and d.
Where only 2 known (x, y) and (x ', y') pairs are needed to derive these 4 parameters.
Let us assume that these two motion vectors are v0 and v1, and the starting points of the two motion vectors are (0, 0) and (S, 0), respectively, i.e. the coordinates of the upper left corner and the upper right corner, respectively. Two sets of equations are combined, so that the values of four parameters a, b, c and d are calculated:
Figure BDA0001807119520000371
substituting the values of the 4 parameters into formula (1) to obtain the motion vector derivation equation under the 4-parameter model shown in formula (3)
Figure BDA0001807119520000372
Referring to fig. 6A, a flowchart of a motion information candidate list construction method according to an embodiment of the present disclosure is shown, and as shown in fig. 6A, the motion information candidate list construction method may include the following steps:
step S600, an encoded/decoded block motion information list is constructed, where the encoded/decoded block motion information list includes motion information of encoded/decoded blocks before the current image block.
In the embodiment of the present application, in order to increase the richness of candidate samples, an encoded/decoded block motion information list may be constructed based on the motion information of the encoded/decoded block, and candidate motion information may be selected from the encoded/decoded block motion information list and added to the motion information candidate list of the current image block.
Step S610, when the prediction mode of the current image block is affinity mode, selecting candidate motion information from the motion information of the encoded/decoded block and adding the candidate motion information into the motion information candidate list of the current image block.
In the embodiment of the present application, for the motion information prediction in the affinity mode, candidate motion information may also be selected from the motion information of the coded/decoded block and added to the motion information candidate list of the current image block, so as to increase the richness of candidate samples for the motion information prediction in the affinity mode.
For the motion information prediction in the affinity mode, the motion information may include a motion vector, a reference frame index, a motion direction, and a parameter model.
Wherein, when the parameter model of the encoded/decoded block is a 4-parameter model, the motion information of the control point of the current image block may be determined according to the motion information of the control points of the encoded/decoded block (including the upper-left control point and the upper-right control point), and the motion information of the control point of the current image block (assumed to be V0 (V0)x0、Vy0And V1 (V)x1、Vy1) Obtaining the motion information of each sub-block of the current image block by using a formula (3); among them, the motion information under the 4-parameter model can represent the angle and the speed of the MV rotating in the plane.
When the parameter model of the encoded/decoded block is a 6-parameter model, the motion information of the control point of the current image block may be determined according to the motion information of the control points of the encoded/decoded block (including the upper-left control point, the upper-right control point, and the lower-left control point), and the motion information of the control point of the current image block (assumed to be V0 (V0)x0、Vy0、)、V1(Vx1、Vy1) And V2 (V)x2、Vy2) Obtaining the motion information of each sub-block of the current image block by using a formula (2); the motion information under the 6-parameter model can represent the rotation angle, speed and direction of the MV in the three-dimensional space.
For example, in the embodiment of the present application, the motion information candidate list constructed for the motion information prediction of the affinity mode may include, in addition to the spatial domain candidates and the zero motion information, candidate motion information selected from the coded/decoded block motion information list, and a schematic diagram of the candidate motion information may be as shown in fig. 6B.
In an embodiment of the present application, the selecting candidate motion information from the motion information of the encoded/decoded block and adding the candidate motion information to the motion information candidate list of the current image block includes:
selecting candidate motion information from the motion information of the coded/decoded block with the prediction mode being the Affinine Merge mode, and adding the candidate motion information into a motion information candidate list of the current image block; or the like, or, alternatively,
candidate motion information is selected from the motion information of the encoded/decoded block with the prediction mode being the affinity AMVP mode and added to the motion information candidate list of the current image block.
In this embodiment, considering that motion information used for prediction of motion information in the affinity mode is different from that used for prediction of motion information in the merge mode or the AMVP mode, for prediction of motion information in the affinity mode, when candidate motion information needs to be selected from motion information of an encoded/decoded block and added to a motion information candidate list of a current image block, candidate motion information may be selected from motion information of an encoded/decoded block whose prediction mode is the affinity mode and added to the motion information candidate list of the current image block.
Correspondingly, in this embodiment, when the prediction mode of the current image block is the affinity mode, candidate motion information may be selected from the motion information of the encoded/decoded block whose prediction mode is the affinity Merge mode and added to the motion information candidate list of the current image block; alternatively, the first and second electrodes may be,
candidate motion information may be selected from motion information of already encoded/decoded blocks whose prediction mode is the affinity AMVP mode and added to the motion information candidate list of the current image block.
It should be noted that, in the embodiment of the present application, for the motion information prediction in the affinity mode, when candidate motion information is selected from the motion information of the coded/decoded block, the candidate motion information is not limited to be selected from the motion information of the coded/decoded block whose prediction mode is the affinity mode, and the motion information of the coded/decoded block in the non-affinity mode may also be selected.
When the selected candidate motion information is the motion information of the encoded/decoded block in the non-affinity mode, the motion information of the upper left corner and the upper right corner of the encoded/decoded block (for the 4-parameter model) or the motion information of the upper left corner, the upper right corner and the lower left corner (for the 6-parameter model) may be used, and the specific implementation thereof is not described herein again.
Further, in the embodiment of the present application, in order to improve the accuracy of constructing the motion information list of the encoded/decoded block, when the motion information list of the encoded/decoded block is constructed based on the encoded/decoded block whose prediction mode is an affinity mode, the encoded/decoded block whose prediction mode is the affinity mode may be classified, and the encoded/decoded block whose prediction mode is the affinity mode may be added to the corresponding motion information list of the encoded/decoded block according to the type of the encoded/decoded block whose prediction mode is the affinity mode.
Wherein different categories correspond to different lists of coded/decoded block motion information.
In one example, when the coded/decoded block with the prediction mode of the affinity mode is classified, the coded/decoded block with the prediction mode of the affinity mode may be classified according to a parameter model of the coded/decoded block with the prediction mode of the affinity mode.
For example, when the parameter model of the encoded/decoded block whose prediction mode is the affinity mode is a 2-parameter model, the encoded/decoded block whose prediction mode is the affinity mode may be divided into a first category;
when the parameter model of the encoded/decoded block whose prediction mode is the affinity mode is the 4-parameter model, the encoded/decoded block whose prediction mode is the affinity mode may be divided into a second category;
when the parameter model of the encoded/decoded block whose prediction mode is the affinity mode is the 6 parameter model, the encoded/decoded block whose prediction mode is the affinity mode may be divided into a third category.
In an embodiment of the present application, the selecting candidate motion information from the motion information of the encoded/decoded block and adding the candidate motion information to the motion information candidate list of the current image block may include:
according to the sequence from high to low of the priority of the coded/decoded block motion information list corresponding to each category, selecting candidate motion information from each coded/decoded block motion information list in turn and adding the candidate motion information into the motion information candidate list of the current image block; wherein different categories correspond to different priorities.
In this embodiment, if the encoded/decoded block whose prediction mode is the affinity mode is classified, and respectively constructs a plurality of encoded/decoded block motion information lists corresponding to different classes, when it is desired to select candidate motion information from the coded/decoded block motion information list to add to the motion information candidate list of the current image block, the candidate motion information may be selected from the encoded/decoded block motion information lists in turn and added to the motion information candidate list of the current image block in the order of the priority of the encoded/decoded block motion information list corresponding to each category from high to low, to ensure that the motion information of the encoded/decoded block with high precision is ranked higher in the motion information candidate list than the motion information of the encoded/decoded block with low precision.
For example, when the encoded/decoded blocks of the affinity mode are classified according to the parameter model of the encoded/decoded blocks of the affinity mode (see the related description in the above embodiment), candidate motion information may be selected from the respective encoded/decoded block motion information lists and added to the motion information candidate List of the current image block in the order of List2 (corresponding to 6 parameter model), List1 (corresponding to 4 parameter model), and List0 (corresponding to 2 parameter model), from first to last.
In another embodiment of the present application, the selecting candidate motion information from the coded/decoded block motion information list and adding the candidate motion information to the motion information candidate list of the current image block may include:
determining a list of encoded/decoded block motion information that matches a current image block;
candidate motion information is selected from a list of encoded/decoded block motion information that matches the current image block and added to a list of motion information candidates for the current image block.
In this embodiment, when it is required to select candidate motion information from the encoded/decoded block motion information list to add to the motion information candidate list of the current image block, the encoded/decoded block motion information list matching the current image block may be determined first, and the candidate motion information may be selected from the encoded/decoded block motion information list matching the current image block to add to the motion information candidate list of the current image block.
For example, when it is required to select candidate motion information from the coded/decoded block motion information list to add to the motion information candidate list of the current image block, the number of spatial candidate blocks of the 2-parameter model, the 4-parameter model, and the 6-parameter model in the spatial candidate block of the current image block may be determined, respectively, and the candidate motion information may be selected from the coded/decoded block motion information list corresponding to the parameter model with the largest number of spatial candidate blocks to add to the motion information candidate list of the current image block.
For example, assuming that the number of spatial candidate blocks of the 4-parameter model in the spatial candidate blocks of the current image block is the largest, candidate motion information may be selected from List1 (corresponding to the 4-parameter model) to be added to the motion information candidate List of the current image block.
As can be seen, in the method flow shown in fig. 6A, for the motion information prediction of the affinity mode, the richness of candidate samples can also be increased by constructing the encoded/decoded block motion information list, and selecting candidate motion information from the encoded/decoded block motion information list to add to the motion information candidate list of the current image block.
It should be noted that, In the embodiment of the present application, when constructing the encoded/decoded block motion information list, the motion information of the encoded/decoded block In the encoded/decoded block motion information list may be updated In a First-In-First-Out (FIFO) manner, that is, when the number of motion information of the encoded/decoded block In the encoded/decoded block motion information list reaches a preset maximum number and motion information of a new encoded/decoded block needs to be added to the encoded/decoded block motion information list, the encoded/decoded block motion information that is added First In the encoded/decoded block motion information list may be deleted, and the motion information of the new encoded/decoded block may be added.
However, it should be appreciated that the above FIFO manner is only a specific implementation manner for updating the motion information of the encoded/decoded block in the encoded/decoded block motion information list, and is not limited to the protection scope of the present application, that is, in the embodiment of the present application, the motion information of the encoded/decoded block in the encoded/decoded block motion information list may also be updated in other manners, and the specific implementation thereof is not described herein again.
In order to enable those skilled in the art to better understand the technical solutions provided by the embodiments of the present application, the technical solutions provided by the embodiments of the present application are described below with reference to specific examples.
Example one
In this embodiment, in order to increase the richness of the candidate sample and improve the flexibility of the motion information candidate selection, when constructing the motion information candidate list, new candidate motion information may be added in a manner of scaling the existing motion information in a specified direction.
The existing motion information may include motion information of spatial candidates, motion information of temporal candidates, and motion information of coded/decoded blocks.
Taking the motion information prediction in the merge mode as an example, when constructing the motion information candidate list, the existing candidate motion information in the motion information candidate list may be scaled in the specified direction on the basis of the existing candidate motion information in the motion information candidate list, so as to obtain new candidate motion information.
That is, for the motion information prediction in the merge mode, the constructed motion information candidate list may include, in addition to spatial domain candidates, temporal domain candidates, combination candidates, and zero motion information, candidate motion information obtained by scaling the existing motion information in a specified direction.
For example, referring to fig. 7A, for a motion vector (mx, my), the motion vector can be scaled along the direction of the motion vector, and the scaled motion vector is (mx + delta _ mv _ x, my + delta _ mv _ y).
Wherein, delta _ mv _ x is the stretching amplitude in the x direction, and delta _ mv _ y is the stretching amplitude in the y direction.
It should be noted that, in the embodiment of the present application, stretching the existing motion information is not limited to stretching along the direction of the motion vector, and may also be stretching along other directions, which is not described in detail in this embodiment of the present application.
Example two
In this embodiment, when scaling the existing motion information, frame-level, slice-level, or line-level scaling may be performed.
Taking the frame level as an example, it can be determined whether motion information existing in a certain frame needs to be scaled and the amplitude when scaling is performed, in units of frames.
When the expansion and contraction amplitude is 0, it can be determined that expansion and contraction are not required.
For example, referring to fig. 7B, for any existing motion information, the magnitude of scaling the existing motion information may be determined according to the frame complexity and the motion intensity of the frame that is previous to the frame to which the existing motion information belongs.
Wherein, the frame complexity and the motion intensity can be represented by the ratio of zero motion vector; the higher the zero motion vector fraction (the ratio of the number of zero motion vectors to the total number of motion vectors in a frame), the lower the frame complexity and the lower the motion intensity; the higher the zero motion vector ratio, the higher the frame complexity and the higher the motion intensity.
The higher the frame complexity is, the higher the motion intensity is, and the larger the stretching amplitude is; the lower the frame complexity, the lower the motion severity, and the smaller the magnitude of the stretch.
As shown in fig. 7B, assuming that the frame complexity of frame 1 is high and the motion is severe, the magnitude of the determined scaling is delta _ mv 0; frame 2 has extremely high frame complexity and extremely severe motion, and the determined magnitude of scaling is delta _ mv 1; frame 3 has low frame complexity and weak motion, the magnitude of the determined scaling is delta _ mv2, delta _ mv2< delta _ mv0< delta mv 1.
EXAMPLE III
In this embodiment, when scaling the existing motion information, block-level scaling may be performed.
For example, referring to fig. 7C, for any block (which may be a spatial candidate block, a temporal candidate block, or an encoded/decoded block), whether scaling is needed and the scaling magnitude can be determined according to the similarity of motion information of neighboring blocks of the block.
When the expansion and contraction amplitude is 0, it can be determined that expansion and contraction are not required.
The higher the similarity of the motion information of the adjacent blocks is, the smaller the determined expansion and contraction amplitude is; the lower the similarity of the motion information of the neighboring blocks, the larger the magnitude of the determined scaling.
As shown in fig. 7C, assuming that the similarity of adjacent blocks at different positions of the data block 1 is extremely low, the magnitude of the determined scaling is delta _ mv 0; the similarity of adjacent blocks at different positions of the data block 2 is low, and the amplitude of the determined expansion is delta _ mv 1; the similarity of the neighboring blocks at different positions of the data block 3 is high, the magnitude of the determined scaling is delta _ mv2, delta _ mv2< delta _ mv1< delta mv 0.
Example four
In this embodiment, in order to increase the richness of the candidate sample and improve the flexibility of the motion information candidate selection, when constructing the motion information candidate list, new candidate motion information may be added by weighting the existing motion information.
The existing motion information may include motion information of spatial candidates, motion information of temporal candidates, and motion information of coded/decoded blocks.
When weighting the existing motion information, the weighting proportion of each existing motion information may be adaptively adjusted according to the characteristics of the source block (which may include a spatial candidate block, a temporal candidate block, or an encoded/decoded block) of the existing motion information.
For example, assume that a source block a and a source block B having motion information both refer to the same frame, and the motion vector of the source block a (amx, amy) and the motion vector of the source block B are (bmx, bmy). When the weighting factor of the source block a is W0 and the weighting factor of the source block B is W1, the weighted motion vectors are (Mv _ x, Mv _ y). Wherein:
Mv_x=W0*amv_x+W1*bmv_x;
Mv_y=W0*amv_x+W1*bmv_x。
EXAMPLE five
In this embodiment, in order to increase the richness of candidate samples, the encoded/decoded block motion information list may be constructed based on the motion information of the encoded/decoded block, and candidate motion information may be selected from the encoded/decoded block motion information list and added to the motion information candidate list of the current image block.
In order to improve the accuracy of constructing the encoded/decoded block motion information list, when constructing the encoded/decoded block motion information list, the encoded/decoded blocks may be first filtered, and the encoded/decoded block motion information list may be constructed based on the motion information of the filtered encoded/decoded blocks.
In this embodiment, considering that the number of non-zero coefficients in the residual coefficients of the encoded/decoded block intuitively represents the accuracy of prediction, the encoded/decoded block may be filtered based on the number of non-zero coefficients in the residual coefficients of the encoded/decoded block to remove the encoded/decoded block with too low prediction accuracy.
Referring to fig. 7D, for any encoded/decoded block, when the encoded/decoded block is added to the encoded/decoded block motion information list, it may be determined whether the number of non-zero coefficients in the residual coefficients of the encoded/decoded block is greater than or equal to a predetermined number threshold; if yes, refusing to add the motion information of the coded/decoded block into a coded/decoded block motion information list; otherwise, the motion information of the encoded/decoded block is added to the encoded/decoded block motion information list.
EXAMPLE six
In this embodiment, considering that when the width and height of the encoded/decoded block are both too large, the probability that the motion information of the encoded/decoded block is selected as the final predicted motion information is too low, the encoded/decoded block may be filtered based on the width and height of the encoded/decoded block to reject the encoded/decoded block whose probability that the motion information is selected as the final predicted motion information is too low.
Referring to fig. 7E, for any encoded/decoded block, when the encoded/decoded block is added to the encoded/decoded block motion information list, it can be determined whether the width of the encoded/decoded block is greater than or equal to a first predetermined threshold (for example, 64) and the height of the encoded/decoded block is greater than or equal to a second predetermined threshold (for example, 64); if the width of the coded/decoded block is greater than or equal to 64 and the height is greater than or equal to 64, rejecting to add the motion information of the coded/decoded block to a coded/decoded block motion information list; if not (the coded/decoded block is less than 64 a wide and/or less than 64 a high), the motion information of the coded/decoded block is added to the coded/decoded block motion information list.
EXAMPLE seven
In this embodiment, considering that the quantization step size of the encoded/decoded block can intuitively reflect the precision of the motion information of the encoded/decoded block, the encoded/decoded block may be filtered based on the quantization step size of the motion information of the encoded/decoded block to reject the motion information of the encoded/decoded block with too low precision.
Referring to fig. 7F, for any encoded/decoded block, when the encoded/decoded block is added to the encoded/decoded block motion information list, it can be determined whether the quantization step size of the motion information of the encoded/decoded block is greater than or equal to a preset step size threshold (for example, 2); if yes, refusing to add the motion information of the coded/decoded block into a coded/decoded block motion information list; otherwise, the motion information of the encoded/decoded block is added to the encoded/decoded block motion information list.
Example eight
In this embodiment, in order to improve the accuracy of the encoded/decoded block motion information list construction, when constructing the encoded/decoded block motion information list, the encoded/decoded blocks may be classified first, and different types of encoded/decoded blocks may be added to different encoded/decoded block motion information lists.
In this embodiment, it is exemplified that the encoded/decoded block is classified according to the shape of the encoded/decoded block.
Referring to fig. 7G, for any coded/decoded block, when the coded/decoded block is added to the coded/decoded block motion information List, the shape of the coded/decoded block may be determined (for example, the aspect ratio), and when the aspect ratio of the coded/decoded block is greater than or equal to 1, the motion information of the coded/decoded block is added to the coded/decoded block motion information List1 (may be referred to as List 0); when the aspect ratio of the encoded/decoded block is less than 1, the motion information of the encoded/decoded block is added to the encoded/decoded block motion information list2 (may be referred to as list 1).
In this embodiment, when it is required to select candidate motion information from the encoded/decoded block motion information list to add to the motion information candidate list of the current image block, a matching encoded motion information list may be determined according to the shape of the current image block, and candidate motion information may be selected from the matching encoded/decoded block motion information list to add to the motion information candidate list of the current image block.
Referring to fig. 7H, when it is required to select candidate motion information from the motion information List of the encoded/decoded block to add to the motion information candidate List of the current image block, so as to determine the aspect ratio of the current image block, if the aspect ratio of the current image block is greater than or equal to 1, then select candidate motion information from the List0 to add to the motion information candidate List of the current image block; if the aspect ratio of the current image block is smaller than 1, candidate motion information is selected from the List1 and added to the motion information candidate List of the current image block.
Example nine
In this embodiment, the encoded/decoded blocks may be classified according to their size (e.g., product of width and height).
Referring to fig. 7I, for any encoded/decoded block, when the encoded/decoded block is added to the encoded/decoded block motion information List, the product of the width and the height of the encoded/decoded block is determined, and it is determined whether the product of the width and the height of the encoded/decoded block is greater than or equal to a predetermined threshold (e.g., 2048), if so, the motion information of the encoded/decoded block is added to the encoded/decoded block motion information List1 (may be referred to as List 0); otherwise, the motion information of the encoded/decoded block is added to the encoded/decoded block motion information list2 (may be referred to as list 1).
In this embodiment, when it is necessary to select candidate motion information from the coded/decoded block motion information list to add to the motion information candidate list of the current image block, the candidate motion information may be selected from the respective coded/decoded block motion information lists in order of priority from high to low to add to the motion information candidate list of the current image block.
In this embodiment, the List1 has a higher priority than the List0, and thus, when it is required to select candidate motion information from the coded/decoded block motion information List to be added to the motion information candidate List of the current image block, candidate motion information may be selected from the List1 and the List0 in the order of the first List1 and the second List0 to be added to the motion information candidate List of the current image block.
Example ten
In this embodiment, the coded/decoded blocks may be classified according to their prediction modes.
Referring to fig. 7J, for any coded/decoded block, when the coded/decoded block is added to the coded/decoded block motion information List, the prediction mode of the coded/decoded block may be determined, and when the prediction mode of the coded/decoded block is the merge mode, the motion information of the coded/decoded block is added to the coded/decoded block motion information List1 (may be referred to as List 0); when the prediction mode of the encoded/decoded block is the AMVP mode, the motion information of the encoded/decoded block is added to the encoded/decoded block motion information list2 (may be referred to as list 1).
In this embodiment, when it is necessary to select candidate motion information from the coded/decoded block motion information list to add to the motion information candidate list of the current image block, the candidate motion information may be selected from the respective coded/decoded block motion information lists in order of priority from high to low to add to the motion information candidate list of the current image block.
In this embodiment, the List1 has a higher priority than the List0, and thus, when it is required to select candidate motion information from the coded/decoded block motion information List to be added to the motion information candidate List of the current image block, candidate motion information may be selected from the List1 and the List0 in the order of the first List1 and the second List0 to be added to the motion information candidate List of the current image block.
EXAMPLE eleven
In this embodiment, in order to order candidate motion information selected as final predicted motion information as early as possible in the motion information candidate list to improve encoding performance, the motion information of the encoded/decoded blocks in the encoded/decoded block motion information list may be reordered after the encoded/decoded block motion information list is constructed based on the motion information of the encoded/decoded blocks.
In this embodiment, the motion information of the encoded/decoded block in the encoded/decoded block motion information list may be reordered based on the residual coefficients of the encoded/decoded block.
For example, for the motion information of the encoded/decoded block in the encoded/decoded block motion information list, the motion information of the encoded/decoded block may be reordered in order of the number of non-zero coefficients of the residual coefficients from the top to the bottom.
For example, referring to fig. 7K, it is assumed that non-zero number of residual coefficients of Motion information (assumed as HMVP (Motion-based Motion Vector Prediction) 2) of the encoded/decoded block 3 is less than non-zero number of residual coefficients of Motion information (assumed as HMVP3) of the encoded/decoded block 4, and thus, the HMVP2 may be arranged behind the HMVP 3.
Wherein, when selecting candidate motion information from the coded/decoded block motion information list and adding the candidate motion information to the motion information candidate list of the current image block, the candidate motion information is selected in the order from the tail to the head of the list (i.e., the candidate motion information is selected first the further the order is).
Example twelve
In this embodiment, the motion information of the encoded/decoded block may be reordered based on the shape of the current image block and the relative positions of the encoded/decoded block and the current image block.
For example, referring to fig. 7L, assume that the encoded/decoded block a is an encoded/decoded block to the left of the current image block; the encoded/decoded block B is an encoded/decoded block on the upper side of the current image block, then:
1) when the aspect ratio of the current image block is greater than or equal to 1, the motion information of the encoded/decoded block a may be arranged in front of the motion information of the encoded/decoded block B;
2) when the aspect ratio of the current image block is less than 1, the motion information of the encoded/decoded block a may be arranged behind the motion information of the encoded/decoded block B.
EXAMPLE thirteen
In this embodiment, for the motion information prediction in the affinity mode (including affinity target mode or affinity AMVP mode), in order to increase the richness of candidate samples, an encoded/decoded block motion information list may also be constructed based on the motion information of the encoded/decoded block, and candidate motion information is selected from the encoded/decoded block motion information list and added to the motion information candidate list of the current image block.
In this embodiment, Motion parameter model (Motion model) information of the encoded/decoded block in the affinity mode may be stored as a candidate list (i.e., a Motion information list of the encoded/decoded block), the length of the list is L, and a list member (Motion model information list, abbreviated as MMIC) may be updated in a FIFO manner or in another manner, as shown in fig. 7M.
When constructing the motion information candidate list of the Affine mode block, candidate motion information (which may also be referred to as candidate motion parameter model information in this embodiment) may be selected from the encoded/decoded block motion information list.
Example fourteen
In this embodiment, for the motion information prediction of the affinity mode, when constructing the encoded/decoded block motion information list, the encoded/decoded blocks of the affinity mode may be classified according to the parameter model of the encoded/decoded blocks of the affinity mode, and the encoded/decoded blocks of the affinity modes of different classes are added to different encoded/decoded block motion information lists.
For example, referring to fig. 7N, for an encoded/decoded block of any affinity mode, when the parameter model of the encoded/decoded block of the affinity mode is a 2-parameter model, adding the motion parameter model information of the encoded/decoded block of the affinity mode to an encoded/decoded block motion information List1 (which may be referred to as List 0); when the parameter model of the coded/decoded block in the affinity mode is a 4-parameter model, adding the motion parameter model information of the coded/decoded block in the affinity mode into a coded/decoded block motion information List2 (which may be called List 1); when the parameter model of the coded/decoded block in the affinity mode is the 6 parameter model, the motion parameter model information of the coded/decoded block in the affinity mode is added to the coded/decoded block motion information List 3 (which may be referred to as List 2).
In this embodiment, when candidate motion information needs to be selected from the motion information list of the encoded/decoded block and added to the motion information candidate list of the current image block, the candidate motion information may be selected from the motion information list of the encoded/decoded block matched with the current image block, or the candidate motion information may be selected from the motion information lists of the encoded/decoded blocks in sequence according to the order of priority of the motion information lists of the encoded/decoded blocks from high to low, and the specific implementation thereof may refer to the related description in the method flow shown in fig. 6, which is not described herein again in the embodiments of the present application.
Example fifteen
In this embodiment, considering that the coded/decoded block motion information list has a limited length (assuming a length of L1), the coded/decoded block motion information list usually only includes the motion information of each coded/decoded block in the CTU to the left of the CTU to which the current image block belongs, and the motion information of other coded/decoded blocks adjacent to the current image block but in a coding order much earlier than the current image block (e.g., the coded/decoded block on the upper side of the current image block) is not in the motion information list.
To address this problem, in this embodiment, in addition to the encoded/decoded block motion information list being constructed in the manner described in the above-described embodiment, motion information of each encoded/decoded block in CTUs in rows above the CTU to which the current image block belongs may be stored, and when constructing the motion information candidate list, candidate motion information may be selected from motion information of each encoded/decoded block in CTUs in rows above the CTU to which the current image block belongs.
For example, referring to fig. 7O, the motion information of each encoded/decoded block in the row of CTUs above the CTU to which the current image block belongs may be stored, wherein, for any CTU, the number of the stored motion information of each encoded/decoded block in the CTU does not exceed L2 (L1 and L2 may be the same or different). Wherein the motion information of each encoded/decoded block within the CTU may be stored in its encoding order.
When constructing the motion information candidate list, the candidate motion information can be selected from the motion information of each encoded/decoded block in the CTU directly above the CTU to which the current image block belongs, further increasing the richness of candidate samples.
The methods provided herein are described above. The following describes the apparatus provided in the present application:
please refer to fig. 8, which is a schematic diagram illustrating a hardware structure of an apparatus for constructing a motion information candidate list according to an embodiment of the present disclosure. The motion information candidate list construction means may comprise a processor 801, a communication interface 802, a memory 803 and a communication bus 804. The processor 801, the communication interface 802, and the memory 803 communicate with each other via a communication bus 804. Among them, the memory 803 stores a computer program; the processor 801 may implement the motion information candidate list construction method corresponding to fig. 2A, fig. 3, fig. 4, fig. 5, or fig. 6A by executing a program stored in the memory 803.
The memory 803 referred to herein may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and the like. For example, the memory 802 may be: a RAM (random Access Memory), a volatile Memory, a non-volatile Memory, a flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, a dvd, etc.), or similar storage medium, or a combination thereof.
It should be noted that, in the embodiment of the present application, the motion information candidate list constructing apparatus may be an encoding-side device, and may also be a decoding-side device.
The embodiment of the present application also provides a machine-readable storage medium, such as the memory 803 in fig. 8, storing a computer program, which can be executed by the processor 801 in the motion information candidate list construction apparatus shown in fig. 8 to execute the motion information candidate list construction method corresponding to fig. 2A, fig. 3, fig. 4, fig. 5, or fig. 6A.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims (5)

1. A motion information candidate list construction method is applied to an encoding end device or a decoding end device, and is characterized by comprising the following steps:
acquiring existing motion information of a current image block, wherein the existing motion information at least comprises a motion vector;
transforming the existing motion information;
adding the transformed motion information serving as candidate motion information into a motion information candidate list of the current image block;
wherein the transforming the existing motion information comprises:
determining the expansion amplitude of the existing motion information in the specified direction according to the similarity of the motion information of the adjacent space blocks at different positions of the current image block;
and stretching the existing motion information in the specified direction according to the amplitude.
2. The method of claim 1, wherein transforming the existing motion information further comprises:
weighting the existing motion information.
3. Method according to claim 1 or 2, wherein said existing motion information comprises motion information of spatial candidates, motion information of temporal candidates and/or motion information of coded/decoded blocks associated with said current image block.
4. A motion candidate list construction device is characterized by comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory are communicated with each other through the communication bus;
a memory for storing a computer program;
a processor for implementing the method steps of any of claims 1 to 3 when executing a program stored in the memory.
5. A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, which computer program, when being executed by a processor, carries out the method steps of any one of the claims 1-3.
CN201811102877.6A 2018-09-20 2018-09-20 Motion information candidate list construction method and device and readable storage medium Active CN110933439B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811102877.6A CN110933439B (en) 2018-09-20 2018-09-20 Motion information candidate list construction method and device and readable storage medium
PCT/CN2019/106473 WO2020057556A1 (en) 2018-09-20 2019-09-18 Method and apparatus for constructing motion information candidate list, and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811102877.6A CN110933439B (en) 2018-09-20 2018-09-20 Motion information candidate list construction method and device and readable storage medium

Publications (2)

Publication Number Publication Date
CN110933439A CN110933439A (en) 2020-03-27
CN110933439B true CN110933439B (en) 2022-05-31

Family

ID=69855583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811102877.6A Active CN110933439B (en) 2018-09-20 2018-09-20 Motion information candidate list construction method and device and readable storage medium

Country Status (2)

Country Link
CN (1) CN110933439B (en)
WO (1) WO2020057556A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698506B (en) 2019-03-11 2022-04-26 杭州海康威视数字技术股份有限公司 Motion information candidate list construction method, triangle prediction decoding method and device
CN112073735B (en) * 2020-11-16 2021-02-02 北京世纪好未来教育科技有限公司 Video information processing method and device, electronic equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257630A (en) * 2008-03-25 2008-09-03 浙江大学 Video frequency coding method and device combining with three-dimensional filtering
CN102714736A (en) * 2010-01-19 2012-10-03 三星电子株式会社 Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
CN102934434A (en) * 2010-07-12 2013-02-13 联发科技股份有限公司 Method and apparatus of temporal motion vector prediction
CN103430547A (en) * 2011-03-08 2013-12-04 Jvc建伍株式会社 Video encoding device, video encoding method, video encoding program, video decoding device, video decoding method, and video decoding program
WO2017157259A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Method and apparatus of video coding with affine motion compensation
WO2017209455A2 (en) * 2016-05-28 2017-12-07 세종대학교 산학협력단 Method and apparatus for encoding or decoding video signal
CN108141588A (en) * 2015-09-24 2018-06-08 Lg电子株式会社 inter-frame prediction method and device in image encoding system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097117A1 (en) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257630A (en) * 2008-03-25 2008-09-03 浙江大学 Video frequency coding method and device combining with three-dimensional filtering
CN102714736A (en) * 2010-01-19 2012-10-03 三星电子株式会社 Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
CN102934434A (en) * 2010-07-12 2013-02-13 联发科技股份有限公司 Method and apparatus of temporal motion vector prediction
CN103430547A (en) * 2011-03-08 2013-12-04 Jvc建伍株式会社 Video encoding device, video encoding method, video encoding program, video decoding device, video decoding method, and video decoding program
CN108141588A (en) * 2015-09-24 2018-06-08 Lg电子株式会社 inter-frame prediction method and device in image encoding system
WO2017157259A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Method and apparatus of video coding with affine motion compensation
WO2017209455A2 (en) * 2016-05-28 2017-12-07 세종대학교 산학협력단 Method and apparatus for encoding or decoding video signal

Also Published As

Publication number Publication date
CN110933439A (en) 2020-03-27
WO2020057556A1 (en) 2020-03-26

Similar Documents

Publication Publication Date Title
US11750818B2 (en) Inter-prediction mode based image processing method, and apparatus therefor
TWI736903B (en) Asymmetric weighted bi-predictive merges
US20230106821A1 (en) Method and device for image encoding/decoding on basis of asymmetric sub-block
CN113261290B (en) Motion prediction based on modification history
CN113170112A (en) Construction method for inter-frame prediction with geometric partitioning
CN111919449A (en) Video signal processing method and apparatus using motion compensation
CN110740327B (en) Method, device and readable medium for processing video data
CN112369021A (en) Image encoding/decoding method and apparatus for throughput enhancement and recording medium storing bitstream
CN111656783A (en) Method and apparatus for video signal processing using sub-block based motion compensation
CN111031317B (en) Encoding and decoding method, device and equipment
US20210021861A1 (en) Method and apparatus for processing video signal
CN110677678B (en) Shape dependent inter-frame coding
CN113454990A (en) Inter-frame prediction coding and decoding method and device
CN110933439B (en) Motion information candidate list construction method and device and readable storage medium
CN110662076A (en) Boundary enhancement of sub-blocks
CN110662072A (en) Motion information candidate list construction method and device and readable storage medium
CN110876063A (en) Fast coding method for interleaving prediction
US20200336747A1 (en) Inter prediction mode-based image processing method and device therefor
CN110876064B (en) Partially interleaved prediction
CN110557639B (en) Application of interleaved prediction
US20230388529A1 (en) Method and apparatus for temporal interpolated prediction in video bitstream
US20230388484A1 (en) Method and apparatus for asymmetric blending of predictions of partitioned pictures

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant