CN115348442A - Motion information determination method, device and equipment - Google Patents

Motion information determination method, device and equipment Download PDF

Info

Publication number
CN115348442A
CN115348442A CN202210922647.4A CN202210922647A CN115348442A CN 115348442 A CN115348442 A CN 115348442A CN 202210922647 A CN202210922647 A CN 202210922647A CN 115348442 A CN115348442 A CN 115348442A
Authority
CN
China
Prior art keywords
motion information
prediction mode
block
image block
current image
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.)
Pending
Application number
CN202210922647.4A
Other languages
Chinese (zh)
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 CN202210922647.4A priority Critical patent/CN115348442A/en
Publication of CN115348442A publication Critical patent/CN115348442A/en
Pending legal-status Critical Current

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/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
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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

Abstract

The application provides a motion information determination method and equipment thereof, wherein the method comprises the following steps: creating a motion information prediction mode candidate list of a current image block; wherein the motion information prediction mode candidate list comprises at least one motion information prediction mode; selecting a motion information prediction mode from the motion information prediction mode candidate list, and determining the selected motion information prediction mode as a target motion information prediction mode of the current image block; and determining the target motion information of the current image block according to the target motion information prediction mode. By the technical scheme, bit overhead caused by subblock division is effectively solved, so that coding performance is improved, and a large number of bits can be saved.

Description

