Patent ID: 12219125

DETAILED DESCRIPTION

The terms used in the present disclosure are directed to illustrating particular examples, rather than to limit the present disclosure. The singular forms “a” “an” and “the” as used in the present disclosure as well as the appended claims also refer to plural forms unless other meanings are definitely contained in the context. It should be appreciated that the term “and/or” as used herein refers to any or all possible combinations of one or more associated listed items.

It shall be understood that, although the terms “first,” “second,” “third,” etc. may be used herein to describe various information, the information should not be limited by these terms. These terms are only used to distinguish one category of information from another. For example, without departing from the scope of the present disclosure, first information may be termed as second information; and similarly, second information may also be termed as first information. As used herein, the term “if” may be understood to mean “when” or “upon” or “in response to,” depending on the context.

Reference throughout this specification to “one embodiment,” “an embodiment,” “another embodiment,” or the like in the singular or plural means that one or more particular features, structures, or characteristics described in connection with an embodiment are included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment,” “in another embodiment,” or the like in the singular or plural in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics in one or more embodiments may be combined in any suitable manner.

Conceptually, many video coding standards are similar, including those previously mentioned in the Background section. For example, virtually all video coding standards use block-based processing, and share similar video coding block diagrams to achieve video compression.

FIG.1shows a block diagram of an illustrative block-based hybrid video encoder100which may be used in conjunction with many video coding standards. In the encoder100, a video frame is partitioned into a plurality of video blocks for processing. For each given video block, a prediction is formed based on either an inter prediction approach or an intra prediction approach. In inter prediction, one or more predictors are formed through motion estimation and motion compensation, based on pixels from previously reconstructed frames. In intra prediction, predictors are formed based on reconstructed pixels in a current frame. Through mode decision, a best predictor may be chosen to predict a current block.

A prediction residual, representing the difference between a current video block and its predictor, is sent to a Transform circuitry102. Transform coefficients are then sent from the Transform circuitry102to a Quantization circuitry104for entropy reduction. Quantized coefficients are then fed to an Entropy Coding circuitry106to generate a compressed video bitstream. As shown inFIG.1, prediction-related information110from an inter prediction circuitry and/or an Intra Prediction circuitry112, such as video block partition info, motion vectors, reference picture index, and intra prediction mode, are also fed through the Entropy Coding circuitry106and saved into a compressed video bitstream114.

In the encoder100, decoder-related circuitries are also needed in order to reconstruct pixels for the purpose of prediction. First, a prediction residual is reconstructed through an Inverse Quantization116and an Inverse Transform circuitry118. This reconstructed prediction residual is combined with a Block Predictor120to generate un-filtered reconstructed pixels for a current video block.

To improve coding efficiency and visual quality, an in-loop filter is commonly used. For example, a deblocking filter is available in AVC, HEVC as well as the now-current version of VVC. In HEVC, an additional in-loop filter called SAO (sample adaptive offset) is defined to further improve coding efficiency. In the now-current version of the VVC standard, yet another in-loop filter called ALF (adaptive loop filter) is being actively investigated, and it has a good chance of being included in the final standard.

These in-loop filter operations are optional. Performing these operations helps to improve coding efficiency and visual quality. They may also be turned off as a decision rendered by the encoder100to save computational complexity.

It should be noted that intra prediction is usually based on unfiltered reconstructed pixels, while inter prediction is based on filtered reconstructed pixels if these filter options are turned on by the encoder100.

FIG.2is a block diagram setting forth an illustrative video decoder200which may be used in conjunction with many video coding standards. This decoder200is similar to the reconstruction-related section residing in the encoder100ofFIG.1. In the decoder200(FIG.2), an incoming video bitstream201is first decoded through an Entropy Decoding202to derive quantized coefficient levels and prediction-related information. The quantized coefficient levels are then processed through an Inverse Quantization204and an Inverse Transform206to obtain a reconstructed prediction residual. A block predictor mechanism, implemented in an Intra/inter Mode Selector212, is configured to perform either an Intra Prediction208, or a Motion Compensation210, based on decoded prediction information. A set of unfiltered reconstructed pixels are obtained by summing up the reconstructed prediction residual from the Inverse Transform206and a predictive output generated by the block predictor mechanism, using a Summer214. In situations where an in-loop filter is turned on, a filtering operation is performed on these reconstructed pixels to derive the final reconstructed video. The reconstructed video in reference picture store is then sent out to drive a display device, as well as used to predict future video blocks.