Motion information determination method, device and equipment
Technical Field
The present application relates to the field of encoding and decoding technologies, and in particular, to a method and an apparatus for determining motion information.
Background
In order to achieve the purpose of saving space, video images are transmitted after being encoded, and the complete video encoding method can include the processes of prediction, transformation, quantization, entropy encoding, filtering and the like. The predictive coding comprises intra-frame coding and inter-frame coding, wherein the inter-frame coding is to use the correlation of a video time domain and use the pixels adjacent to a coded image to predict the pixels of a current image so as to achieve the aim of effectively removing the video time domain redundancy.
In inter-frame coding, a Motion Vector (MV) may be used to represent a relative displacement between a current image block of a current frame video image and a reference image block of a reference frame video image. For example, when the video image a of the current frame and the video image B of the reference frame have a strong temporal correlation, and an image block A1 (current image block) of the video image a needs to be transmitted, a motion search may be performed in the video image B to find an image block B1 (i.e., reference image block) that best matches the image block A1, and determine a relative displacement between the image block A1 and the image block B1, where the relative displacement is a motion vector of the image block A1.
In the prior art, a current coding unit does not need to be divided into blocks, and only one piece of motion information can be determined for the current coding unit by indicating a motion information index or a difference information index.
All subblocks inside the current coding unit share one motion information, so that for some moving objects which are small, the best motion information can be obtained only after the coding unit is subjected to block division. If the current coding unit is divided into a plurality of sub-blocks, additional bit overhead is generated.
Disclosure of Invention
The application provides a motion information determination method and equipment thereof, which can save a large number of bits.
The application provides a motion information determination method, which is applied to a decoding end and comprises the following steps:
creating a motion information prediction mode candidate list of a current image block; wherein the motion information prediction mode candidate list comprises at least one motion information prediction mode;
selecting a motion information prediction mode from the motion information prediction mode candidate list, and determining the selected motion information prediction mode as a target motion information prediction mode of the current image block;
and determining the target motion information of the current image block according to the target motion information prediction mode.
The application provides a motion information determination method, which is applied to a coding end and comprises the following steps:
creating a motion information prediction mode candidate list of a current image block; wherein the motion information prediction mode candidate list comprises at least one motion information prediction mode;
and selecting a motion information prediction mode from the motion information prediction mode candidate list, and determining the selected motion information prediction mode as a target motion information prediction mode of the current image block.
The application provides a decoding method, which is applied to a decoding end and comprises the following steps:
creating a motion information prediction mode candidate list of a current image block; wherein the motion information prediction mode candidate list comprises at least one motion information prediction mode;
selecting a motion information prediction mode from the motion information prediction mode candidate list, and determining the selected motion information prediction mode as a target motion information prediction mode of the current image block;
determining target motion information of the current image block according to the target motion information prediction mode;
decoding the received encoded bitstream according to the object motion information.
The application provides a coding method, which is applied to a coding end and comprises the following steps:
creating a motion information prediction mode candidate list of a current image block; wherein the motion information prediction mode candidate list comprises at least one motion information prediction mode;
selecting a motion information prediction mode from the motion information prediction mode candidate list, and determining the selected motion information prediction mode as a target motion information prediction mode of the current image block;
and coding the bit stream according to the target motion information prediction mode to obtain a coded bit stream.
The application provides a decoding side device, including: a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor; the processor is configured to execute machine executable instructions to implement the motion information determination method steps described above.
The application provides a coding end device, including: a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor; the processor is configured to execute machine executable instructions to implement the prediction mode determination method steps described above.
According to the technical scheme, the target motion information prediction mode of the current image block can be determined, the target motion information of the current image block is determined according to the target motion information prediction mode, the current image block does not need to be divided, bit overhead caused by sub-block division is effectively solved, motion information is provided for each designated area of the current image block on the basis that the current image block is not subjected to sub-block division, different designated areas of the current image block can correspond to the same or different motion information, coding performance is improved, the problem of transmitting a large number of motion vectors is solved, and a large number of bits can be saved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments of the present application or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art according to the drawings of the embodiments of the present application.
FIG. 1 is a schematic diagram of a video coding framework in one embodiment of the present application;
FIGS. 2A and 2B are schematic diagrams of the partitioning in one embodiment of the present application;
FIGS. 3A and 3B are schematic diagrams of Merge and AMVP mode processing;
FIG. 4 is a schematic diagram of an application scenario in an embodiment of the present application;
FIG. 5 is a flow diagram of a motion information determination method in one embodiment of the present application;
FIG. 6 is a flow diagram of a prediction mode determination method in one embodiment of the present application;
FIG. 7 is a flow diagram of a motion information determination method in one embodiment of the present application;
FIGS. 8A-8D are schematic diagrams of a matching block in one embodiment of the present application;
FIGS. 9A-9G are schematic diagrams of a matching block in one embodiment of the present application;
fig. 10 and 11 are process flow diagrams of an encoding side and a decoding side;
fig. 12 is a block diagram of a motion information determination device according to an embodiment of the present application;
fig. 13 is a block diagram of a prediction mode determination device according to an embodiment of the present application;
fig. 14 is a hardware configuration diagram of a decoding-side device according to an embodiment of the present application;
fig. 15 is a hardware configuration diagram of an encoding end device according to an embodiment of the present application.
Detailed Description
The terminology used in the embodiments of the present application 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 claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein is meant to encompass any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used in the embodiments of the present application to describe various information, the information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the present application. Depending on the context, moreover, the word "if" is used may be interpreted as "at … …" or "at … …" or "in response to a determination".
The embodiment of the application provides a method for determining motion information and determining a prediction mode, which relates to the following concepts:
motion Vector (MV): in inter-frame coding, a motion vector is used to represent a relative displacement between a current image block of a current frame video image and a reference image block of a reference frame video image, for example, a video image a of the current frame and a video image B of the reference frame have strong temporal correlation, when an image block A1 (current image block) of the video image a is transmitted, a motion search may be performed in the video image B to find an image block B1 (reference image block) that best matches the image block A1, and a relative displacement between the image block A1 and the image block B1, that is, a motion vector of the image block A1, is determined. Wherein each divided image block has a corresponding motion vector transmitted to a decoding side, and considerable bits are consumed if the motion vector of each image block is independently encoded and transmitted, especially divided into a large number of image blocks of small size. In order to reduce the bit number used for encoding the motion vector, the spatial correlation between adjacent image blocks can be utilized, the motion vector of the current image block to be encoded is predicted according to the motion vector of the adjacent encoded image block, and then the prediction difference is encoded, so that the bit number representing the motion vector can be effectively reduced.
Further, in the process of encoding the Motion Vector of the current image block, the Motion Vector of the current macroblock may be predicted by using the Motion vectors of the neighboring encoded image blocks, and then the Difference (MVD) between the predicted value (MVP) of the Motion Vector and the true estimate of the Motion Vector may be encoded, so as to effectively reduce the number of encoding bits of the Motion Vector.
Motion Information (Motion Information): since the motion vector indicates the position offset of the current image block from a certain reference image block, in order to accurately acquire information pointing to the image block, index information of the reference frame image is required in addition to the motion vector to indicate which reference frame image is used. In the video coding technology, for a current frame image, a reference frame image list may be generally established, and the reference frame image index information indicates that the current image block adopts the several reference frame images in the reference frame image list. In addition, many coding techniques also support multiple reference picture lists, and therefore, an index value, which may be referred to as a reference direction, may also be used to indicate which reference picture list is used. In the video encoding technology, motion-related information such as a motion vector, a reference frame index, and a reference direction may be collectively referred to as motion information.
Rate-Distortion principle (Rate-Distortion Optimized): there are two major indicators for evaluating coding efficiency: code rate and Peak Signal to Noise Ratio (PSNR), the smaller the bit stream, the larger the compression rate, and the larger the PSNR, the better the reconstructed image quality, and in the mode selection, the discrimination formula is essentially the comprehensive evaluation of the two. For example, the cost for a mode: j (mode) = D + λ R, where D represents Distortion, which can be generally measured using SSE index, where SSE refers to the mean square sum of the differences between the reconstructed image block and the source image; and λ is a lagrange multiplier, and R is the actual number of bits required for encoding the image block in the mode, including the sum of bits required for encoding mode information, motion information, residual errors and the like.
Intra and inter prediction (intra and inter) techniques: the intra-frame prediction refers to performing predictive coding by using reconstructed pixel values of spatial adjacent image blocks of a current image block (i.e., the image blocks are in the same frame as the current image block), and the inter-frame prediction refers to performing predictive coding by using reconstructed pixel values of temporal adjacent image blocks of the current image block (i.e., the image blocks are in different frames from the current image block).
CTUs (Coding Tree units) are the largest Coding Unit supported by the Coding end and the largest decoding Unit supported by the decoding end. Further, a frame of picture may be divided into several disjoint CTUs, and each CTU then determines whether to divide it further into smaller blocks based on the actual situation.
Before the technical scheme of the embodiment of the application is introduced, the following basic knowledge is briefly introduced:
referring to fig. 1, a schematic diagram of a video encoding framework is shown, where the encoding-side processing flow of the embodiment of the present application can be implemented by using the video encoding framework, and in addition, the schematic diagram of the video decoding framework is similar to that of fig. 1, and is not described herein again, and the decoding-side processing flow of the embodiment of the present application can be implemented by using the video decoding framework.
Specifically, the video encoding framework and the video decoding framework may include intra prediction, motion estimation/motion compensation, reference image buffer, in-loop filtering, reconstruction, transformation, quantization, inverse transformation, inverse quantization, entropy encoder, and other modules. At the encoding end, the processing flow at the encoding end can be realized through the matching among the modules, and at the decoding end, the processing flow at the decoding end can be realized through the matching among the modules.
In the image block partitioning technique, one CTU (Coding Tree Unit) may be recursively partitioned into CUs (Coding units) using a quadtree, and the CUs may be further partitioned into two or four PUs (Prediction units). After prediction is completed and residual information is obtained, a CU may be further divided into TUs (Transform Units) in four branches.
The partitioning of image blocks in a VVC (Universal Video Coding) is greatly changed, a binary tree/ternary tree/quaternary tree partitioning structure is mixed, namely concepts of CU, PU and TU are cancelled, a more flexible partitioning mode of the CU is supported, the CU can be divided into squares or rectangles, the CTU firstly performs the quaternary tree partitioning, and then leaf nodes of the quaternary tree partitioning perform the binary tree and ternary tree partitioning.
Referring to fig. 2A, a CU may have five partition types, which are quadtree partition, horizontal binary tree partition, vertical binary tree partition, horizontal ternary tree partition, vertical ternary tree partition, and the like. Further, as shown in fig. 2B, the partition of a CU within a CTU may be any combination of the above five partition types.
Brief introduction of Merge mode: in the inter-frame prediction module, because the video has strong time-domain correlation, even if two adjacent frame images in the time domain have many similar image blocks, the image block of the current frame is often subjected to motion search in the adjacent reference image, and the block most matched with the current image block is found as the reference image block. Because the similarity between the reference image block and the current image block is high and the difference between the reference image block and the current image block is very small, the code rate overhead of coding the difference is usually much smaller than the code rate overhead brought by directly coding the pixel value of the current image block.
In order to represent the position of a reference image block which is most matched with a current image block, a lot of motion information needs to be encoded and transmitted to a decoding end, so that the decoding end can know the position of the reference image block, and the motion information, especially a motion vector, needs to consume a very large code rate for encoding and transmitting. In order to save the rate overhead of this part, an encoding mode that can save motion information relatively, i.e. a Merge mode, is currently designed.
In the Merge mode, the motion information of the current image block completely multiplexes the motion information of some neighboring block in the time domain or the space domain, that is, one motion information is selected from the motion information sets of a plurality of surrounding image blocks as the motion information of the current image block. Therefore, in the Merge mode, only one index value needs to be encoded to indicate which motion information in the motion information set is used by the current image block, so that the encoding overhead is saved.
Brief introduction to AMVP (Advanced Motion Vector Prediction) mode: the AMVP mode is similar to the Merge mode, the spatial domain and the temporal domain motion information prediction ideas are used, a candidate motion information list is established, and an optimal candidate is selected as the motion information of the current image block through rate distortion cost. The main differences between AMVP mode and Merge mode are: in the Merge mode, the MV of the current unit is directly predicted by the prediction unit adjacent in the spatial domain or the temporal domain, and there is no Motion Vector Difference (MVD), while AMVP can be regarded as an MV prediction technique, and the encoder only needs to encode the Difference between the actual MV and the predicted MV, and thus there is an MVD. The length of the candidate MV queue is different, and the mode of constructing the MV list is also different.
Although the Merge mode can greatly save the coding overhead of the motion information, and the AMVP mode can improve the prediction accuracy of the motion information, if the current coding unit is not divided, the current coding unit has only one motion information, and the prediction accuracy is not very high. For example, referring to fig. 3A, the area C, the area G, and the area H are areas within the current coding unit, and are not divided sub image blocks. Assuming that the current coding unit uses the motion information of the image block F, each area in the current coding unit uses the motion information of the image block F, obviously, since the area H in the current coding unit is far away from the image block F, if the area H also uses the motion information of the image block F, the prediction accuracy of the motion information is not very high.
If the current coding unit is divided in the division manner shown in fig. 2A or fig. 2B, a plurality of sub image blocks may be obtained, for example, as shown in fig. 3B, the sub image block C, the sub image block G, the sub image block H, and the sub image block I are sub image blocks divided in the current coding unit. Obviously, since the current coding unit is divided, additional bits are required to be consumed to transmit the division mode, which brings a certain bit overhead.
Based on the working principle of the Merge mode and the AMVP mode, the motion information of part of sub image blocks inside the current coding unit cannot utilize the coded motion information around the current coding unit, so that the available motion information is reduced, and the accuracy of the motion information is not high. For example, for a sub image block I within the current coding unit, only the motion information of sub image block C, sub image block G, and sub image block H can be used, but the motion information of image block a, image block B, image block F, image block D, and image block E cannot be used.
In view of the above findings, an embodiment of the present application provides a method for determining motion information and determining a prediction mode, which enables a current image block to correspond to multiple pieces of motion information on the basis of not dividing the current image block, that is, on the basis of not increasing overhead caused by sub-block division, thereby improving prediction accuracy of the motion information of the current image block. Because the current image block is not divided, the method can avoid consuming additional bits to transmit the division mode, and save the bit overhead. For each area of the current image block (note that, here, any area in the current image block, where the size of the area is smaller than the size of the current image block and is not a sub image block obtained by dividing the current image block), more motion information may be provided for each area by using the encoded motion information around the current image block, so as to improve the accuracy of the motion information.
The current image block in the embodiment of the application is any image unit in the encoding and decoding process, and the encoding and decoding processing is performed by taking the current image block as a unit. The current image block may be the current coding unit, i.e., the CU of the above-described embodiment, and the current image block is taken as an example subsequently.
For example, referring to fig. 4, the current image block includes 9 areas, such as an area f 1-an area f9, which are areas within the current image block and are not sub image blocks into which the current image block is divided.
For different areas of the areas f1 to f9, the same or different motion information may be associated, so that the current image block may be associated with a plurality of motion information on the basis that the current image block is not divided, for example, the area f1 is associated with the motion information 1, the area f2 is associated with the motion information 2, and so on.
Furthermore, in determining the motion information of the area f5, the motion information of the image blocks A1, A2, A3, E, B1, B2, B3, i.e. the motion information of the encoded image blocks surrounding the current image block, may be utilized, thereby providing more motion information for the area f 5. Of course, for the motion information of other areas of the current image block, the motion information of the image block A1, the image block A2, the image block A3, the image block E, the image block B1, the image block B2, and the image block B3 may be used.
The following describes a method for determining motion information and determining a prediction mode, with reference to several embodiments.
Example 1: referring to fig. 5, a flow chart of a motion information determining method in an embodiment of the present application is schematically shown, where the method may be applied to a decoding end, and the method may include the following steps:
step 501, creating a motion information prediction mode candidate list of a current image block; wherein the motion information prediction mode candidate list may include at least one motion information prediction mode.
The motion information prediction mode may include, but is not limited to: a first motion information prediction mode (e.g., DC prediction mode) and/or a second motion information prediction mode (e.g., angular prediction mode).
In one example, the first motion information prediction mode is used to instruct at least two blocks specified from among peripheral blocks of the current image block to be selected as matching blocks, and the motion information of the matching blocks is subjected to weighting calculation as target motion information of the current image block. The second motion information prediction mode is used for indicating a preconfigured angle, selecting a matching block for a specified area inside the current image block from the peripheral blocks of the current image block according to the preconfigured angle, and determining target motion information of the specified area according to the motion information of the matching block, wherein the matching block is one or more blocks at specified positions determined from the peripheral blocks according to the preconfigured angle. The designated position includes various conditions, one is a block pointed by the pre-configuration angle, and when the pre-configuration angle points to the middle of two blocks, the designated position can be one of the blocks, or two blocks and blocks around the two blocks.
Wherein, the peripheral blocks comprise blocks adjacent to the current image block; alternatively, the peripheral blocks include blocks adjacent to the current image block and non-adjacent blocks. Of course, the peripheral blocks may also include other blocks, such as configuration blocks that are filled for the peripheral blocks missing from the current image block when the current image block is a boundary block, which is not limited herein.
Step 502, selecting a motion information prediction mode from the motion information prediction mode candidate list, and determining the selected motion information prediction mode as a target motion information prediction mode of the current image block.
Step 503, determining the target motion information of the current image block according to the target motion information prediction mode.
Specifically, a matching block corresponding to the current image block may be determined according to the target motion information prediction mode, and the target motion information of the current image block may be determined according to the available motion information of the matching block.
In one example, determining a matching block corresponding to the current image block according to the target motion information prediction mode may include: and if the target motion information prediction mode is the first motion information prediction mode, selecting at least two blocks from peripheral blocks of the current image block as matching blocks of the current image block according to the first motion information prediction mode. By means of the motion information prediction mode, the motion information which can be shared can be determined for the current image block, and the motion information is the existing motion information of the peripheral blocks.
And if the target motion information prediction mode is the second motion information prediction mode, determining one or more blocks at the specified position from the peripheral blocks of the current image block as the matching block according to the position of the specified area in the current image block and the pre-configuration angle indicated by the second motion information prediction mode. By means of the motion information prediction mode, different motion information can be configured for different areas of the current image block, and the motion information is the existing motion information of the peripheral block.
In one example, after determining a matching block corresponding to a current image block according to a target motion information prediction mode, if the matching block corresponding to the current image block is generated as an intra-frame block according to the target motion information prediction mode, generating motion information of the intra-frame block according to motion information of an inter-frame block (such as an adjacent inter-frame block or a non-adjacent inter-frame block) around the intra-frame block; alternatively, a motion information containing a zero motion vector may be generated for the intra block; or generating a motion information for the intra block according to the available motion information in the time domain.
Before determining the target motion information of the current image block according to the target motion information prediction mode, available motion information of the peripheral block can be acquired by processing at least one of the following peripheral blocks; (1) If the peripheral block is an inter-frame block, carrying out weighted calculation on the motion information of the inter-frame block and the motion information of at least one block at the periphery of the inter-frame block to obtain the adjusted motion information of the inter-frame block; (2) If the peripheral blocks are uncoded blocks, determining at least one spatial domain available motion information and/or time domain available motion information of the uncoded blocks as the motion information of the uncoded blocks; or, performing weighted calculation on at least two spatial domain available motion information and/or time domain available motion information of the uncoded block to obtain the motion information of the uncoded block; or, generating a motion information containing a zero motion vector for the uncoded block; (3) If the peripheral block is an intra-frame block, determining the motion information of the intra-frame block according to the motion information of inter-frame blocks (such as adjacent inter-frame blocks or non-adjacent inter-frame blocks) around the intra-frame block; or, generating a motion information containing a zero motion vector for the intra block; or generating a motion information for the intra block according to the time domain available motion information; (4) If the current image block is a boundary block, the peripheral block comprises at least one configuration block, and the motion information of the configuration block is generated according to the available motion information of the airspace; or, generating a motion information containing a zero motion vector for the configuration block; or generating a motion information for the intra block according to the available motion information in the time domain.
In one example, determining the target motion information of the current image block according to the available motion information of the matching block may include, but is not limited to: if the number of the matching blocks is one, determining the available motion information of one matching block as the target motion information of the current image block; or if the number of the matching blocks is one, converting the available motion information of one matching block, and determining the converted motion information as the target motion information of the current image block; or if the number of the matching blocks is at least two, selecting one matching block from the at least two matching blocks, and determining the available motion information of the selected matching block as the target motion information of the current image block; or if the number of the matching blocks is at least two, selecting one matching block from the at least two matching blocks, transforming the available motion information of the selected matching block, and determining the transformed motion information as the target motion information of the current image block; or if the number of the matching blocks is at least two, performing weighted operation on the available motion information of the at least two matching blocks, and determining the motion information after the weighted operation as the target motion information of the current image block; or if the number of the matching blocks is at least two, the available motion information of the at least two matching blocks is firstly transformed, then the transformed motion information is subjected to weighted operation, and the motion information obtained after the weighted operation is determined as the target motion information of the current image block.
Wherein, transforming the available motion information of the matching block may include, but is not limited to: and performing telescopic transformation on the available motion information of the matching block in the specified direction to obtain the transformed motion information.
In the above embodiment, selecting a motion information prediction mode from the motion information prediction mode candidate list and determining the selected motion information prediction mode as the target motion information prediction mode of the current image block may include: receiving a coded bit stream from a coding end, wherein the coded bit stream carries first indication information, and the first indication information is used for indicating index information of a target motion information prediction mode; and selecting a motion information prediction mode corresponding to the index information from the motion information prediction mode candidate list based on the first indication information, and determining the selected motion information prediction mode as the target motion information prediction mode of the current image block.
In another example, a coded bitstream from the encoding end may be further received, and the coded bitstream may carry second indication information indicating the preconfigured motion information; determining target motion information of the current image block according to the preconfigured motion information of the current image block based on the second indication information; or, an encoded bitstream from an encoding end may be received, where the encoded bitstream may carry third indication information, where the third indication information is used to indicate preconfigured difference information, and the preconfigured difference information is used to indicate a motion vector difference; and determining target motion information of the current image block according to the preconfigured difference information of the current image block based on the third indication information.
According to the technical scheme, the target motion information prediction mode of the current image block can be determined, the target motion information of the current image block is determined according to the target motion information prediction mode, the current image block does not need to be divided, bit overhead caused by sub-block division is effectively solved, motion information is provided for each designated area of the current image block on the basis that the current image block is not sub-block divided, different designated areas of the current image block can correspond to the same or different motion information, coding performance is improved, the problem of transmitting a large number of motion vectors is solved, and a large number of bits can be saved.
Example 2: referring to fig. 6, a flow chart of a motion information determining method in an embodiment of the present application is schematically shown, where the method may be applied to an encoding end, and the method may include the following steps:
step 601, creating a motion information prediction mode candidate list of a current image block; wherein the motion information prediction mode candidate list may include at least one motion information prediction mode.
The motion information prediction mode may include, but is not limited to: a first motion information prediction mode (e.g., DC prediction mode) and/or a second motion information prediction mode (e.g., angular prediction mode).
In one example, the first motion information prediction mode is used to instruct at least two blocks specified from among peripheral blocks of the current image block to be selected as matching blocks, and the motion information of the matching blocks is subjected to weighting calculation as target motion information of the current image block. The second motion information prediction mode is used for indicating a preconfigured angle, selecting a matching block for a specified area inside the current image block from the peripheral blocks of the current image block according to the preconfigured angle, and determining target motion information of the specified area according to the motion information of the matching block, wherein the matching block is one or more blocks at specified positions determined from the peripheral blocks according to the preconfigured angle. The designated position includes various conditions, one is a block pointed by the pre-configuration angle, and when the pre-configuration angle points to the middle of two blocks, the designated position can be one of the blocks, or two blocks and blocks around the two blocks.
Wherein the peripheral blocks comprise blocks adjacent to the current image block; alternatively, the peripheral blocks include blocks adjacent to the current image block and non-adjacent blocks. Of course, the peripheral blocks may also include other blocks, such as configuration blocks that are filled for the peripheral blocks missing from the current image block when the current image block is a boundary block, which is not limited herein.
Step 602, selecting a motion information prediction mode from the motion information prediction mode candidate list, and determining the selected motion information prediction mode as a target motion information prediction mode of the current image block.
Specifically, for each motion information prediction mode in the motion information prediction mode candidate list, according to the motion information prediction mode, a matching block corresponding to the current image block is determined from peripheral blocks of the current image block, available motion information of the matching block is acquired, and a rate-distortion cost corresponding to the motion information prediction mode is determined at least according to the available motion information of the matching block. Then, a motion information prediction mode may be selected from the motion information prediction mode candidate list according to a rate-distortion cost corresponding to each motion information prediction mode in the motion information prediction mode candidate list, and the selected motion information prediction mode may be determined as the target motion information prediction mode of the current image block.
The determining the matching block corresponding to the current image block according to the motion information prediction mode may include, but is not limited to: and if the motion information prediction mode is the first motion information prediction mode, selecting at least two blocks from the peripheral blocks of the current image block as matching blocks of the current image block according to the first motion information prediction mode. Or if the motion information prediction mode is the second motion information prediction mode, determining one or more blocks at the specified position from the peripheral blocks of the current image block as the matching block according to the position of the specified area inside the current image block and the pre-configuration angle indicated by the second motion information prediction mode.
In an example, after determining a matching block corresponding to a current image block according to a motion information prediction mode, if the matching block corresponding to the current image block is generated as an intra-frame block according to the target motion information prediction mode, motion information of the intra-frame block may also be generated according to motion information of an inter-frame block (such as an adjacent inter-frame block or a non-adjacent inter-frame block) surrounding the intra-frame block; alternatively, a motion information containing a zero motion vector may be generated for the intra block; or generating a motion information for the intra block according to the available motion information in the time domain.
Before the available motion information of the matching block is obtained, obtaining the available motion information of the peripheral block by processing any peripheral block by at least one of the following methods; (1) If the peripheral block is an inter-frame block, carrying out weighted calculation on the motion information of the inter-frame block and the motion information of at least one block at the periphery of the inter-frame block to obtain the adjusted motion information of the inter-frame block; (2) If the peripheral block is an uncoded block, determining at least one spatial domain available motion information and/or time domain available motion information of the uncoded block as the motion information of the uncoded block; or, performing weighted calculation on at least two spatial domain available motion information and/or time domain available motion information of the uncoded block to obtain the motion information of the uncoded block; or, generating a motion information containing a zero motion vector for the non-coding block; (3) If the peripheral block is an intra-frame block, determining the motion information of the intra-frame block according to the motion information of the inter-frame block (such as an adjacent inter-frame block or a non-adjacent inter-frame block) around the intra-frame block; or, generating a motion information containing a zero motion vector for the intra block; or generating a motion information for the intra block according to the time domain available motion information; (4) If the current image block is a boundary block, the peripheral block comprises a configuration block, the motion information of the configuration block is generated according to the available motion information of the airspace, the peripheral block comprises at least one configuration block, and the motion information of the configuration block is generated according to the available motion information of the airspace; or, generating a motion information containing a zero motion vector for the configuration block; or generating a motion information for the intra block according to the available motion information in the time domain.
The selecting the motion information prediction mode from the motion information prediction mode candidate list according to the rate distortion cost corresponding to each motion information prediction mode in the motion information prediction mode candidate list may include but is not limited to: and selecting the motion information prediction mode with the minimum rate distortion cost from the motion information prediction mode candidate list based on the rate distortion cost corresponding to each motion information prediction mode.
In an example, after the selected motion information prediction mode is determined as the target motion information prediction mode of the current image block, a first rate-distortion cost corresponding to the target motion information prediction mode may be further obtained, and preconfigured motion information of the current image block or a second rate-distortion cost corresponding to preconfigured difference information, where the difference information is used to indicate a motion vector difference, may be obtained. If the first rate-distortion cost is less than the second rate-distortion cost, the coded bit stream carrying first indication information may be sent to the decoding end, where the first indication information is used to indicate index information of the target motion information prediction mode. If the first rate-distortion cost is greater than the second rate-distortion cost, sending a coded bit stream carrying second indication information to the decoding end, wherein the second indication information is used for indicating the preconfigured motion information; or, if the first rate-distortion cost is greater than the second rate-distortion cost, the coded bitstream carrying third indication information may be sent to the decoding end, where the third indication information is used to indicate the preconfigured difference information.
According to the technical scheme, the target motion information prediction mode of the current image block can be determined, the target motion information of the current image block is determined according to the target motion information prediction mode, the current image block does not need to be divided, bit overhead caused by sub-block division is effectively solved, motion information is provided for each designated area of the current image block on the basis that the current image block is not sub-block divided, different designated areas of the current image block can correspond to the same or different motion information, coding performance is improved, the problem of transmitting a large number of motion vectors is solved, and a large number of bits can be saved.
Example 3: referring to fig. 7, a schematic flow chart of a motion information determining method is shown, where the method includes:
step 701, an encoding end creates a motion information prediction mode candidate list of a current image block; wherein the motion information prediction mode candidate list may include at least one motion information prediction mode.
Step 702, a decoding end creates a motion information prediction mode candidate list of a current image block; wherein the motion information prediction mode candidate list may include at least one motion information prediction mode.
The motion information prediction mode candidate list at the encoding end is the same as the motion information prediction mode candidate list at the decoding end, that is, the motion information prediction modes of the encoding end and the decoding end have the same sequence.
In step 703, the encoding end selects a motion information prediction mode from the motion information prediction mode candidate list, and determines the selected motion information prediction mode as a target motion information prediction mode of the current image block.
Step 704, the encoding end sends an encoded bit stream to the decoding end, where the encoded bit stream is used to carry first indication information, and the first indication information is used to indicate index information of the target motion information prediction mode.
Step 705, the decoding end receives a coded bit stream from the encoding end, where the coded bit stream carries first indication information, and the first indication information is used to indicate index information of a target motion information prediction mode.
In step 706, the decoding end selects the motion information prediction mode corresponding to the index information from the motion information prediction mode candidate list (i.e., the motion information prediction mode candidate list obtained in step 702), and determines the selected motion information prediction mode as the target motion information prediction mode of the current image block.
Step 707, the decoding end determines the target motion information of the current image block according to the target motion information prediction mode. Specifically, a matching block corresponding to the current image block may be determined according to the target motion information prediction mode, and the target motion information of the current image block may be determined according to the available motion information of the matching block.
According to the technical scheme, the target motion information prediction mode of the current image block can be determined, the target motion information of the current image block is determined according to the target motion information prediction mode, the current image block does not need to be divided, bit overhead caused by sub-block division is effectively solved, motion information is provided for each designated area of the current image block on the basis that the current image block is not sub-block divided, different designated areas of the current image block can correspond to the same or different motion information, coding performance is improved, the problem of transmitting a large number of motion vectors is solved, and a large number of bits can be saved.
Example 4: in the above embodiments, the motion information prediction mode candidate list of the current image block is created, that is, both the encoding side and the decoding side need to create the motion information prediction mode candidate list of the current image block.
The motion information prediction mode candidate list at the encoding end and the motion information prediction mode candidate list at the decoding end are determined to be the same according to the protocol. The encoding side and the decoding side may use the same strategy to create the same motion information prediction mode candidate list. Of course, the above-mentioned modes are only a few examples, and the creation mode is not limited as long as the encoding side and the decoding side have the same motion information prediction mode candidate list.
A motion information prediction mode candidate list may be created for the current image block, that is, all areas in the current image block may correspond to the same motion information prediction mode candidate list; alternatively, a plurality of motion information prediction mode candidate lists may be created for the current image block. Furthermore, the same or different motion information prediction mode candidate lists may be corresponding to different current image blocks.
For convenience of description, in this embodiment, one motion information prediction mode candidate list is created for each current image block, for example, a motion information prediction mode candidate list 1 may be created for the current image block a, a motion information prediction mode candidate list 2 may be created for the current image block B, and so on.
In one example, the motion information prediction mode candidate list may include at least one motion information prediction mode, which may include, but is not limited to: a first motion information prediction mode (e.g., DC prediction mode) and/or a second motion information prediction mode (e.g., angular prediction mode). In this embodiment, a description will be given taking as an example a case where the first motion information prediction mode is a DC prediction mode for predicting motion information of a current image block, and the second motion information prediction mode is an angular prediction mode for predicting motion information of the current image block. Of course, the first motion information prediction mode may also be other types of prediction modes, and the second motion information prediction mode may also be other types of prediction modes, which is not limited thereto.
For example, the motion information prediction mode candidate list may include a DC prediction mode 1, a DC prediction mode 2, and a DC prediction mode 3. Alternatively, the motion information prediction mode candidate list may include an angle prediction mode 1, an angle prediction mode 2, and an angle prediction mode 3. Alternatively, the motion information prediction mode candidate list may include a DC prediction mode 2, an angle prediction mode 2, and an angle prediction mode 3. For convenience of description, DC prediction mode 2, angle prediction mode 2, and angle prediction mode 3 will be described as examples.
And for each DC prediction mode in the motion information prediction mode candidate list, selecting at least two blocks as matching blocks from the peripheral blocks of the current image block, and performing weighted calculation on the motion information of the matching blocks as target motion information of the current image block. The peripheral blocks of the current image block may include, but are not limited to: a block adjacent to the current image block, or a block adjacent to the current image block and a non-adjacent block. Of course, the peripheral block may also include other blocks, and the peripheral block is not limited thereto.
For example, referring to FIG. 8A, the peripheral blocks of the current image block may include the neighboring image block above and to the left of the current image block (i.e., image block E); in the peripheral area on the upper side of the current image block, starting from the image block E to traverse N1 adjacent image blocks rightward, such as an image block B1, an image block B2, an image block B3 and an image block D1, and so on, and traversing N1 image blocks all the time; in the peripheral area on the left side of the current image block, N2 adjacent image blocks, such as the image block A1, the image block A2, the image block A3, and the image block C1, which are traversed from the image block E downward, are traversed all the time in the same manner, and N2 image blocks are traversed all the time.
In summary, the peripheral blocks of the current image block may include, but are not limited to, blocks adjacent to the current image block, blocks non-adjacent to the current image block, and even image blocks in other adjacent frames, which is not limited to this.
In fig. 8A, the image blocks passed by the dotted line may all be peripheral blocks of the current image block, which is not limited to this, and of course, the image blocks not passed by the dotted line may also be peripheral blocks of the current image block, which is not limited to this.
For example, the DC prediction mode 1 is used to instruct selection of a specified image block A1 and image block B2 as matching blocks from among peripheral blocks of a current image block, and perform weighted calculation on motion information of the image block A1 and motion information of the image block B2, and then, take the calculation result as target motion information of the current image block. For another example, the DC prediction mode 2 is configured to instruct to select a specified image block A2 and an image block B2 as matching blocks from among peripheral blocks of the current image block, perform weighted calculation on the motion information of the image block A2 and the motion information of the image block B2, then use the calculation result as target motion information of the current image block, and so on.
Wherein, the DC prediction mode 1 is used to indicate the position index of the image block A1 and the position index of the image block B2, so that the image block A1 and the image block B2 can be used as matching blocks of the current image block. Further, the DC prediction mode 2 is used to indicate the position index of the image block A2 and the position index of the image block B2, so that the image block A2 and the image block B2 can be used as matching blocks of the current image block, and so on.
The weighted calculation of the motion information of the image block A1 and the motion information of the image block B2 includes: averaging the motion vector of the image block A1 and the motion vector of the image block B2; or setting a coefficient 1 for the motion vector of the image block A1, setting a coefficient 2 for the motion vector of the image block B2, and performing weighting calculation by using the motion vector and coefficient 1 of the image block A1 and the motion vector and coefficient 2 of the image block B2.
Of course, the above is only an example of performing the weighting calculation on the motion information, and the present invention is not limited thereto.
And aiming at each angle prediction mode in the motion information prediction mode candidate list, the angle prediction mode is used for indicating a pre-configuration angle, and the angle prediction mode is used for indicating that a matching block is selected for a specified area in the current image block from peripheral blocks of the current image block according to the pre-configuration angle, and determining target motion information of the specified area according to the motion information of the matching block. The matching block may be one or more blocks at a specified position determined from the peripheral blocks at the preconfigured angle. The designated position may include various conditions, one is a block pointed at an angle, and when the other is pointed at the middle of two blocks, one block may be one of the blocks, or two blocks and peripheral blocks, which is not limited to this. The peripheral blocks of the current image block may include, but are not limited to: a block adjacent to the current image block, or a block adjacent to the current image block and a non-adjacent block. Of course, the peripheral block may also include other blocks, and the peripheral block is not limited thereto.
For example, the angle prediction mode 1 is used to indicate that the preconfigured angle is 90 degrees, select a matching block for the designated area from the peripheral blocks of the current image block according to the preconfigured angle, as shown in fig. 8B, the matching block of the designated area f1 is the image block B1, and determine the target motion information of the designated area f1 according to the motion information of the image block B1. The matching block of the designated area f2 is the image block B2, and the target motion information of the designated area f2 is determined from the motion information of the image block B2. The matching block of the designated area f3 is the image block B3, and the target motion information of the designated area f3 is determined according to the motion information of the image block B3, and so on.
For another example, the angle prediction mode 2 is used to indicate that the preconfigured angle is 180 degrees, select a matching block for the designated area from the peripheral blocks of the current image block according to the preconfigured angle, as shown in fig. 8C, the matching block of the designated area f1 is the image block A1, and determine the target motion information of the designated area f1 according to the motion information of the image block A1. The matching block of the designated area f2 is the image block A1, and the target motion information of the designated area f2 is determined from the motion information of the image block A1. The matching block of the designated area f3 is the image block A1, the target motion information of the designated area f3 is determined according to the motion information of the image block A1, and the like
For another example, the angle prediction mode 3 is used to indicate that the preconfigured angle is 45 degrees, and select a matching block for the designated area from the peripheral blocks of the current image block according to the preconfigured angle, as shown in fig. 8D, the matching blocks of the designated area f5 are the image block B3 and the image block D1, and the target motion information of the designated area f5 may be determined according to the motion information of the image block B3 and the motion information of the image block D1, in a specific manner, see the following embodiments.
Of course, the above-mentioned manners are only a few examples of the preconfigured angles, and the preconfigured angles are not limited, and the preconfigured angles may be any angles between 0-360 degrees, and the horizontal direction of the center point of the designated area to the right may be located as 0 degree, so any angle rotated counterclockwise from 0 degree may be the preconfigured angles, but the preconfigured angles are not limited to the horizontal direction of the center point of the designated area to the right being located as 0 degree, the horizontal direction of the center point of the designated area to the left being located as 0 degree, or the center point of the designated area to other directions being 0 degree.
In practical applications, the preconfigured angle may be a fractional angle, such as 22.5 degrees, and the like, without limitation.
In an example, the DC prediction mode in the embodiment of the present application may be a DC prediction mode for predicting motion information, that is, used in an inter-frame coding process, rather than being applied in an intra-frame coding process, and the DC prediction mode selects a matching block rather than a matching pixel. Similarly, the angular prediction mode may be an angular prediction mode for predicting motion information, i.e., used in an inter-frame encoding process, not in an intra-frame encoding process, and the angular prediction mode selects a matching block, not a matching pixel.
Based on the above analysis process, the encoding side and the decoding side can both create a motion information prediction mode candidate list, and the DC prediction mode 2, the angle prediction mode 2, and the angle prediction mode 3 are taken as examples for description.
Example 5: in the above embodiment, the process involving the encoding side selecting a motion information prediction mode from the motion information prediction mode candidate list and determining the selected motion information prediction mode as the target motion information prediction mode of the current image block is described as follows, and may include the following steps:
step a1, determining a matching block corresponding to the current image block according to each motion information prediction mode in the motion information prediction mode candidate list according to the motion information prediction mode.
In one example, the step a1 may include, but is not limited to: if the motion information prediction mode is a DC prediction mode (first motion information prediction mode), at least two blocks are selected from the peripheral blocks of the current image block as matching blocks of the current image block according to the DC prediction mode. If the motion information prediction mode is an angle prediction mode (second motion information prediction mode), determining one or more blocks at specified positions from peripheral blocks of the current image block as matching blocks according to the position of the specified area in the current image block and a pre-configured angle indicated by the angle prediction mode.
For example, the motion information prediction mode candidate list may include a DC prediction mode 2, an angular prediction mode 2, and an angular prediction mode 3, for the DC prediction mode 2, for indicating a position index of the image block A2 and a position index of the image block B2, and thus, the specified image block A2 and image block B2 may be selected as matching blocks from among peripheral blocks of the current image block. For angular prediction mode 2, the preconfigured angle is indicated to be 180 degrees, and therefore, the matching block of designated area f1 is image block A1, the matching block of designated area f2 is image block A1, and the matching block of designated area f3 is image block A1. For the angle prediction mode 3, it is indicated that the preconfigured angle is 45 degrees, and therefore, the matching blocks of the designated area f5 are the image block B3 and the image block D1. Of course, the above description is only an example of a few designated areas, and other designated areas may also be used, which is not limited to this.
And a2, determining the rate distortion cost corresponding to the motion information prediction mode according to the motion information of the matched block.
In one example, the encoding side may determine the rate-distortion cost of the DC prediction mode 2 according to the motion information of the image block A2 and the motion information of the image block B2. In addition, the encoding end may determine the rate-distortion cost of the angular prediction mode 2 according to the motion information of the image block A1. In addition, the encoding end may determine the rate-distortion cost of the angular prediction mode 3 according to the motion information of the image block B3 and the motion information of the image block D1.
In one example, based on the motion information of the image block A2 and the motion information of the image block B2, a rate distortion cost of the DC prediction mode 2 may be determined by using a rate distortion rule, and the rate distortion cost may be determined by the following formula: j (mode) = D + λ R, where D represents Distortion, which can be generally measured using SSE index, where SSE refers to the mean square sum of the differences between the reconstructed image block and the source image; λ is lagrange multiplier, R is the actual number of bits required for encoding the image block in the mode, including the sum of bits required for encoding mode information, motion information, residual, and the like, and this determination is not limited. Similarly, the rate-distortion cost of angular prediction mode 2 and the rate-distortion cost of angular prediction mode 3 may also be determined.
And a3, selecting a motion information prediction mode from the motion information prediction mode candidate list according to the rate distortion cost corresponding to each motion information prediction mode in the motion information prediction mode candidate list, and determining the selected motion information prediction mode as a target motion information prediction mode of the current image block.
Specifically, based on the rate distortion cost corresponding to each motion information prediction mode, the motion information prediction mode with the minimum rate distortion cost is selected from the motion information prediction mode candidate list. Of course, the above-mentioned modes are only examples, and the selection mode of the motion information prediction mode is not limited.
For example, assuming that the rate-distortion cost of DC prediction mode 2 is smaller than that of angle prediction mode 2, and the rate-distortion cost of DC prediction mode 2 is smaller than that of angle prediction mode 3, DC prediction mode 2 with the smallest rate-distortion cost is selected, i.e., DC prediction mode 2 is the target motion information prediction mode.
Example 6: in the above embodiment, the process involving the decoding side selecting a motion information prediction mode from the motion information prediction mode candidate list and determining the selected motion information prediction mode as the target motion information prediction mode of the current image block is described as follows, and may include the following steps:
step b1, the encoding end sends an encoding bit stream to the decoding end, wherein the encoding bit stream is used for carrying first indication information, and the first indication information is used for indicating index information of a target motion information prediction mode.
For example, after the encoding end determines the selected motion information prediction mode as the target motion information prediction mode of the current image block, the encoding end may determine index information of the target motion information prediction mode in the motion information prediction mode candidate list, and if the target motion information prediction mode is the 2 nd motion information prediction mode in the motion information prediction mode candidate list, the index information of the target motion information prediction mode may be 10, which indicates 2.
And b2, the decoding end receives the coded bit stream from the coding end, wherein the coded bit stream carries first indication information, and the first indication information is used for indicating index information of the target motion information prediction mode.
And b3, the decoding end selects a motion information prediction mode corresponding to the index information from the motion information prediction mode candidate list, and determines the selected motion information prediction mode as a target motion information prediction mode of the current image block. For example, when the first indication information indicates that the index information of the target motion information prediction mode is 2, the decoding end may determine the 2 nd motion information prediction mode in the motion information prediction mode candidate list as the target motion information prediction mode of the current image block.
In one example, the encoding end and the decoding end may fix a motion information prediction mode, so that the decoding end may directly determine the target motion information prediction mode without performing any syntax parsing. Furthermore, a flag may be encoded to determine whether to use the motion information prediction mode to determine the target motion information, and in the case of using the motion information prediction mode to determine the target motion information, the encoding end may fix a motion information prediction mode, and the encoding end does not need any bit overhead, and the decoding end does not need any syntax parsing, and may directly determine the target motion information prediction mode.
Example 7: in the above embodiment, regarding that the decoding end determines the target motion information of the current image block according to the target motion information prediction mode, the following describes the process, and the process may include:
and c1, determining a matching block corresponding to the current image block according to the target motion information prediction mode.
In one example, the step c1 may include: if the target motion information prediction mode is the DC prediction mode, at least two blocks may be selected from the peripheral blocks of the current image block as matching blocks of the current image block according to the DC prediction mode. If the target motion information prediction mode is an angle prediction mode, one or more blocks at specified positions can be determined from peripheral blocks of the current image block as matching blocks according to the position of the specified area in the current image block and the pre-configured angle indicated by the angle prediction mode.
For example, if the target motion information prediction mode is the DC prediction mode 2, since the DC prediction mode 2 is used to indicate the position index of the image block A2 and the position index of the image block B2, the specified image block A2 and the image block B2 are selected as matching blocks from the peripheral blocks of the current image block. If the target motion information prediction mode is the angle prediction mode 2, since the angle prediction mode 2 is used to indicate that the preconfigured angle is 180 degrees, the matching block of the designated area f1 is the image block A1, the matching block of the designated area f2 is the image block A1, and so on.
And c2, determining the target motion information of the current image block according to the motion information of the matched block.
Determining target motion information of the current image block according to the motion information of the matching block may include:
in the first mode, if the number of the matching blocks is one, the motion information of one matching block may be determined as the target motion information of the current image block. For example, if the matching block is the image block A1, the motion information of the image block A1 may be determined as the target motion information of the current image block, which is not described again.
And secondly, if the number of the matching blocks is one, converting the motion information of one matching block, and determining the converted motion information as the target motion information of the current image block. For example, if the matching block is the image block A1, the motion information of the image block A1 may be transformed to obtain transformed motion information, and the transformed motion information may be determined as the target motion information of the current image block.
And thirdly, if the number of the matching blocks is at least two, selecting one matching block from the at least two matching blocks, and determining the motion information of the selected matching block as the target motion information of the current image block. For example, if the image block A2 and the image block B2 are matching blocks, one image block A2 is selected from the image block A2 and the image block B2, and the motion information of the image block A2 is determined as the target motion information of the current image block.
And if the number of the matching blocks is at least two, selecting one matching block from the at least two matching blocks, transforming the motion information of the selected matching block, and determining the transformed motion information as the target motion information of the current image block. For example, if the image block A2 and the image block B2 are matching blocks, one image block A2 is selected from the image block A2 and the image block B2, the motion information of the image block A2 is transformed, and the transformed motion information is determined as the target motion information of the current image block.
And fifthly, if the number of the matching blocks is at least two, performing weighted operation on the motion information of the at least two matching blocks, and determining the motion information after the weighted operation as the target motion information of the current image block. For example, if the image block A2 and the image block B2 are matching blocks, the motion information of the image block A2 and the motion information of the image block B2 may be weighted, a specific weighting operation manner is not limited, and the motion information after the weighting operation is determined as the target motion information of the current image block.
And sixthly, if the number of the matched blocks is at least two, converting the motion information of the at least two matched blocks, then performing weighting operation on the converted motion information, and determining the motion information obtained after the weighting operation as the target motion information of the current image block. For example, if the image block A2 and the image block B2 are matching blocks, the motion information of the image block A2 may be transformed to obtain transformed motion information 1, the motion information of the image block B2 may be transformed to obtain transformed motion information 2, and then the motion information 1 and the motion information 2 may be subjected to weighting operation, where a specific weighting operation manner is not limited, and the motion information after weighting operation may be determined as target motion information of a current image block.
Of course, the above manner is only an example, and the manner of determining the target motion information is not limited.
In the above embodiment, the transforming the motion information of the matching block may include, but is not limited to: and performing telescopic transformation on the motion information of the matching block in the specified direction to obtain the transformed motion information. Of course, the scaling transformation is only one transformation mode, and other transformation modes can be adopted, which is not limited to this. The specified direction may be a motion direction of a motion vector of the current image block, or a motion direction of a motion vector of the matching block, and certainly, may also be other directions, which is not limited to this. The motion information may be transformed in a telescopic manner by a conventional method, and is not repeated herein.
Example 8: in addition to obtaining the target motion information by using the above method, the motion information of the current image block may also be obtained by using a conventional method, and for convenience of distinguishing, the motion information obtained by using the conventional method may be referred to as pre-configured motion information, and on this basis, the method of the embodiment of the present application may further include:
after determining the target motion information prediction mode of the current image block, the encoding end may obtain a first rate distortion cost corresponding to the target motion information prediction mode, for example, a first rate distortion cost corresponding to the target motion information prediction mode is determined by using a rate distortion principle, and obtain a second rate distortion cost corresponding to the preconfigured motion information of the current image block, for example, a second rate distortion cost corresponding to the preconfigured motion information is determined by using the rate distortion principle.
Further, if the first rate-distortion cost is smaller than the second rate-distortion cost, the encoding end may send, to the decoding end, an encoded bitstream carrying first indication information, where the first indication information is used to indicate index information of a target motion information prediction mode, see the first indication information in embodiment 6. If the first rate-distortion cost is greater than the second rate-distortion cost, the encoding end may send an encoded bitstream carrying second indication information to the decoding end, where the second indication information is used to indicate the preconfigured motion information.
The decoding end receives the coded bit stream from the coding end, and if the coded bit stream carries first indication information, the first indication information is used to indicate index information of a target motion information prediction mode, so that, based on the first indication information, the decoding end selects a motion information prediction mode corresponding to the index information from a motion information prediction mode candidate list, and determines the selected motion information prediction mode as the target motion information prediction mode of the current image block, which may be referred to embodiment 6 for specific implementation, and is not described herein again.
In addition, if the encoded bitstream carries second indication information, where the second indication information is used to indicate preconfigured motion information, based on the second indication information, the decoding end may determine target motion information of the current image block according to the preconfigured motion information of the current image block, for example, the preconfigured motion information of the current image block may be determined as the target motion information of the current image block, and the determination manner is not limited.
In another example, after determining the target motion information prediction mode of the current image block, the encoding end may obtain a first rate-distortion cost corresponding to the target motion information prediction mode, for example, determine a first rate-distortion cost corresponding to the target motion information prediction mode by using a rate-distortion principle, and obtain a second rate-distortion cost corresponding to the preconfigured difference information of the current image block, for example, determine a second rate-distortion cost corresponding to the preconfigured difference information by using the rate-distortion principle. If the first rate-distortion cost is smaller than the second rate-distortion cost, the encoding end may send, to the decoding end, an encoded bitstream carrying first indication information, where the first indication information is used to indicate index information of a target motion information prediction mode, see the first indication information in embodiment 6. If the first rate-distortion cost is greater than the second rate-distortion cost, the encoding end may send, to the decoding end, an encoded bitstream carrying third indication information, where the third indication information is used to indicate preconfigured difference information, and the preconfigured difference information is used to indicate a motion vector difference.
The decoding end receives the coded bit stream from the coding end, and if the coded bit stream carries first indication information, the first indication information is used to indicate index information of a target motion information prediction mode, so that, based on the first indication information, the decoding end selects a motion information prediction mode corresponding to the index information from a motion information prediction mode candidate list, and determines the selected motion information prediction mode as the target motion information prediction mode of the current image block, which may be referred to embodiment 6 for specific implementation, and is not described herein again.
If the encoded bitstream carries third indication information, where the third indication information is used to indicate preconfigured difference information, where the preconfigured difference information is used to indicate a motion vector difference, and based on the third indication information, the decoding end determines target motion information of the current image block according to the preconfigured difference information of the current image block, for example, determines the target motion information of the current image block according to the preconfigured difference information of the current image block and some specified motion information, and if the sum of the preconfigured difference information and the specified motion information is determined as the target motion information, the determination manner is not limited.
In the above embodiment, the index information in the coded bitstream may be index information coded by a unary truncation code or index information coded by a fixed-length coding method. Of course, other encoding methods may be used to encode the index information, and the encoding method is not limited.
Among them, the unary truncation code may be used to encode index information of the target motion information prediction mode. For example, the motion information prediction mode candidate list includes 5 motion information prediction modes, which are motion information prediction modes {0,1,2,3,4}. Assuming that the target motion information prediction mode is motion information prediction mode 3, that is, the index information of the target motion information prediction mode is 4, the encoding end may encode the index information to 0001, so that the decoding end needs to decode to 1, that is, the 4 th value is 1, and therefore, the decoding end knows that the index information of the target motion information prediction mode is 4.
Wherein, the index information of the target motion information prediction mode can be coded by adopting a fixed-length coding mode. For example, the motion information prediction mode candidate list includes 5 motion information prediction modes, which are motion information prediction modes {0,1,2,3,4}, respectively, and a total of 3 bits are required for encoding. For example, 000 may be used to indicate a first motion information prediction mode, i.e., motion information prediction mode 0, 001 may be used to indicate a second motion information prediction mode, i.e., motion information prediction mode 1, and so on.
Example 9: and constructing a motion information prediction mode candidate list at least comprising one of a DC prediction mode and an angle prediction mode. The angle in the angular prediction mode is any angle, for example, 22.5 degrees, the DC prediction mode includes weighting of motion information of at least two matching blocks, as shown in fig. 9A, although the image blocks C1 to C4 and the image blocks D1 to D4 are not coded, they may be filled with motion information of coded blocks in a time domain or a space domain, or may be filled with motion information of coded blocks by performing a certain process, and therefore, the image blocks C1 to C4 and the image blocks D1 to D4 may also be used as matching blocks. Specifically, the padding means that at least one spatial domain available motion information and/or temporal domain available motion information is determined as the motion information of the uncoded block; or, performing weighted calculation on at least two spatial domain available motion information and/or time domain available motion information of the uncoded block to obtain the motion information of the uncoded block. Of course, a motion information containing zero motion vector may be generated for the uncoded block as a padding for the uncoded block.
In another example, for the DC prediction mode and the angular prediction mode, referring to fig. 9B, if both the image block at the upper side position and the image block at the left side position are available, the motion information prediction modes of horizontal, vertical, horizontal-up, horizontal-down, and vertical-to-right may be added to the motion information prediction mode candidate list in the order, i.e., the order of addition shown in fig. 9B. Alternatively, if only the image block at the upper side position is available, the motion information prediction mode 1, the motion information prediction mode 2, and the motion information prediction mode 4 may be added to the motion information prediction mode candidate list in order. Alternatively, if only the image block at the left position is available, the motion information prediction mode 0, the motion information prediction mode 2, and the motion information prediction mode 3 may be added to the motion information prediction mode candidate list in order. Alternatively, if neither the image block at the upper side position nor the image block at the left side position is available, the motion information prediction mode of any angle may not be added to the motion information prediction mode candidate list.
In the above embodiment, the angular prediction mode is used as the motion information prediction mode, and according to the selected angle, the motion information of the pointed peripheral 4x4 block is used as the motion information of the 4x4 block inside the current image block, and all 4x4 blocks inside the current image block are operated in the same way.
In one example, the motion information of the peripheral block may be processed, or the motion information of the peripheral block may not be processed, and if the motion information of the peripheral block is not processed, the above-described embodiments 4, 5, and 9 may be adopted, and if the motion information of the peripheral block is processed, the subsequent embodiment 10 may be adopted.
Example 10: in the above embodiment, it is necessary to perform correlation processing using motion information of a matching block, so that how to use motion information of the matching block when motion information exists in the matching block, and how to determine that motion information exists in the matching block when motion information does not exist in the matching block, this embodiment further provides the following manner:
in one example, if the matching block corresponding to the current image block is generated as an intra block according to the target motion information prediction mode, since the intra block has no motion information, the motion information of the intra block may be generated according to the motion information of an inter block (e.g., an adjacent inter block or a non-adjacent inter block) around the intra block; or, generating a motion information containing a zero motion vector for the intra block; or generating a motion information for the intra block according to the available motion information in the time domain.
In another example, the available motion information of the peripheral blocks can be obtained by processing any peripheral block by at least one of the following: (1) If the peripheral block is an inter-frame block, carrying out weighted calculation on the motion information of the inter-frame block and the motion information of at least one block at the periphery of the inter-frame block to obtain the adjusted motion information of the inter-frame block; (2) If the peripheral blocks are uncoded blocks, determining at least one spatial domain available motion information and/or time domain available motion information of the uncoded blocks as the motion information of the uncoded blocks; or, performing weighted calculation on at least two spatial domain available motion information and/or time domain available motion information of the uncoded block to obtain the motion information of the uncoded block; or, generating a motion information containing a zero motion vector for the uncoded block; (3) If the peripheral block is an intra-frame block, determining the motion information of the intra-frame block according to the motion information of inter-frame blocks (such as adjacent inter-frame blocks or non-adjacent inter-frame blocks) around the intra-frame block; or, generating a motion information containing a zero motion vector for the intra block; or generating a motion information for the intra block according to the time domain available motion information; (4) If the current image block is a boundary block, the peripheral block comprises at least one configuration block, and the motion information of the configuration block is generated according to the available motion information of the airspace; or, generating a motion information containing a zero motion vector for the configuration block; or, generating a motion information for the intra block according to the time domain available motion information.
In the method (1), if the peripheral block is an inter block, the motion information of the inter block may be filtered, and the filtered motion information is used as the motion information of the matching block, specifically, the motion information of the inter block and the motion information of at least one block in the periphery of the inter block may be weighted to obtain the adjusted motion information of the inter block, and the adjusted motion information is used as the motion information of the matching block.
In the method (2), if the peripheral blocks are uncoded blocks, the motion information of the uncoded blocks may be filled, for example, the right column may be filled with the motion information of the time domain or the space domain directly, or may be filled after certain transformation; or, the motion information of the uncoded block may be filled, for example, the lower line is filled, the motion information of the time domain or the space domain may be directly filled, or the motion information may be filled after certain transformation.
Further, at least one spatial domain available motion information and/or temporal domain available motion information of the uncoded block may be determined as the motion information of the uncoded block; or, performing weighting calculation on at least two spatial domain available motion information and/or time domain available motion information of the uncoded block to obtain the motion information of the uncoded block.
In the method (3), if the peripheral block is an intra block, the motion information of another inter block may be used for padding, or a zero motion vector may be padded, or other motion information may be padded. Based on this, the motion information of the intra block can be determined according to the motion information of the inter block (such as the adjacent inter block or the non-adjacent inter block) at the periphery of the intra block; alternatively, motion information containing zero motion vectors is generated for intra blocks.
With respect to the method (4), if the current image block is a boundary block, that is, neighboring positions of the current image block are not available, the current image block may be padded with motion information of other available blocks, or padded with zero motion vectors, or padded with other motion information. Based on this, the configuration block (i.e. any preset available block) may be determined as a peripheral block of the current image block, and the motion information of the configuration block may be generated according to the spatial domain available motion information.
The following describes in detail how to process the motion information of the peripheral blocks in the above process with reference to several specific application scenarios.
And (3) applying a scene 1, and performing motion information filling processing on 4x4 blocks from the lower left to the upper right, wherein the length of the lower left is the width of the current image block, and the length of the upper right is the height of the current image block. For a peripheral block, such as a 4x4 block, if intra-coding is used, the motion information of the nearest 4x4 inter block next to the peripheral block may be used for padding, and if the distance between the two adjacent inter blocks and the padding block is equal, the upper block or the right block is selected.
Referring to fig. 9C, for the left column of intra blocks A2, A3, and A4, the inter blocks closest to the intra blocks are A1 and A5, and the motion information of A1 may be selected to fill the motion information of the intra blocks A2, A3, and A4. In addition, for the third intra block from top to bottom in the left column, the inter block closest to this intra block is A5, and the motion information of A5 may be selected to fill the motion information of this intra block. For the top row of intra blocks B2, B3 and B4, the inter blocks closest to the intra blocks are B1 and B5, and the motion information of A1 may be selected to fill the motion information of the intra blocks B2, B3 and B4. In addition, for the three intra blocks in the upper row, the nearest inter block is 5, and the motion information of B5 may be selected to fill the motion information of this intra block.
Scene 2, filtering of motion information, is applied, and weighting of motion information of surrounding blocks is performed.
Referring to fig. 9D, for each motion information, such as the motion information of the inter block A4, the motion information of at least one surrounding inter block may be weighted with the motion information of A4. For example, the weighting of the motion information of the inter block A4 and the motion information of the inter block A5, the weighting of the motion information of the inter block A4 and the motion information of the inter block A3, and the weighting of the motion information of the inter block A4, the motion information of the inter block A5, and the motion information of the inter block A3 may be performed by weighting of the motion information of the inter block A2, the motion information of the inter block A4, the motion information of the inter block A5, the motion information of the inter block A6, and the motion information of the inter block A3.
Applying scenario 3, for surrounding uncoded blocks, see fig. 9E, the gray image blocks (B6, B7, C1 to C4, E, D1 to D3, A7, A8) are uncoded blocks, which may be filled with surrounding available motion information, including available motion information of the temporal domain (not shown) and the spatial domain (A1 to A6, and B1 to B5, and D), or may be filled with a weighting of at least two available motion information, or may be filled with motion information of a zero motion vector, without limitation.
In the application scenario 4, as shown in fig. 9F, A3 is an intra block, and the motion information of the intra block A3 may be determined by using available motion information of image blocks around the intra block A3; alternatively, a motion information including a zero motion vector may be generated for the intra block A3, and the determination of the motion information is not limited.
In the application scenario 5, referring to fig. 9G, the current image block is a boundary block of an image, and B4, B5, B6, and B7 are configuration blocks of the current image block outside the boundary, where the available motion information in the time domain or the spatial domain may be used to fill B4, B5, B6, and B7, or the available motion information in at least two spatial domains and/or the available motion information in the time domain are weighted, and B4, B5, B6, and B7 are filled with the available motion information after weighted calculation, or the motion information of a zero motion vector is filled.
Example 11: the embodiment of the present application provides a decoding method, which can be applied to a decoding end, and includes:
step d1, creating a motion information prediction mode candidate list of the current image block; wherein the motion information prediction mode candidate list may include at least one motion information prediction mode.
And d2, selecting a motion information prediction mode from the motion information prediction mode candidate list, and determining the selected motion information prediction mode as a target motion information prediction mode of the current image block.
And d3, determining the target motion information of the current image block according to the target motion information prediction mode.
For the flows of step d1 to step d3, reference may be made to the above embodiments, which are not described herein again.
And d4, decoding the received coded bit stream according to the target motion information.
Specifically, after obtaining the target motion information, the decoding end may decode the encoded bitstream according to the target motion information, and the specific decoding manner may refer to a conventional manner and is not described herein again.
Example 12: the embodiment of the present application provides an encoding method, which can be applied to an encoding end, and includes:
e1, creating a motion information prediction mode candidate list of the current image block; wherein the motion information prediction mode candidate list may include at least one motion information prediction mode.
And e2, selecting a motion information prediction mode from the motion information prediction mode candidate list, and determining the selected motion information prediction mode as a target motion information prediction mode of the current image block.
For the flows of step e1 to step e3, reference may be made to the above embodiments, which are not described herein again.
And e3, coding the bit stream according to the target motion information prediction mode to obtain a coded bit stream.
Specifically, after obtaining the target motion information prediction mode, the encoding end may encode the bitstream according to the target motion information prediction mode, and the specific encoding mode refers to a conventional mode and is not described herein again.
Example 13: referring to fig. 10, which is a schematic processing flow diagram of an encoding end, the encoding end may construct a motion information prediction mode candidate list of a current image block, and select a target motion information prediction mode from the motion information prediction mode candidate list, if motion information of the present scheme is used, index information of the target motion information prediction mode in the motion information prediction mode candidate list is carried into an encoded bitstream, and if motion information of the present scheme is not used, other motion information is carried into the encoded bitstream.
Referring to fig. 11, a process flow diagram of a decoding end is shown, where the decoding end can parse the indication information in the coded bit stream. If the indication information indicates the motion information adopting the scheme, a motion information prediction mode candidate list of the current image block is constructed, a target motion information prediction mode is selected from the motion information prediction mode candidate list according to the index information, and the target motion information of the current image block is deduced by using the target motion information prediction mode. If the indication information indicates that the motion information of the scheme is not adopted, other motion information is adopted.
In one example, a motion information prediction mode candidate list may be constructed, the candidate list including at least one of a DC prediction mode and an angle prediction mode. Wherein the DC prediction mode is a weighting of motion information of surrounding blocks of the current image block, the surrounding blocks including blocks adjacent to the current image block and also including non-adjacent blocks, such as the bottom left row and the top right row. The angular prediction mode is a principle similar to the intra prediction mode, and performs prediction on motion information of sub-blocks inside a current image block according to a certain angle. Such as 5 angles, i.e. horizontal, vertical, horizontal up, horizontal down and vertical right, the present solution is not limited to the 5 angles, and all angles are included in the present solution.
And processing the reference motion information of the blocks around the current image block, wherein the processing comprises at least one of the following steps: filtering of the reference motion information. And filling the reference motion information, filling the right column, directly filling the reference motion information by using the motion information of a time domain or a space domain, or filling the reference motion information after certain transformation. The reference motion information is filled, the lower line is filled, the reference motion information can be directly filled by the motion information of a time domain or a space domain, and the reference motion information can also be filled after certain transformation. If the reference motion information is an intra-frame coding block, the reference motion information is padded with the motion information of other inter-frame coding blocks or padded with zero motion vectors, and other motion information (except the motion vectors) can be freely selected. For reference motion information, if the neighboring position is not available, the motion information of other available blocks is padded, or zero motion vectors are padded, and other motion information (except for motion vectors) can be freely selected.
In one example, when the DC prediction mode is selected to assign motion information to each region of the current image block, a weighted calculation of at least two different surrounding motion information is included as the motion information of the current image block.
In one example, when the angular prediction mode is selected to assign motion information to each area of the current image block, the angle may be in the horizontal angular mode, for example, the areas in the first row all use the motion information of the A1 block.
In one example, when an angle prediction mode is selected to assign motion information to each area of a current image block, an angle may be a horizontal angle mode, and when the horizontal prediction mode is adopted, the areas in the first row all adopt the motion information of an A1 block, and a certain scale operation may be performed on the motion information of the A1 block, and then the motion information is assigned to each area in the first row. The processing of the remaining rows is similar, as are the remaining angular prediction modes.
In one example, when an angular prediction mode is selected to assign motion information to each area of the current image block, the angle may be a horizontal angle mode, and when the horizontal prediction mode is adopted, if the corresponding A1 block has a plurality of different motion information, any one of the motion information in A1 or weighting processing of at least two pieces of surrounding motion information is selected and then assigned to each area in the first row, and the remaining rows are similar.
In one example, when an angle prediction mode is selected to assign motion information to each region of a current image block, if a direction corresponding to an angle is not exactly one sub-block, at least two pieces of motion information on the left and right sides of the angle may be weighted to a certain extent, and then the weighted motion information is assigned to the region of the current image block.
In one example, if the motion information prediction mode candidate list in the scheme is the same as the prediction mode lists of other schemes, only a unary truncation code needs to be used to encode the index position information of the scheme in the motion information prediction mode candidate list, and the specific encoding manner is described in the above embodiment.
In one example, a flag may be first encoded to determine whether a motion information prediction mode is used, and if a motion information prediction mode is used and the encoding end fixes a motion information prediction mode, the encoding end does not need any bit overhead.
In one example, a flag may be decoded first to determine whether to use the motion information prediction mode, if the motion information prediction mode is used, a unary truncation code is used to decode the index information of the specific motion information prediction mode in the motion information prediction mode candidate list, the decoding end only needs to solve 1,
in one example, a flag may be decoded first to determine whether to use the motion information prediction mode, and if the motion information prediction mode is used, the index information of the specific prediction mode in the candidate list is decoded in a fixed length manner. In one example, if the list of the present embodiment is the same as the list of the other embodiments, the existing embodiment is used to decode the index information of the specific prediction mode in the candidate list.
Example 14: based on the same application concept as the method, an embodiment of the present application further provides a motion information determining apparatus applied to a decoding end, as shown in fig. 12, which is a structural diagram of the apparatus, including:
a creating module 1201, configured to create a motion information prediction mode candidate list of a current image block; the motion information prediction mode candidate list comprises at least one motion information prediction mode; a selecting module 1202, configured to select a motion information prediction mode from the motion information prediction mode candidate list, and determine the selected motion information prediction mode as a target motion information prediction mode of the current image block; a determining module 1203, configured to determine target motion information of the current image block according to the target motion information prediction mode.
Based on the same application concept as the method, an embodiment of the present application further provides a motion information determining apparatus, applied to an encoding end, as shown in fig. 13, which is a structural diagram of the apparatus, including:
a creating module 1301, configured to create a motion information prediction mode candidate list of a current image block; wherein the motion information prediction mode candidate list comprises at least one motion information prediction mode; a selecting module 1302, configured to select a motion information prediction mode from the motion information prediction mode candidate list, and determine the selected motion information prediction mode as a target motion information prediction mode of the current image block.
In terms of hardware, the hardware architecture diagram of the decoding-side device provided in the embodiment of the present application may specifically refer to fig. 14. The method comprises the following steps: a processor 141 and a machine-readable storage medium 142, wherein: the machine-readable storage medium 142 stores machine-executable instructions executable by the processor 141; the processor 141 is configured to execute machine-executable instructions to implement the methods disclosed in the above examples of the present application.
As for the encoding end device provided in the embodiment of the present application, in terms of a hardware level, a schematic diagram of a hardware architecture of the encoding end device may specifically refer to fig. 15. The method comprises the following steps: a processor 151 and a machine-readable storage medium 152, wherein: the machine-readable storage medium 152 stores machine-executable instructions executable by the processor 151; the processor 151 is configured to execute machine-executable instructions to implement the methods disclosed in the above examples of the present application.
Based on the same application concept as the method, embodiments of the present application further provide a machine-readable storage medium, where several computer instructions are stored, and when the computer instructions are executed by a processor, the method disclosed in the above example of the present application can be implemented.
The machine-readable storage medium 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 machine-readable storage medium 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.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. A typical implementation device is a computer, which may take the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email messaging device, game console, tablet computer, wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Furthermore, these computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement or the like made within the spirit and principle of the present application shall be included in the scope of the claims of the present application.