In video coding standards such as HEVC, blocks may be partitioned based on quad-trees. In newer video coding standards such as the now-current VVC, more partition methods are employed, and one coding tree unit (CTU) may be split into CUs to adapt to varying local characteristics based on quad-tree, binary-tree or ternary-tree. The separation of CU, prediction unit (PU) and transform unit (TU) does not exist in most coding modes in the now-current VVC, and each CU is always used as the basic unit for both prediction and transform without further partitions. However, in some specific coding modes such as intra sub-partition coding mode, each CU may still contain multiple TUs. In the multi-type tree structure, one CTU is firstly partitioned by a quad-tree structure. Then, each quad-tree leaf node can be further partitioned by a binary and ternary tree structure.

FIG.3shows the five splitting types employed in the now-current VVC, namely, quaternary partitioning301, horizontal binary partitioning302, vertical binary partitioning303, horizontal ternary partitioning304, and vertical ternary partitioning305.

In video coding standards such as HEVC and the now-current VVC, previously decoded pictures are managed in a decoded picture buffer (DPB) in order to be used for reference under the concept of reference picture set (RPS). Pictures in the DPB can be marked as “used for short-term reference,” “used for long-term reference” or “unused for reference.”

When the reference picture of the neighboring block is different from the given target reference picture for the current block, the scaled motion vectors of the spatial neighboring block may be used as motion vector predictor for the current block. In the scaling process for the spatial motion candidates, the scaling factor is calculated based on the picture order count (POC) distance between the current picture and the target reference picture, and the POC distance between the current picture and the reference picture for the neighboring block.

In video coding standards such as HEVC and the now-current VVC, certain constraints are placed upon the scaling process for the spatial motion candidates, based on whether certain reference pictures involved in the process are long-term reference pictures or not long-term reference pictures. When one of the two reference pictures is a long-term reference picture and the other one is not a long-term reference picture, the MV of the neighboring block is regarded as invalid. When both the two reference pictures are long-term reference pictures, the MVs of the spatial neighboring block is directly used as the MVP for the current block and the scaling processing is prohibited because the POC distance between the two long-term reference pictures are usually greater and thus the scaled MVs may be unreliable.

Similarly, in the scaling process for the temporal motion candidates, the scaling factor is calculated based on the POC distance between the current picture and the target reference picture, and the POC distance between the collocated picture and the reference picture for the temporal neighboring block (also known as collocated block).

In video coding standards such as HEVC and the now-current VVC, certain constraints are also placed upon the scaling process for the temporal motion candidates, based on whether certain reference pictures involved in the process are long-term reference pictures or not long-term reference pictures. When one of the two reference pictures is a long-term reference picture and the other one is not a long-term reference picture, the MV of the neighboring block is regarded as invalid. When both the two reference pictures are long-term reference pictures, the MVs of the temporal neighboring block is directly used as the MVP for the current block and the scaling processing is prohibited because the POC distance between the two long-term reference pictures are usually greater and thus the scaled MVs may be unreliable.

In newer video coding standards such as the now-current VVC, new inter-mode coding tools have been introduced, and some examples of the new inter-mode coding tools are: Bi-Directional Optical Flow (BDOF), Decoder-side Motion Vector Refinement (DMVR), Merge mode with MVD (MMVD), Symmetric MVD (SMVD), Bi-prediction with Weighted Averaging (BWA), pair-wise average merge candidates derivation, and Subblock-based Temporal Motion Vector Prediction (SbTMVP).

Conventional bi-prediction in video coding is a simple combination of two temporal prediction blocks obtained from the reference pictures that are already reconstructed. However, due to the limitation of the block-based motion compensation, there could be remaining small motion that can be observed between the samples of two prediction blocks, thus reducing the efficiency of motion compensated prediction. To solve this problem, BDOF is applied in the now-current VVC to lower the impacts of such motion for every sample inside one block.

FIG.4is an illustration of the BDOF process. The BDOF is sample-wise motion refinement that is performed on top of the block-based motion-compensated predictions when bi-prediction is used. The motion refinement of each 4×4 sub-block is calculated by minimizing the difference between reference picture list 0 (L0) and reference picture list 1 (L1) prediction samples after the BDOF is applied inside one 6×6 window around the sub-block. Based on the motion refinement so derived, the final bi-prediction samples of the CU are calculated by interpolating the L0/L1 prediction samples along the motion trajectory based on the optical flow model.

DMVR is a bi-prediction technique for merge blocks with two initially signaled MVs that can be further refined by using bilateral matching prediction.

FIG.5is an illustration of bilateral matching used in DMVR. The bilateral matching is used to derive motion information of the current CU by finding the closest match between two blocks along the motion trajectory of the current CU in two different reference pictures. The cost function used in the matching process is row-subsampled sum of absolute difference (SAD). After the matching process is done, the refined MVs are used for motion compensation in the prediction stage, boundary strength calculation in deblock filter, temporal motion vector prediction for subsequent pictures and cross-CTU spatial motion vector prediction for subsequent CUs. Under the assumption of continuous motion trajectory, the motion vectors MV0 and MV1 pointing to the two reference blocks shall be proportional to the temporal distances, i.e., TD0 and TD1, between the current picture and the two reference pictures. As a special case, when the current picture is temporally between the two reference pictures and the temporal distance from the current picture to the two reference pictures is the same, the bilateral matching becomes mirror based bi-directional MV.

The now-current VVC introduced MMVD in addition to the existing merge mode. In the existing merge mode, the implicitly derived motion information is directly used for prediction sample generation of the current CU. In MMVD mode, after a merge candidate is selected, it is further refined by the signaled MVDs information.

A MMVD flag is signaled right after sending a skip flag and a merge flag to specify whether MMVD mode is used for a CU. The MMVD mode information includes a merge candidate flag, a distance index to specify motion magnitude, and a direction index for indication of motion direction.

In MMVD mode, only one of the first two candidates in the merge list is allowed to be selected as a starting MV, and the merge candidate flag is signaled to specify which one of the first two candidates is used.

FIG.6is an illustration of search points used in MMVD. An offset is added to either horizontal component or vertical component of the starting MV to derive the search points. The distance index specifies motion magnitude information and indicates a pre-defined offset from the starting point, and the direction index represents the direction of the offset relative to the starting point through a pre-defined mapping from direction indices to offset signs.

The meaning of the mapped offset sign could be variant according to the information of starting MVs. When the starting MV is a uni-prediction MV or a bi-prediction MV with their referred reference picture(s) pointing to the same side of the current picture (i.e. POCs of up to two reference pictures are both larger than the current picture POC, or are both smaller than the current picture POC), the mapped offset sign specifies the sign of MV offset added to the starting MV. When the starting MV is a bi-prediction MV with its two motion vectors pointing to different sides of the current picture (i.e. the POC of one reference picture is larger than the current picture POC, and the POC of the other reference picture is smaller than the current picture POC), the mapped offset sign specifies the sign of the MV offset added to the L0 motion vector of the starting MV and the opposite sign of the MV offset added to the L1 motion vector of the starting MV.

Both components of MV offsets are then derived from signaled MMVD distances and signs, and the final MVDs are further derived from the MV offset components.

The now-current VVC also introduced the SMVD mode. With the SMVD mode, motion information including reference picture indices of both L0 and L1 and MVD of L1 are not signaled but derived. In the encoder, SMVD motion estimation starts with initial MV evaluation. The set of initial MV candidates comprises of the MV obtained from uni-prediction search, the MV obtained from bi-prediction search and the MVs from the AMVP list. The initial MV candidate with the lowest rate-distortion cost is chosen to be the initial MV for the SMVD motion search.

The now-current VVC also introduced BWA. In HEVC, the bi-prediction signal is generated by averaging two prediction signals obtained from two reference pictures and/or using two motion vectors. In the now-current VVC, with BWA, the bi-prediction mode is extended beyond simple averaging to allow weighted averaging of the two prediction signals

In the now-current VVC, five weights are allowed in the BWA. For each bi-predicted CU, the weight is determined in one of two ways. For a non-merge CU, the weight index is signaled after the motion vector difference, while for a merge CU, the weight index is inferred from neighbouring blocks based on the merge candidate index. Weighted averaging bi-prediction is only applied to CUs with 256 or more luma samples (i.e., CU width times CU height is greater than or equal to 256). For pictures without using backward prediction, all five weights are used. For pictures using backward prediction, only a pre-defined subset of three weights out of the five are used.

The now-current VVC also introduced pair-wise average merge candidates derivation. In pair-wise average merge candidates derivation, pairwise average candidates are generated by averaging predefined pairs of candidates in the existing merge candidate list. The averaged motion vectors are calculated separately for each reference list. When both motion vectors are available in one list, these two motion vectors are averaged even when they point to different reference pictures; when only one motion vector is available, this one motion vector is used directly; and when no motion vector is available, the list is kept invalid. When the merge list is not full after pair-wise average merge candidates are added, zero MVPs are inserted in the end until the maximum merge candidate number is encountered.

The current reference software codebase for the now-current VVC, known as VVC Test Model (VTM), also introduced the SbTMVP mode. Similarly to the temporal motion vector prediction (TMVP) in HEVC, SbTMVP uses the motion field in the collocated picture to improve motion vector prediction and merge mode for CUs in the current picture. The same collocated picture used by TMVP is used for SbTMVP. SbTMVP differs from TMVP in the following two main aspects: first, TMVP predicts motion at CU level but SbTMVP predicts motion at sub-CU level, and second, whereas TMVP fetches the temporal motion vectors from the collocated block in the collocated picture (the collocated block is the bottom-right or center block relative to the current CU), SbTMVP applies a motion shift before fetching the temporal motion information from the collocated picture, where the motion shift is obtained from the motion vector from one of the spatial neighboring blocks of the current CU.