Claims (11)

1. A method for determining motion information, applied to a decoding side, comprising:
creating a motion information prediction mode candidate list of a current image block, wherein the motion information prediction mode candidate list comprises at least one motion information angle prediction mode;
selecting a motion information prediction mode from the motion information prediction mode candidate list as a target motion information prediction mode of the current image block;
and if the target motion information prediction mode is a target motion information angle prediction mode, selecting a matching block for a specified area in the current image block from peripheral blocks of the current image block according to a pre-configuration angle indicated by the target motion information angle prediction mode, and determining target motion information of the specified area in the current image block according to available motion information of the matching block.
2. The method of claim 1, wherein the matching block is one or more blocks at a specified location determined from the perimeter blocks at the preconfigured angle;
the peripheral blocks include blocks adjacent to the current image block.
3. The method of claim 1, wherein after selecting a matching block for a specified area inside the current image block from among the peripheral blocks of the current image block, the method further comprises:
if the matching block is an intra-frame block, generating motion information of the intra-frame block according to motion information of inter-frame blocks around the intra-frame block; or, generating motion information containing a zero motion vector for the intra block.
4. The method of claim 1, wherein prior to selecting a matching block from the perimeter blocks of the current image block for the specified area inside the current image block, the method further comprises:
for any peripheral block of the current image block, if the peripheral block is an uncoded block, determining at least one spatial domain available motion information of the uncoded block as the motion information of the uncoded block; or generating motion information containing zero motion vectors for the uncoded blocks;
for any peripheral block of the current image block, if the peripheral block is an intra-frame block, generating motion information of the intra-frame block according to motion information of inter-frame blocks around the intra-frame block; or, generating motion information containing a zero motion vector for the intra block;
for any peripheral block of the current image block, if the current image block is a boundary block and the peripheral block comprises at least one configuration block, generating motion information of the configuration block according to available motion information of a spatial domain; alternatively, motion information containing zero motion vectors is generated for the configuration block.
5. The method as claimed in claim 1, wherein the determining the target motion information of the designated area inside the current image block according to the available motion information of the matching block comprises:
if the number of the matching blocks is one, determining the available motion information of one matching block as the target motion information of the specified area in the current image block; or, if the number of the matching blocks is at least two, selecting one matching block from the at least two matching blocks, and determining the available motion information of the selected matching block as the target motion information of the designated area inside the current image block.
6. The method according to any one of claims 1 to 5,
for a motion information angle prediction mode in the motion information prediction mode candidate list, indicating the following preconfigured angles: 0 degree, 90 degrees, 45 degrees, -45 degrees, 135 degrees.
7. A motion information determination method applied to a coding end includes:
creating a motion information prediction mode candidate list of a current image block, wherein the motion information prediction mode candidate list comprises at least one motion information angle prediction mode;
selecting a motion information prediction mode from the motion information prediction mode candidate list as a target motion information prediction mode of the current image block;
if the target motion information prediction mode is a target motion information angle prediction mode, selecting a matching block for a specified area inside the current image block from the peripheral blocks of the current image block according to a pre-configuration angle indicated by the target motion information angle prediction mode, and determining target motion information of the specified area inside the current image block according to available motion information of the matching block.
8. A motion information determining apparatus, applied to a decoding side, comprising:
a creating module, configured to create a motion information prediction mode candidate list of a current image block, where the motion information prediction mode candidate list includes at least one motion information angle prediction mode;
a selection module, configured to select a motion information prediction mode from the motion information prediction mode candidate list as a target motion information prediction mode of the current image block;
and the determining module is used for selecting a matching block for the specified area inside the current image block from the peripheral blocks of the current image block according to a preconfigured angle indicated by the target motion information angle prediction mode if the target motion information prediction mode is the target motion information angle prediction mode, and determining the target motion information of the specified area inside the current image block according to the available motion information of the matching block.
9. A motion information determining apparatus, applied to an encoding side, comprising:
a creating module, configured to create a motion information prediction mode candidate list of a current image block, where the motion information prediction mode candidate list includes at least one motion information angle prediction mode;
a selection module, configured to select a motion information prediction mode from the motion information prediction mode candidate list as a target motion information prediction mode of the current image block;
and the determining module is used for selecting a matching block for the specified area inside the current image block from the peripheral blocks of the current image block according to a preconfigured angle indicated by the target motion information angle prediction mode if the target motion information prediction mode is the target motion information angle prediction mode, and determining the target motion information of the specified area inside the current image block according to the available motion information of the matching block.
10. A decoding-side apparatus, comprising: a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor; the processor is configured to execute machine executable instructions to perform the method steps of any of claims 1-6.
11. An encoding side device, comprising: a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor; the processor is operable to execute machine executable instructions to perform the method steps of claim 7.
CN202210922647.4A 2018-11-30 2018-11-30 Motion information determination method, device and equipment Pending CN115348442A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210922647.4A CN115348442A (en) 2018-11-30 2018-11-30 Motion information determination method, device and equipment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210922647.4A CN115348442A (en) 2018-11-30 2018-11-30 Motion information determination method, device and equipment
CN201811459061.9A CN111263144B (en) 2018-11-30 2018-11-30 Motion information determination method and equipment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811459061.9A Division CN111263144B (en) 2018-11-30 2018-11-30 Motion information determination method and equipment