FIG.7AandFIG.7Billustrate the operation of the SbTMVP mode. SbTMVP predicts the motion vectors of the sub-CUs within the current CU in two steps.FIG.7Aillustrates the first step, where the spatial neighbors are examined in the order of A1, B1, B0 and A0. As soon as the first spatial neighboring block that has a motion vector that uses the collocated picture as its reference picture is identified, this motion vector is selected to be the motion shift to be applied. When no such motion is identified from the spatial neighbors, then the motion shift is set to (0, 0).FIG.7Billustrates the second step, where the motion shift identified in the first step is applied (i.e. added to the current block's coordinates) to obtain sub-CU-level motion information (motion vectors and reference indices) from the collocated picture. The illustration employed inFIG.7Bshows an example where the motion shift is set to block A1's motion. Then, for each sub-CU, the motion information of its corresponding block (the smallest motion grid that covers the center sample) in the collocated picture is used to derive the motion information for the sub-CU. After the motion information of the collocated sub-CU is identified, it is converted to the motion vectors and reference indices of the current sub-CU in a similar way as the TMVP process of HEVC, where temporal motion scaling is applied to align the reference pictures of the temporal motion vectors to those of the current CU.

In the third version of VTM (VTM3), a combined sub-block based merge list which contains both SbTMVP candidate and affine merge candidates is used for the signaling of sub-block based merge mode. The SbTMVP mode is enabled or disabled by a sequence parameter set (SPS) flag. When the SbTMVP mode is enabled, the SbTMVP predictor is added as the first entry of the list of sub-block based merge candidates, and followed by the affine merge candidates. The size of sub-block based merge list is signaled in SPS and the maximum allowed size of the sub-block based merge list is fixed at 5 in VTM3. The sub-CU size used in SbTMVP is fixed to be 8×8, and as done for affine merge mode, SbTMVP mode is only applicable to the CU with both width and height are larger than or equal to 8. The encoding logic of the additional SbTMVP merge candidate is the same as for the other merge candidates, that is, for each CU in P or B slice, an additional RD check is performed to decide whether to use the SbTMVP candidate.

The now-current VVC introduced the new inter-mode coding tools, however, the long-term reference picture related constraints, which is present in HEVC and the now-current VVC for the scaling process for the derivation of spatial and temporal motion candidates, are not well defined in some of the new tools. In this disclosure, we propose several constraints related to the long-term reference pictures on the new inter-mode coding tools.

According to the present disclosure, during the operation of an inter-mode coding tool on an inter-mode coded block, a determination will be made regarding whether one or more of the reference pictures associated with an inter-mode coded block involved in the operation of the inter-mode coding tool are long-term reference pictures, and then based on the determination, constraints will be placed upon the operation of the inter-mode coding tool on the inter-mode coded block.

According to an embodiment of the present disclosure, the inter-mode coding tool comprises a generation of pair-wise average merge candidates.

In one example, when an averaged merge candidate involved in the generation of pair-wise average merge candidates is generated from a pre-defined pair of candidates comprising one reference picture which is a long-term reference picture and another reference picture which is not a long-term reference picture, the averaged merge candidate is regarded as invalid.

In the same example, during the generation of an averaged merge candidate from a pre-defined pair of candidates comprising two reference pictures which are both long-term reference pictures, the scaling process is prohibited.

According to another embodiment of the present disclosure, the inter-mode coding tool comprises BDOF and the inter-mode coded block is a bi-directional prediction block.

In one example, when the determination is made that one reference picture of the bi-directional prediction block involved in the operation of BDOF is a long-term reference picture and the other reference picture of the bi-directional prediction block involved in the operation of BDOF is not a long-term reference picture, the performance of BDOF is prohibited.

According to another embodiment of the present disclosure, the inter-mode coding tool comprises DMVR and the inter-mode coded block is a bi-directional prediction block.

In one example, when the determination is made that one reference picture of the bi-directional prediction block involved in the operation of DMVR is a long-term reference picture and the other reference picture of the bi-directional prediction block involved in the operation of DMVR is not a long-term reference picture, the performance of DMVR is prohibited.

In another example, when the determination is made that one reference picture of the bi-directional prediction block involved in the operation of DMVR is a long-term reference picture and the other reference picture of the bi-directional prediction block involved in the operation of DMVR is not a long-term reference picture, the scope of performance of DMVR is limited to that of the performance of integer-pixel DMVR.

According to another embodiment of the present disclosure, the inter-mode coding tool comprises the derivation of MMVD candidates.

In one example, when the determination is made that a motion vector candidate involved in the derivation of MMVD candidates has its motion vector pointing to a reference picture which is a long-term reference picture, the use of the motion vector candidate as a base motion vector (also known as a starting motion vector) is prohibited.

In a second example, when one reference picture of the inter-mode coded block involved in the derivation of MMVD candidates is a long-term reference picture and the other reference picture of the inter-mode coded block involved in the derivation of MMVD candidates is not a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, then for the one motion vector that is pointing to the long-term reference picture and that is also contained in the bi-directional base motion vector, the modification of the one motion vector by signaled motion vector difference (MVD) is prohibited.

In the same second example, the proposed MVD modification process will be instead as shown in the block immediately following this paragraph, where the emphasized portions of the text show the proposed modification from the existing MVD modification process in the now-current VVC.

When the starting MV is a bi-prediction MV, the following applies:currPocDiffL0 = POC difference between the current picture and the list 0 reference picturecurrPocDiffL1 = POC difference between the current picture and the list 1 reference pictureWhen (−currPocDiffL0 * currPocDiffL1) is greater than 0, the following applies:finalMVDL0[ 0 ] = MmvdOffset [ 0 ]finalMVDL0[ 1 ] = MmvdOffset [ 1 ]finalMVDL1[ 0 ] = −MmvdOffset [ 0 ]finalMVDL1[ 1 ] = −MmvdOffset [ 1 ]Otherwise ( −currPocDiffL0 * currPocDiffL1 is less than 0 ), the following applies:finalMVDL0[ 0 ] = MmvdOffset [ 0 ]finalMVDL0[ 1 ] = MmvdOffset [ 1 ]finalMVDL1[ 0 ] = MmvdOffset [ 0 ]finalMVDL1[ 1 ] = MmvdOffset [ 1 ]When Abs( currPocDiffL0 ) is greater than Abs( currPocDiffL1 ) and both reference pictures areNOT long-term reference pictures, the following applies:td = Clip3( −128, 127, currPocDiffL0 )tb = Clip3( −128, 127, currPocDiffL1 )tx = ( 16384 + ( Abs( td ) >> 1 ) ) / tddistScaleFactor = Clip3( −4096, 4095, ( tb * tx + 32) >> 6 )finalMVDL1[ 0 ] = Clip3( −215, 215 − 1, Sign( distScaleFactor * finalMVDL1[ 0 ] ) *( ( Abs( distScaleFactor * finalMVDL1[ 0 ] ) + 127) >> 8 ) )finalMVDL1[ 1 ] = Clip3( −215, 215 − 1, Sign( distScaleFactor * finalMVDL1[ 1 ] ) *( ( Abs( distScaleFactor * finalMVDL1[ 1 ] ) + 127) >> 8 ) )Otherwise when Abs( currPocDiffL0 ) is less than Abs( currPocDiffL0 ) and both referencepictures are NOT long-term reference pictures, the following applies:td = Clip3( −128, 127, currPocDiffL1 )tb = Clip3( −128, 127, currPocDiffL0 )tx = ( 16384 + ( Abs( td ) >> 1 ) ) / tddistScaleFactor = Clip3( −4096, 4095, ( tb * tx + 32) >> 6 )finalMVDL0[ 0 ] = Clip3( −215, 215 − 1, Sign( distScaleFactor * finalMVDL0[ 0 ] ) *( ( Abs( distScaleFactor * finalMVDL0 [ 0 ] ) + 127 ) >> 8 ) )finalMVDL0[ 1 ] = Clip3( −215, 215 − 1, Sign( distScaleFactor * finalMVDL0[ 1 ] ) *( ( Abs( distScaleFactor * finalMVDL0 [ 1 ] ) + 127 ) >> 8 ) )

In a third example, when at least one reference picture of the inter-mode coded block involved in the derivation of MMVD candidates is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, then the scaling process in the derivation of the final MMVD candidate is prohibited.

According to one or more embodiments of the present disclosure, the inter-mode coding tool comprises the derivation of SMVD candidates.

In one example, when the determination is made that a motion vector candidate has its motion vector pointing to a reference picture which is a long-term reference picture, the use of the motion vector candidate as a base motion vector is prohibited.

In some examples, when at least one reference picture of the inter-mode coded block involved in the derivation of SMVD candidates is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, then for the one motion vector that is pointing to the long-term reference picture and that is also contained in the bi-directional base motion vector, the modification of the one motion vector by signaled MVD is prohibited. In other examples, when one reference picture of the inter-mode coded block involved in the derivation of SMVD candidates is a long-term reference picture and the other reference picture of the inter-mode coded block involved in the derivation of SMVD candidates is not a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, then for the one motion vector that is pointing to the long-term reference picture and that is also contained in the bi-directional base motion vector, the modification of the one motion vector by signaled MVD is prohibited.

According to another embodiment of the present disclosure, the inter-mode coding tool comprises bi-prediction with weighted averaging and the inter-mode coded block is a bi-directional prediction block.

In one example, when the determination is made that at least one reference picture of the bi-directional prediction block involved in bi-prediction with weighted averaging is a long-term reference picture, the use of unequalled weighting is prohibited.

According to another embodiment of the present disclosure, the inter-mode coding tool comprises the derivation of motion vector candidates and the inter-mode coded block is an SbTMVP coded block.

In one example, the same restriction for the derivation of motion vector candidates on a conventional TMVP coded block is used in the derivation of motion vector candidates on an SbTMVP coded block.

In one refinement of the previous example, the restriction for the derivation of motion vector candidates to be used on both conventional TMVP coded blocks and SbTMVP coded blocks comprises, on one hand, regarding a motion vector of the temporal neighboring block as invalid if, within the two reference pictures comprising the target reference picture and the reference picture for the neighboring block, one reference picture is a long-term reference picture and the other reference picture is not a long-term reference picture, and on the other hand, when both the target reference picture and the reference picture for the neighboring block are long-term reference pictures, prohibiting the operation of scaling process on the motion vector of the temporal neighboring block, and using the motion vector of the temporal neighboring block directly as the motion vector prediction for the current block.

According to another embodiment of the present disclosure, the inter-mode coding tool comprises using an affine motion model in the derivation of motion vector candidates.

In one example, when the determination is made that the reference picture involved in the use of the affine motion model is a long-term reference picture, the use of affine motion model in the derivation of motion vector candidates is prohibited.

In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over, as one or more instructions or code, a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, e.g., according to a communication protocol. In this manner, computer-readable media generally may correspond to (1) tangible computer-readable storage media which is non-transitory or (2) a communication medium such as a signal or carrier wave. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementation of the implementations described in the present application. A computer program product may include a computer-readable medium.

Further, the above methods may be implemented using an apparatus that includes one or more circuitries, which include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, micro-controllers, microprocessors, or other electronic components. The apparatus may use the circuitries in combination with the other hardware or software components for performing the above described methods. Each module, sub-module, unit, or sub-unit disclosed above may be implemented at least partially using the one or more circuitries.

Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed here. This application is intended to cover any variations, uses, or adaptations of the invention following the general principles thereof and including such departures from the present disclosure as come within known or customary practice in the art. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.

It will be appreciated that the present invention is not limited to the exact examples described above and illustrated in the accompanying drawings, and that various modifications and changes can be made without departing from the scope thereof. It is intended that the scope of the invention only be limited by the appended claims.

According to the present disclosure, a method for video decoding comprises determining whether one or more of the reference pictures associated with an inter-mode coded block involved in a decoding process in inter prediction mode are long-term reference pictures; and constraining an operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises a generation of pair-wise average merge candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: regarding an averaged merge candidate as invalid when determining that the averaged merge candidate is generated from a pre-defined pair of candidates comprising one reference picture which is a long-term reference picture and another reference picture which is not a long-term reference picture; and prohibiting the scaling process during the generation of an averaged merge candidate from a pre-defined pair of candidates comprising two reference pictures which are both long-term reference pictures.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises bi-directional optical flow (BDOF) process and the inter-mode coded block is a bi-directional prediction block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the performance of BDOF when determining that one reference picture of the bi-directional prediction block is a long-term reference picture and the other reference picture of the bi-directional prediction block is not a long-term reference picture.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises decoder-side motion vector refinement (DMVR) process and the inter-mode coded block is a bi-directional prediction block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the performance of DMVR when determining that one reference picture of the bi-directional prediction block is a long-term reference picture and the other reference picture of the bi-directional prediction block is not a long-term reference picture.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: limiting the scope of performance of DMVR to that of the performance of integer-pixel DMVR when determining that one reference picture of the bi-directional prediction block is a long-term reference picture and the other reference picture of the bi-directional prediction block is not a long-term reference picture.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises the derivation process for merge mode with motion vector differences (MMVD) candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of a motion vector candidate as a base motion vector when determining that the motion vector candidate has its motion vector pointing to a reference picture which is a long-term reference picture.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: when at least one reference picture of the inter-mode coded block is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, prohibiting the modification by signaled motion vector difference (MVD) of the one motion vector that is pointing to the long-term reference picture and that is also contained in the bi-directional base motion vector.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: when at least one reference picture of the inter-mode coded block is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, prohibiting the scaling process in the derivation of the final MMVD candidate.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises the decoding process for symmetric motion vector difference (SMVD) candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of a motion vector candidate as a base motion vector when determining that the motion vector candidate has its motion vector pointing to a reference picture which is a long-term reference picture.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: when at least one reference picture of the inter-mode coded block is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, prohibiting the modification by signaled MVD of the one motion vector that is pointing to the long-term reference picture and that is also contained in the bi-directional base motion vector.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises bi-prediction with weighted averaging and the inter-mode coded block is a bi-directional prediction block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of unequalled weighting when determining that at least one reference picture of the bi-directional prediction block is a long-term reference picture.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises the derivation process for motion vector candidates and the inter-mode coded block is a subblock-based temporal motion vector prediction (SbTMVP) coded block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: using the same restriction for the derivation process for motion vector candidates on a conventional temporal motion vector prediction (TMVP) coded block in the derivation process for motion vector candidates on an SbTMVP coded block.

In another example, the restriction for the derivation process for motion vector candidates to be used on both conventional TMVP coded blocks and SbTMVP coded blocks comprises: regarding a motion vector of the temporal neighboring block as invalid if, within the two reference pictures comprising the target reference picture and the reference picture for the temporal neighboring block, one reference picture is a long-term reference picture and the other reference picture is not a long-term reference picture.

In another example, the restriction for the derivation process for motion vector candidates to be used on both conventional TMVP coded blocks and SbTMVP coded blocks comprises: when both the target reference picture and the reference picture for the temporal neighboring block are long-term reference pictures, prohibiting the operation of scaling process on the motion vector of the temporal neighboring block, and using the motion vector of the temporal neighboring block directly as the motion vector prediction for the current block.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises using an affine motion model in the derivation of motion vector candidates.

In one example, wherein constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of affine motion model in the derivation of motion vector candidates when determining that the reference picture involved in the use of the affine motion model is a long-term reference picture.

According to the present disclosure, a computing device comprises: one or more processors; a non-transitory storage coupled to the one or more processors; and a plurality of programs stored in the non-transitory storage that, when executed by the one or more processors, cause the computing device to perform acts comprising: determining whether one or more of the reference pictures associated with an inter-mode coded block involved in a decoding process in inter prediction mode are long-term reference pictures; and constraining an operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises a generation of pair-wise average merge candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: regarding an averaged merge candidate as invalid when determining that the averaged merge candidate is generated from a pre-defined pair of candidates comprising one reference picture which is a long-term reference picture and another reference picture which is not a long-term reference picture; and prohibiting the scaling process during the generation of an averaged merge candidate from a pre-defined pair of candidates comprising two reference pictures which are both long-term reference pictures.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises BDOF process and the inter-mode coded block is a bi-directional prediction block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the performance of BDOF when determining that one reference picture of the bi-directional prediction block is a long-term reference picture and the other reference picture of the bi-directional prediction block is not a long-term reference picture.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises DMVR process and the inter-mode coded block is a bi-directional prediction block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the performance of DMVR when determining that one reference picture of the bi-directional prediction block is a long-term reference picture and the other reference picture of the bi-directional prediction block is not a long-term reference picture.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: limiting the scope of performance of DMVR to that of the performance of integer-pixel DMVR when determining that one reference picture of the bi-directional prediction block is a long-term reference picture and the other reference picture of the bi-directional prediction block is not a long-term reference picture.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises the derivation process for MMVD candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of a motion vector candidate as a base motion vector when determining that the motion vector candidate has its motion vector pointing to a reference picture which is a long-term reference picture.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: when at least one reference picture of the inter-mode coded block is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, prohibiting the modification by signaled MVD of the one motion vector that is pointing to the long-term reference picture and that is also contained in the bi-directional base motion vector.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: when at least one reference picture of the inter-mode coded block is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, prohibiting the scaling process in the derivation of the final MMVD candidate.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises the decoding process for SMVD candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of a motion vector candidate as a base motion vector when determining that the motion vector candidate has its motion vector pointing to a reference picture which is a long-term reference picture.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: when at least one reference picture of the inter-mode coded block is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, prohibiting the modification by signaled MVD of the one motion vector that is pointing to the long-term reference picture and that is also contained in the bi-directional base motion vector.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises bi-prediction with weighted averaging and the inter-mode coded block is a bi-directional prediction block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of unequalled weighting when determining that at least one reference picture of the bi-directional prediction block is a long-term reference picture.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises the derivation process for motion vector candidates and the inter-mode coded block is an SbTMVP coded block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: using the same restriction for the derivation process for motion vector candidates on a conventional TMVP coded block in the derivation process for motion vector candidates on an SbTMVP coded block.

In another example, the restriction for the derivation process for motion vector candidates to be used on both conventional TMVP coded blocks and SbTMVP coded blocks comprises: regarding a motion vector of the temporal neighboring block as invalid if, within the two reference pictures comprising the target reference picture and the reference picture for the temporal neighboring block, one reference picture is a long-term reference picture and the other reference picture is not a long-term reference picture.

In another example, the restriction for the derivation process for motion vector candidates to be used on both conventional TMVP coded blocks and SbTMVP coded blocks comprises: when both the target reference picture and the reference picture for the temporal neighboring block are long-term reference pictures, prohibiting the operation of scaling process on the motion vector of the temporal neighboring block, and using the motion vector of the temporal neighboring block directly as the motion vector prediction for the current block.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises using an affine motion model in the derivation of motion vector candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of affine motion model in the derivation of motion vector candidates when determining that the reference picture involved in the use of the affine motion model is a long-term reference picture.

According to the present disclosure, a non-transitory computer readable storage medium stores a plurality of programs for execution by a computing device having one or more processors, wherein the plurality of programs, when executed by the one or more processors, cause the computing device to perform acts comprising: determining whether one or more of the reference pictures associated with an inter-mode coded block involved in a decoding process in inter prediction mode are long-term reference pictures; and constraining an operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises a generation of pair-wise average merge candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: regarding an averaged merge candidate as invalid when determining that the averaged merge candidate is generated from a pre-defined pair of candidates comprising one reference picture which is a long-term reference picture and another reference picture which is not a long-term reference picture; and prohibiting the scaling process during the generation of an averaged merge candidate from a pre-defined pair of candidates comprising two reference pictures which are both long-term reference pictures.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises BDOF process and the inter-mode coded block is a bi-directional prediction block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the performance of BDOF in response to determining that one reference picture of the bi-directional prediction block is a long-term reference picture and the other reference picture of the bi-directional prediction block is not a long-term reference picture.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises DMVR process and the inter-mode coded block is a bi-directional prediction block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the performance of DMVR in response to determining that one reference picture of the bi-directional prediction block is a long-term reference picture and the other reference picture of the bi-directional prediction block is not a long-term reference picture.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: limiting the scope of performance of DMVR to that of the performance of integer-pixel DMVR in response to determining that one reference picture of the bi-directional prediction block is a long-term reference picture and the other reference picture of the bi-directional prediction block is not a long-term reference picture.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises the derivation process for MMVD candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of a motion vector candidate as a base motion vector in response to determining that the motion vector candidate has its motion vector pointing to a reference picture which is a long-term reference picture.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: when at least one reference picture of the inter-mode coded block is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, prohibiting the modification by signaled MVD of the one motion vector that is pointing to the long-term reference picture and that is also contained in the bi-directional base motion vector.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: when at least one reference picture of the inter-mode coded block is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, prohibiting the scaling process in the derivation of the final MMVD candidate.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises the decoding process for SMVD candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of a motion vector candidate as a base motion vector in response to determining that the motion vector candidate has its motion vector pointing to a reference picture which is a long-term reference picture.

In another example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: when at least one reference picture of the inter-mode coded block is a long-term reference picture, and further when the base motion vector is a bi-directional motion vector, prohibiting the modification by signaled MVD of the one motion vector that is pointing to the long-term reference picture and that is also contained in the bi-directional base motion vector.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises bi-prediction with weighted averaging and the inter-mode coded block is a bi-directional prediction block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of unequalled weighting in response to determining that at least one reference picture of the bi-directional prediction block is a long-term reference picture.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises the derivation process for motion vector candidates and the inter-mode coded block is an SbTMVP coded block.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: using the same restriction for the derivation process for motion vector candidates on a conventional TMVP coded block in the derivation process for motion vector candidates on an SbTMVP coded block.

In another example, the restriction for the derivation process for motion vector candidates to be used on both conventional TMVP coded blocks and SbTMVP coded blocks comprises: regarding a motion vector of the temporal neighboring block as invalid if, within the two reference pictures comprising the target reference picture and the reference picture for the temporal neighboring block, one reference picture is a long-term reference picture and the other reference picture is not a long-term reference picture.

In another example, the restriction for the derivation process for motion vector candidates to be used on both conventional TMVP coded blocks and SbTMVP coded blocks comprises: when both the target reference picture and the reference picture for the temporal neighboring block are long-term reference pictures, prohibiting the operation of scaling process on the motion vector of the temporal neighboring block, and using the motion vector of the temporal neighboring block directly as the motion vector prediction for the current block.

According to an embodiment of the present disclosure, the decoding process in inter prediction mode comprises using an affine motion model in the derivation of motion vector candidates.

In one example, constraining the operation in the decoding process in inter prediction mode on the inter-mode coded block based on the determination comprises: prohibiting the use of affine motion model in the derivation of motion vector candidates in response to determining that the reference picture involved in the use of the affine motion model is a long-term reference picture.

According to the present disclosure, a computer program product comprises a computer-readable medium storing instructions, wherein, when the instructions are executed by a processor, the instructions cause the processor to perform the method for video decoding.