Publications (1)

Publication Number Publication Date
CN115348442A true CN115348442A (en) 2022-11-15

Family

ID=70852704

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201811459061.9A Active CN111263144B (en) 2018-11-30 2018-11-30 Motion information determination method and equipment
CN202210922647.4A Pending CN115348442A (en) 2018-11-30 2018-11-30 Motion information determination method, device and equipment
CN202210923870.0A Pending CN115348443A (en) 2018-11-30 2018-11-30 Motion information determination method, device and equipment

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811459061.9A Active CN111263144B (en) 2018-11-30 2018-11-30 Motion information determination method and equipment

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210923870.0A Pending CN115348443A (en) 2018-11-30 2018-11-30 Motion information determination method, device and equipment

Country Status (2)

Country Link
CN (3) CN111263144B (en)
WO (1) WO2020108360A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112004096A (en) * 2020-07-20 2020-11-27 浙江大华技术股份有限公司 Angle mode inter-frame prediction method, encoder and storage medium
CN112291565B (en) * 2020-09-10 2021-09-14 浙江大华技术股份有限公司 Video coding method and related device
CN114125451B (en) * 2021-12-01 2022-12-06 锐宸微(上海)科技有限公司 Video encoding method, video encoding device, and video processing device
CN116456100B (en) * 2023-06-16 2023-08-29 深流微智能科技(深圳)有限公司 Inter-frame coding tree unit division method and device

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101365574B1 (en) * 2007-01-29 2014-02-20 삼성전자주식회사 Method and apparatus for video encoding, and Method and apparatus for video decoding
US20090316042A1 (en) * 2008-06-19 2009-12-24 Chin-Chuan Liang Video processing methods and related devices for determining target motion vector
SG187094A1 (en) * 2010-07-20 2013-03-28 Ntt Docomo Inc Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
US8755437B2 (en) * 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
WO2012134046A2 (en) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 Method for encoding video
WO2013021617A1 (en) * 2011-08-11 2013-02-14 株式会社Jvcケンウッド Moving image encoding apparatus, moving image encoding method, moving image encoding program, moving image decoding apparatus, moving image decoding method, and moving image decoding program
JP5958165B2 (en) * 2011-08-12 2016-07-27 株式会社Jvcケンウッド Image decoding apparatus, image decoding method, image decoding program, receiving apparatus, receiving method, and receiving program
US9154796B2 (en) * 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
US9554136B2 (en) * 2011-12-05 2017-01-24 Lg Electronics Inc. Method and device for intra prediction
US10003810B2 (en) * 2012-03-22 2018-06-19 Mediatek Inc. Method and apparatus of scalable video coding
EP3078192B1 (en) * 2014-02-21 2019-12-04 MediaTek Singapore Pte Ltd. Method of video coding using prediction based on intra picture block copy
CN104869399A (en) * 2014-02-24 2015-08-26 联想(北京)有限公司 Information processing method and electronic equipment.
WO2016008157A1 (en) * 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
US9542603B2 (en) * 2014-11-17 2017-01-10 Polycom, Inc. System and method for localizing a talker using audio and video information
JP6643095B2 (en) * 2016-01-15 2020-02-12 キヤノン株式会社 Image blur correction apparatus and control method thereof, program, storage medium
CN107094260A (en) * 2016-02-17 2017-08-25 浙江大学 The method and apparatus for exporting difference vector and motion vector
CN105791862B (en) * 2016-03-21 2018-09-14 杭州电子科技大学 3 d video encoding depth map internal schema selection method based on fringe complexity
CN106131547B (en) * 2016-07-12 2018-07-03 北京大学深圳研究生院 The high-speed decision method of intra prediction mode in Video coding
CN108366256A (en) * 2018-01-25 2018-08-03 西安电子科技大学 A kind of HEVC intra prediction modes quickly select system and method

Also Published As

Publication number Publication date
CN115348443A (en) 2022-11-15
CN111263144B (en) 2022-07-01
CN111263144A (en) 2020-06-09
WO2020108360A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
US10812821B2 (en) Video encoding and decoding
JP7025491B2 (en) Candidate list sharing method and devices using such method
CN110999304B (en) Image processing method and image encoding/decoding method, and apparatus using the same
US11303919B2 (en) Method and apparatus for inter prediction in video coding system
JP2024052919A (en) Video Decoding Method
KR20210065922A (en) Method and apparatus for determination of reference unit
CN111263144B (en) Motion information determination method and equipment
WO2013042888A2 (en) Method for inducing a merge candidate block and device using same
CN116489387A (en) Image encoding/decoding method and apparatus
KR102320585B1 (en) Method for inter prediction and apparatus thereof
MX2014000160A (en) Method and apparatus for encoding motion information, and method and apparatus for decoding same.
CN112740686A (en) Method and apparatus for intra prediction mode encoding/decoding and recording medium for storing bitstream
CN113273188A (en) Image encoding/decoding method and apparatus, and recording medium storing bit stream
KR101238012B1 (en) Method and device for encoding prediction motion vector
CN112055220B (en) Encoding and decoding method, device and equipment
CN111669592B (en) Encoding and decoding method, device and equipment

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