History-based motion vector prediction
History-based motion vector prediction addresses inefficiencies in video coding by deriving motion information from previous blocks and applying bidirectional prediction weights, resulting in enhanced coding efficiency and performance.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-03-26
- Publication Date
- 2026-04-15
AI Technical Summary
Existing video coding techniques fail to effectively utilize the interaction of video coding tools, leading to a significant decrease in coding performance, particularly in block-based hybrid video coding systems.
Implement history-based motion vector prediction (HMVP) to enhance video encoding by deriving candidates from previously encoded blocks, applying motion information and bidirectional prediction weights, and using pruning to remove redundant entries, thereby improving coding efficiency.
Enhances coding efficiency by accurately predicting motion vectors and reducing redundancy, leading to improved performance in video encoding and decoding processes.
Smart Images

Figure 0007846812000001 
Figure 0007846812000002 
Figure 0007846812000003
Abstract
Description
[Technical Field]
[0001] Cross-reference of related applications
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 786,429, filed on 29 December 2018, the contents of which are incorporated herein by reference. [Background technology]
[0002] background
[0002] Video coding systems are widely used to compress digital video signals to reduce the storage needs and / or transmission bandwidth of such signals. Among the various types of video coding systems, such as block-based systems, wavelet-based systems, and object-based systems, block-based hybrid video coding systems are widely used and deployed. Various video coding techniques may be used to perform video coding, for example, including history-based motion vector prediction. The expected interaction of video coding techniques with other coding tools of the video coding standard may not be utilized. This can result in a significant decrease in the coding performance of the video coding technique. [Overview of the Initiative]
[0003] overview
[0003] Systems, methods, and apparatus for processing history-based motion vector predictions (HMVPs) are disclosed. A video encoder may generate a list of HMVPs for the current block. The video encoder may derive HMVP candidates from previously encoded blocks. HMVP candidates may include motion information associated with previously encoded blocks (e.g., adjacent blocks to the current block), one or more reference indices, and bidirectional prediction weight indices. The motion information may include at least one or more motion vectors. The bidirectional prediction weight indices may include one or more weight indices associated with adjacent blocks. One or more weights may be applied to the prediction signal generated by performing motion-compensated predictions for the current block.
[0004]
[0004] The video encoder may add HMVP candidates to the HMVP list for motion compensation prediction of the motion vector associated with the current block. The video encoder may use the HMVP selected from the HMVP list to perform motion compensation prediction of the current block. Motion compensation prediction may be performed using motion information associated with the adjacent blocks of the current block, one or more reference indices, and bidirectional prediction weight indices.
[0005]
[0005] The video encoder may perform pruning by determining whether an HMVP candidate is the same as an HMVP in the HMVP list for the current block. If an HMVP candidate is the same as any of the HMVPs in the HMVP list, the video encoder may remove that HMVP from the HMVP list. The video encoder may add the HMVP candidate to the end of the HMVP list. The video encoder may move one or more HMVPs in the HMVP list that are after the removed HMVP forward by one position. For example, an HMVP candidate is said to be the same as an HMVP in the HMVP list if it has the same motion vector and the same reference index. For example, an HMVP candidate is said to be the same as an HMVP in the HMVP list if it has the same motion vector, the same reference index, and the same generalized bidirectional prediction (GBi) weight or bidirectional prediction (BCW) weight using CU-level weights.
[0006]
[0006] If an HMVP candidate is not the same as any of the HMVPs in the HMVP list, the video encoder may remove the oldest HMVP entry from the HMVP list, for example, if the HMVP list is full. The video encoder may add the HMVP candidate to the end of the HMVP list. The video encoder may reset the HMVP list when coding of a new coding tree unit (CTU) line is started. [Brief explanation of the drawing]
[0007] Brief explanation of the drawing [Figure 1]
[0007] An illustrative diagram of a block-based video encoder is shown. [Figure 2]
[0001] An example of block partitioning in a multi-type tree structure is shown. [Figure 3]
[0008] An illustrative diagram of a block-based video decoder is shown. [Figure 4]
[0009] An exemplary history-based motion vector prediction (HMVP) coding procedure is shown. [Figure 5]
[0010] Examples of motion compensation prediction based on diagonal triangulation and examples of motion compensation prediction based on inverse diagonal triangulation are shown. [Figure 6]
[0011] This example shows how to generate a unidirectional predictive motion vector (MV) using, for example, a triangular mode. [Figure 7]
[0012] An illustrative flowchart is shown for generating a one-way predicted MV list based on one or more merge candidates. [Figure 8A]
[0013] This example shows how to add HMVP candidates to the HMVP list while considering GBi weights. [Figure 8B]
[0014] This example shows how to add HMVP candidates to the HMVP list using the First-In, First-Out (FIFO) method. [Figure 9]
[0015] Here is an example of adding an HMVP candidate to the HMVP list. [Figure 10]
[0016] An exemplary flowchart is shown for generating a unidirectional predicted MV list for triangular modes based on spatial / temporal candidates and HMVP candidates. [Figure 11]
[0017] An exemplary flowchart is shown for generating a list of unidirectional predicted MVs for triangular modes based on interleaving the unidirectional predicted MVs of spatial / temporal candidates and HMVP candidates. [Figure 12A]
[0018] This is a system diagram of an exemplary communication system in which one or more of the disclosed embodiments may be implemented. [Figure 12B]
[0019] Figure 12A is a system diagram of an exemplary wireless transmit / receive unit (WTRU) that may be used in the communication system shown. [Figure 12C]
[0020] FIG. 12A is a system diagram of an exemplary radio access network (RAN) and an exemplary core network (CN) that can be used within the communication system shown. [Figure 12D]
[0021] FIG. 12A is a system diagram of a further exemplary RAN and a further exemplary CN that can be used within the communication system shown.
DETAILED DESCRIPTION OF THE INVENTION
[0008] Detailed Description
[0022] Here, a detailed description of exemplary embodiments will be provided while referring to various drawings. It should be noted that this description shows detailed examples of possible implementations, but the details are for illustration purposes only and in no way limit the scope of the present application.
[0009]
[0023] One or more video encoding devices in a video encoding system can compress a digital video signal to reduce, for example, the storage space and / or transmission bandwidth associated with the storage and / or distribution of such a signal. The video encoding device can be based on a block-based hybrid video encoding framework. A multi-type tree-based block partitioning structure may be employed. One or more of the encoding modules, such as an intra prediction module, an inter prediction module, a transform / inverse transform module, and a quantization / inverse quantization module, may be included. The video encoding device may include an in-loop filter.
[0010]
[0024] A video encoding device may include one or more encoding tools that can provide higher encoding efficiency and a moderate level of implementation complexity. The coding tools include affine motion models, alternative temporal motion vector prediction (ATMV), integer motion vector (IMV), generalized bi-prediction (GBi) or bi-prediction with CU-level weights (BCW), bi-directional optical flow (BDOF), combined inter-merge / intra prediction, merge with motion vector difference (MMVD), pairwise average merge candidate, triangular inter prediction for inter coding, cross-component linear models (CCLM), multi-line intra prediction, current picture referencing (CPR) for intra prediction, enhanced multiple transform (EMT), and dependent quantization for quantization and transform coding. This may include one or more of the following: transform coding, and adaptive loop filtering (ALF) for in-loop filtering.
[0011]
[0025] An exemplary block-based video coding system may include a block-based hybrid video coding framework. Figure 1 shows an exemplary block diagram of a block-based hybrid video coding system. As shown in Figure 1, the input video signal 1002 may be processed block by block. Extended block sizes (e.g., called coding units or CUs) may be used to compress high-resolution (e.g., 1080p and / or above 1080) video signals. A CU may contain up to 128 × 128 pixels in size. Blocks may be partitioned based on quadtrees. One coding tree unit (CTU) may be partitioned into CUs to adapt to various local characteristics based on quadtree / binary / ternary trees. A CU may or may not be partitioned into prediction units or PUs to which another prediction may be applied. A CU may be used as the base unit for prediction and transformation without further partitioning (e.g., may always be used). In a multi-type tree structure, a certain (e.g., one) CTU may be partitioned by a quadtree structure (e.g., may be partitioned first). A quadtree leaf node (e.g., each quadtree read node) can be further divided into binary and ternary structures. As shown in Figure 2, there can be one or more (e.g., five) partitioning types, including, for example, quadtree partitioning, horizontal binary partitioning, vertical binary partitioning, horizontal ternary partitioning, and vertical ternary partitioning.
[0012]
[0026] Referring to Figure 1, an input video block (e.g., macroblock (MB) and / or CU), spatial prediction 1060, and / or temporal prediction 1062 may be performed. Spatial prediction 1060 (e.g., intra-prediction) may predict the current video block using pixels from encoded adjacent block samples (e.g., reference samples) in the video image / slice. Spatial prediction 1060 can reduce spatial redundancy that may be inherent to the video signal, for example. Motion prediction 1062 (e.g., inter-prediction or temporal prediction) may predict the current video block using reconstructed pixels from the encoded video image. Motion prediction 1062 can reduce temporal redundancy that may be inherent to the video signal, for example. The motion prediction signal (e.g., temporal prediction signal) of a video block (e.g., CU) may be signaled by one or more motion vectors (MVs). The MVs may indicate the amount and / or direction of motion between the current block and / or the reference block of the current block or its temporal reference. If multiple reference images are supported for each video block, the reference image index for the video block may be transmitted by the encoder. The reference image index may be used to identify which reference image in the reference image store 1064 the motion prediction signal may originate from.
[0013]
[0027] After spatial prediction 1060 and / or motion prediction 1062, a mode determination block 1080 in the encoder may determine a predicted mode (e.g., the best predicted mode) based, for example, on rate distortion optimization. The predicted block may be subtracted from the current video block in 1016, and / or the predicted residual may be decorrelated using transformation 1004 and / or quantization 1006 to achieve a bitrate such as the target bitrate. The quantized residual coefficients are dequantized in inverse quantization 1010 and / or inversely transformed in transformation 1012 to form, for example, a reconstructed residual, which may be added to the predicted block in 1026 to form, for example, a reconstructed video block. Loop filters (e.g., deblocking filters and / or adaptive loop filters) may be applied to the reconstructed video block in loop filter 1066 before the reconstructed video block may be placed in the reference image store 1064 and / or may be used to encode a video block (e.g., a future video block). To form the output video bitstream 1020, the encoding mode (e.g., inter or intra), prediction mode information, motion information, and / or quantized residual coefficients are transmitted to the entropy encoding module 1008 (e.g., all are transmitted) and compressed and / or packed to form the bitstream.
[0014]
[0028] Figure 3 shows a block diagram of an exemplary block-based video decoding framework for a decoder. The video bitstream 1102 (e.g., video bitstream 1020 in Figure 1) can be unpacked (can be unpacked first) and / or entropy-decoded in the entropy decoding module 1108. The coding mode and prediction information can be sent to the spatial prediction module 1170 (e.g., if intra-coded) and / or the motion-compensated prediction module 1172 (e.g., if inter-coded and / or time-coded) to form prediction blocks. Residual transformation coefficients can be sent to the inverse quantization module 1110 and / or the inverse transformation module 1112, for example, to reconstruct the residual blocks. The prediction blocks and / or residual blocks can be added together in 1126. The reconstructed blocks can undergo in-loop filtering in the loop filter 1176 before, for example, the reconstructed blocks are stored in the reference image store 1174. The reconstructed video 1120 in the reference image store 1174 may be sent out to drive a display device and / or may be used to predict video blocks (e.g., future video blocks).
[0015]
[0029] One or more coding modules, such as the coding module associated with interpretation, can be enhanced to improve inter-coding efficiency. For example, the coding efficiency of history-based motion vector prediction (HMVP) can be improved, as described herein.
[0016]
[0030] The motion vectors (MVs) of an intercoded block may be signaled using one or more mechanisms as described herein. For example, the MVs of an intercoded block may be signaled using advanced motion vector prediction (AMVP) mode or merge mode. In AMVP mode, the difference between the actual MV and the MV predictor (MVP), a reference index, and an MVP index referencing an AMVP candidate list may be signaled. In merge mode, a merge index referencing a merge candidate list may be signaled. Motion information associated with a merge candidate may be inherited from the signaled merge candidate. Motion information may be derived, for example, from a spatial block adjacent to the CU for AMVP and merge candidates. For example, a spatial block may be directly adjacent (e.g., adjacent) to a block located at the same position in the current CU or time-reference image. One or more merge candidates (e.g., up to six merge candidates) and one or more AMVP candidates (e.g., up to two AMVP candidates) may be added to the candidate list for motion vector prediction.
[0017]
[0031] HMVP can be used to examine correlations between MVs of adjacent blocks. For example, HMVP can be used to examine correlations between adjacent blocks that are not spatially adjacent. In this specification, references are made to HMVPs utilized by adjacent blocks that are not spatially adjacent, but it will be understood by those skilled in the art that adjacent blocks may also include blocks that are adjacent blocks.
[0018]
[0032] An HMVP candidate may represent motion information for a previously encoded CU. This motion information may include one or more of the MV and reference image indices. Tables of multiple HMVP candidates may be maintained in the encoder and / or decoder. The HMVP candidate table may be reset (e.g., reset to empty) when encoding of a new CTU line begins. After an interCU that does not contain multiple subblocks (e.g., ATMVP and affine-encoded CUs) has been encoded, the relevant motion information may be added to an entry (e.g., the last entry in the HMVP candidate table) based on a rule (e.g., a constrained first-in, first-out (FIFO) rule). Redundancy checks may be applied (e.g., before adding a motion candidate to the HMVP candidate table or list) to determine if there is an existing HMVP candidate that is identical to the new motion candidate. If an existing HMVP candidate that is identical to the new motion candidate is found, the same HMVP candidate may be removed from the HMVP candidate table or list, and the HMVP candidate may be moved forward by only one position, for example, by reducing the HMVP candidate table index by one. Figure 4 shows an exemplary workflow decoding when HMVP is applied to predict MV. As shown in Figure 4, in 402, existing HMVP candidates may be loaded into a list of existing HMVP candidates. In 404, the MV associated with the current block may be decoded from the HMVP candidates. In 406, the HMVP candidate list may be updated based on the decoded MV.
[0019]
[0033] Generalized bidirectional prediction (GBi) or bidirectional prediction with CU-level weights (BCW) can be performed. For example, GBi or BCW may be performed to improve the efficiency of bidirectional prediction when one CU is predicted by two temporal prediction blocks from the reconstructed reference image. In bidirectional prediction mode, the predicted signal at sample x may be calculated as the average of two predicted signals, as shown in equation (1). P[x]=(P0[x+v0]+P1[x+v1]) / 2 (1)
[0020]
[0034] In equation (1), P[x] may be the predicted signal obtained as a result of a sample x placed at image position x, and P1[X+v1] may be the motion-compensated predicted signal of x using the motion vector (MV) v1 for the i-th list (e.g., list 0, list 1). GBi can apply various weight values (e.g., w0 and w1) to the two predicted signals from list 0 and list 1. One or more configurations of w0 and w1 may imply predictive similarity between unidirectional and bidirectional predictions (e.g., the same prediction as conventional unidirectional and bidirectional predictions). For example, if (w0,w1) is equal to (1,0) for unidirectional prediction using reference list L0, (0,1) for unidirectional prediction using reference list L1, and (0.5,0.5) for conventional bidirectional prediction using the two reference lists, then predictive similarity may exist between unidirectional and bidirectional predictions. In GBi, the weights applied to the predicted signals from lists L0 and L1 may be signaled per CU. The constraint may be applied such that the sum of w0 and w1 is 1, for example, w0 + w1 = 1. The constraint may be applied to reduce signaling overhead. Given such constraints, a single weight may be signaled, and the final bidirectional prediction signal when GBi is applied may be calculated, for example, using equation (2). P[x]=(1-w1)*P0[x+v0]+w1*P1[x+v1] (2)
[0021]
[0035] According to (2), w1 may be discretized, for example, using the values {-1 / 4, 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, 5 / 4}, so that each weight value can be represented by an index value within a small, limited range. Discretization of w1 using a small range can be used to reduce signaling overhead. The weight values {1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4} may be applied between images (e.g., between all images), and the weight values {-1 / 4, 5 / 4} may be applied to low-latency images. The weight values may be applied to low-latency images that can be predicted using reference images preceding the current image according to the display order.
[0022]
[0036] Triangular interpretation may be performed. In some video content (e.g., nature video content), the boundary between two moving objects may not be horizontal or vertical (e.g., purely horizontal or vertical). Such non-horizontal or non-vertical boundaries may be difficult to accurately approximate with rectangular blocks. Therefore, triangular prediction may be applied to enable triangulation, for example, for motion compensation prediction. As shown in Figure 5, triangular prediction may divide a CU into one or more (e.g., two) triangular prediction units, for example, diagonally (502) or inversely diagonally (504). The triangular prediction units of the CU (e.g., each triangular prediction unit) may be interpreted using their unidirectional prediction motion vector and reference frame index. The unidirectional prediction motion vector and reference frame index may be derived from a list of unidirectional prediction candidates.
[0023]
[0037] The unidirectional prediction candidate list may contain one or more (e.g., five) unidirectional prediction motion vector candidates. Unidirectional prediction motion vector candidates may be derived from spatially / temporal adjacent blocks similar to (e.g., the same as) those used in the merging process (e.g., the HEVC merging process). Unidirectional prediction MV candidates may be derived from five spatially adjacent blocks and two temporally identically located blocks, as shown in Figure 6. Referring to Figure 6, the motion vectors of seven adjacent blocks may be collected in the order of, for example, the L0 motion vector of the adjacent block, the L1 motion vector of the adjacent block, and the average motion vector of the L0 and L1 motion vectors of the adjacent block, and stored in the unidirectional prediction MV candidate list, if the adjacent blocks are predicted bidirectionally. If the number of MV candidates is less than five, zero (0) motion vectors may be added to the MV candidate list.
[0024]
[0038] Figure 7 shows a flowchart for adding the unidirectional predicted MV of a merge candidate to the unidirectional predicted MV list of CUs encoded by the triangular prediction mode. At 702, the video encoder may determine whether the merge candidate contains L0MV. If so, at 704, the video encoder may add the L0MV associated with the merge candidate to the unidirectional predicted MV list. At 708, the video encoder may check whether the spatial / temporal candidate is at the end of the list. At 710, the video encoder may determine whether the merge candidate contains L1MV. If so, at 712, the video encoder may add the L1MV associated with the merge candidate to the unidirectional predicted MV list. At 714, the video encoder may check whether the spatial / temporal candidate is at the end of the list. At 716, the video encoder may determine whether the merge candidate contains both L0MV and L1MV. If so, at 718, the video encoder may add the average of the L0MV and L1MV associated with the merge candidate to the unidirectional predicted MV list. In 720, the video encoder can check whether the spatial / temporal candidate is the last in the list.
[0025]
[0039] The order of one or more adjacent blocks (e.g., the order in which candidate blocks may be reviewed and considered for addition to the candidate list) may include one or more spatially adjacent blocks (e.g., 1-5) followed by one or more blocks at the same temporal location (6-7). Referring to Figure 6, the motion vectors of seven adjacent blocks (e.g., A1, A0, B0, B1, B2, T0, T1) may be collected in the order of the unidirectional predicted motion vector, the L0 motion vector of the bidirectional predicted motion vector, the L1 motion vector of the bidirectional predicted motion vector, and the average motion vector of the L0 and L1 motion vectors of the bidirectional predicted motion vector, and stored in the unidirectional predicted candidate list. If the number of candidates is less than five, zero motion vectors may be added to the list.
[0026]
[0040] The HMVP coding gain can be improved, for example, by extending the application of HMVP to other coding tools, such as generalized bidirectional prediction and / or triangular interpretation. HMVP can be used to determine MV correlations between adjacent blocks. For example, HMVP can be used to determine MV correlations between adjacent blocks that are not spatially adjacent. While this specification refers to HMVP used to determine MV correlations between adjacent blocks that are not spatially adjacent, it will be understood by those skilled in the art that adjacent blocks may include blocks that are adjacent blocks. HMVP can be used to determine MV correlations by maintaining a table of one or more MV candidates. The table may be maintained in the coding and / or decoding device. HMVP candidates may be defined based on motion information including one or more of the following: motion vectors (e.g., one or more motion vectors), reference lists (e.g., one or more reference lists), or reference image indices (e.g., one or more reference image indices) associated with previously coded blocks.
[0027]
[0041] In one example, HMVP candidates may be used to derive the prediction signal for a CU with GBi disabled. In such a case, equal weights may be applied to the two prediction signals associated with List 0 and List 1.
[0028]
[0042] For example, HMVP and GBi can be enabled, for instance, by associating GBi with an HMVP index. GBi can be enabled by associating at least one GBi index with each of the HMVP entries or HMVP indices. As a result, the coding efficiency of HMVP may be improved. A GBi index may also be called a bidirectional predictive weight index.
[0029]
[0043] For example, for each HMVP candidate, in addition to motion information, at least one GBi index may be created based on one or more of the following: If the HMVP candidate is derived from an interCU whose GBi weights are signaled, the GBi weight of the HMVP candidate may be set to the signaled GBi weights. If the HMVP candidate is derived from a spatial merge candidate, the GBi weight of the HMVP candidate may be set to the GBi weight of the spatial candidate. If the HMVP candidate is derived from a temporal merge candidate, the GBi weight of the HMVP candidate may be set to the GBi weight of the block at the same position in the image at the same temporal position. If the HMVP candidate is derived from an average merge candidate, the GBi weight of the HMVP candidate may be set to a certain fixed value (e.g., 0.5).
[0030]
[0044] As described herein, pruning may be performed at one or more different stages of the HMVP processing procedure. For example, pruning may be performed to remove redundant entries from the HMVP list when adding an MV candidate or HMVP candidate to the HMVP list. In one example, pruning may be performed after determining whether an entry in the HMVP list is the same as an MV candidate or HMVP candidate. If the same candidate is found in the HMVP list, the same HMVP is removed from the HMVP list. In one example, an HMVP candidate can be said to be the same as an HMVP entry in the HMVP list if the motion information associated with the HMVP candidate is the same as the motion information associated with the HMVP entry in the HMVP list. The motion information being compared may include one or more of the following: motion vectors (e.g., one or more motion vectors), reference lists (e.g., one or more reference indices), and reference image indices (e.g., one or more reference image indices).
[0031]
[0045] In one example, in addition to motion vector information, GBi weights may be considered when deciding whether or not to add an HMVP candidate to the HMVP candidate list. Figure 8A shows an example of considering GBi weights when adding an HMVP candidate to the HMVP candidate list. As shown in Figure 8A, the second entry in the HMVP list and the new HMVP candidate to be added to the HMVP list are determined by the motion information and GBi weights of the second entry in the existing HMVP list (e.g., HMVP1) being considered when deciding whether or not to add a new HMVP candidate (e.g., C l-1 If the motion information and GBi weights are similar to those of ), they can be treated as the same. In such an example, HMVP candidate C l-1 Before adding to the end of the HMVP list, you can remove the matched HMVP entry HMVP1 from the list, and remove the HMVP entries that follow the HMVP entry (for example, from HMVP2 to HMVP l-1 The ) can be moved forward as indicated by the arrow. This can be achieved, for example, by reducing each index by one.
[0032]
[0046] Figure 8B shows an example where an HMVP candidate may be treated as not being the same as an entry in the HMVP list. As shown in Figure 8B, HMVP1 and C l-1 Even if the motion information is the same, the respective GBi weights are not equal, therefore HMVP1 and C l-1 It is said that this is not the same. A FIFO process (e.g., the default FIFO process) may be applied. As shown in Figure 8B, the FIFO procedure involves removing the first HMVP candidate (e.g., HMVP0) from the table, moving the position of each entry by one to create an empty position at the end of the HMVP list, as indicated by the arrows in Figure 8B, and placing a new candidate C in the empty position at the end of the HMVP list. l-1 This may include adding [something].
[0033]
[0047] (e.g., that can be associated with respective GBi weights) The HMVP candidates can be used as candidates for the merge mode and / or the AMVP mode. The HMVP candidates (e.g., all HMVP candidates from the last entry to the first entry of the HMVP table) can be inserted, for example, after the TMVP candidates. When HMVP is applied to the merge mode, pruning can be applied to remove candidates having similar (e.g., the same) motion information and similar (e.g., the same) GBi weights.
[0034]
[0048] The GBi index can be used in the motion compensation prediction and the HMVP pruning process. The motion compensation prediction and the HMVP pruning process can increase the coding gain and increase the complexity of the pruning process. When the motion information and GBi weights of the HMVP candidates (e.g., each HMVP candidate in the list) are checked, the complexity of the HMVP pruning process can increase. In one example, the respective GBi weights of the HMVP candidates (e.g., all HMVP candidates) can be utilized in the motion compensation prediction. A subset of the HMVP candidates can be utilized in the HMVP pruning process. As described herein, the HMVP candidates can be associated with the GBi index (e.g., each HMVP candidate can be associated with one GBi index). The associated GBi weights can be utilized to generate the prediction signal of the CU (e.g., instead of determining whether two HMVP candidates are the same).
[0035]
[0049] FIG. 9 shows an example of adding an HMVP candidate to the HMVP candidate list, where the GBi weight is not considered when adding the HMVP candidate to the HMVP list. In the example presented in FIG. 9, the GBi index of the second entry of the existing HMVP list (e.g., HMVP1) and the new HMVP candidate (e.g., C l-1 ) is not the same, but the motion information of the second entry of the existing HMVP list (e.g., HMVP1) and the new HMVP candidate (e.g., C l-1 ) is the same. In this example, the second entry of the existing HMVP list (e.g., HMVP1) and the new HMVP candidate (e.g., C l-1The movement information is the same as the second entry in the existing HMVP list (e.g., HMVP1) and the new HMVP candidate (e.g., C l-1 If the GBi indices of the HMVP candidates are not the same, the second entry in the HMVP list and the new HMVP candidate may be treated as the same. As shown in Figure 9, HMVP1 may be removed from the HMVP candidate list, and subsequent HMVP candidates (e.g., HMVP2 to HMVP) may be treated as the same. l-1 ) can be moved forward by decreasing the index by one, for example, as shown by the arrow. Then C l-1 It may be added to the end of the HMVP list.
[0036]
[0050] Triangular interpretation may be performed by HMVP. In triangular interpretation, the MV in the unidirectional prediction candidate list can be derived from temporally and spatially adjacent elements. For example, conventional spatially and temporally adjacent elements may be adjacent elements used in HEVC's merge mode. For example, triangular interpretation may derive the MV in the unidirectional prediction candidate list from five spatially adjacent elements and two temporally adjacent elements, as shown in Figure 6. In one example, the MV derivation may not consider the correlation between MVs of blocks that are not directly spatially adjacent (e.g., non-adjacent blocks). In such a case, the MV derivation may not produce an accurate unidirectional prediction MV candidate (e.g., the most accurate unidirectional prediction MV candidate) to capture the true motion of the two triangulations. In one example, motion information of adjacent blocks along an occlusion boundary may not be correlated (e.g., due to object occlusion, which can normally be present in content such as natural video content). If motion information of adjacent blocks along an occlusion boundary is not correlated, the MVs from spatially adjacent blocks on the occlusion boundary may not be accurate enough (e.g., not accurate enough) to serve as MV predictors for the current CU. This can reduce the efficiency of intercoding. For example, HMVP candidates (e.g., separate from existing spatial and temporal MV candidates) may be used to derive a list of unidirectional predictive MV candidates for a triangular predictive mode, for example, to examine the correlation between MVs of one or more adjacent blocks (e.g., blocks that are not spatially adjacent).
[0037]
[0051] The unidirectional prediction MVs of HMVP candidates may be placed at different positions in the candidate list of unidirectional prediction MVs in triangular mode (e.g., the final candidate list). For example, one or more unidirectional prediction MVs associated with HMVP candidates may be checked and inserted in the list after the spatial and / or temporal candidates. MVs associated with HMVP candidates may be checked (e.g., whether the HMVP candidate's MV is the same as the MV in the unidirectional prediction MV list) and inserted into the unidirectional prediction candidate list (e.g., after the spatial and temporal candidates). The MVs of a candidate block may be collected in the order of five spatially adjacent ones (e.g., A1, A0, B1, B0, and B2), followed by two temporally adjacent ones (e.g., T0 and T1), and then the N HMVP candidates, as shown in Figure 6.
[0038]
[0052] One-way prediction MVs used in the triangular mode may be generated as described herein. In one example, the one-way prediction MV used in the triangular mode may be generated by adding L0MV associated with one or more of the spatial / temporal candidates and HMVP candidates. In one example, the one-way prediction MV used in the triangular mode may be generated by adding L1MV associated with one or more spatial / temporal candidates and HMVP candidates. In one example, if the HMVP candidate is predicted bidirectionally, the one-way prediction MV used in the triangular mode may be generated by adding the average of the L0MV and L1MV of the spatial / temporal candidates and HMVP candidates.
[0039]
[0053] Figure 10 shows an example associated with inserting the unidirectional predicted MV of a merge candidate into the unidirectional predicted MV list of a triangle CU. As shown in Figure 10, at 1030, the video encoder may determine whether the candidate (e.g., the i-th merge candidate) contains L0MV. If it does, at 1032, the video encoder may add the L0MV associated with the candidate to the unidirectional predicted MV list. At 1034, the video encoder may check whether the spatial / temporal candidate or HMVP candidate is at the end of the list. At 1036, the video encoder may determine whether the candidate contains L1MV. If it does, at 1038, the video encoder may add the candidate's L1MV to the unidirectional predicted MV list. At 1040, the video encoder may check whether the spatial / temporal candidate or HMVP candidate is at the end of the list. At 1042, the video encoder may determine whether the candidate contains both L0MV and L1MV. If included, in 1044, the video encoder may add the average of the candidate L0MV and L1MV to the one-way predicted MV list. In 1046, the video encoder may check whether the spatial / temporal candidate or HMVP candidate is at the end of the list.
[0040]
[0054] The movement of spatially and temporally adjacent elements (e.g., motion information) can be correlated with the current CU movement (e.g., motion information) (e.g., more correlated than the movement of the HMVP candidate). The one-way predicted MV of a spatial and temporal candidate can be given higher priority than the one-way predicted MV of the HMVP candidate (e.g., to reduce the overhead of signaling the candidate's MV). In the example, the one-way predicted MV of a spatial / temporal candidate can be interleaved with the one-way predicted MV of the HMVP candidate.
[0041]
[0055] A one-way predicted MV list for the triangle CU (e.g., the final one-way predicted MV list) may be generated. For example, the one-way predicted MV list for the triangle CU may be generated by inserting the L0MV of each spatial / temporal candidate into the one-way predicted MV list. For example, the one-way predicted MV list for the triangle CU may be generated by inserting the L1MV of each spatial / temporal candidate into the one-way predicted MV list. For example, the one-way predicted MV list for the triangle CU may be generated by inserting the L0MV of each HMVP candidate into the one-way predicted MV list. For example, the one-way predicted MV list for the triangle CU may be generated by inserting the L1MV of each HMVP candidate into the one-way predicted MV list.
[0042]
[0056] For example, a one-way predicted MV list for a triangular CU can be generated by inserting the average of the L0MV and L1MV of the spatial / temporal candidates (e.g., each spatial / temporal candidate if candidates are predicted bidirectionally) into the one-way predicted MV list. For example, a one-way predicted MV list for a triangular CU can be generated by inserting the average of the L0MV and L1MV of the HMVP candidates (e.g., each HMVP candidate if candidates are predicted bidirectionally) into the one-way predicted MV list.
[0043]
[0057] Figure 11 shows an example of generating a one-way predicted MV list in triangular mode when the one-way predicted MVs of spatial / temporal candidates and HMVP candidates are interleaved. As shown in Figure 11, at 1130, the video encoder may determine whether a candidate (e.g., the i-th merge candidate) contains an L0MV. If it does, at 1132, the video encoder adds the L0MV associated with the candidate to the one-way predicted MV list. At 1134, the video encoder may check whether the spatial / temporal candidate is at the end of the list. At 1136, the video encoder may determine whether the candidate contains an L1MV. If it does, at 1138, the video encoder may add the L1MV associated with the candidate to the one-way predicted MV list. At 1140, the video encoder may check whether the spatial / temporal candidate is at the end of the list. At 1142, the video encoder may determine whether the candidate contains an L0MV. If included, in 1144, the video encoder may add the L1MV associated with the candidate to the one-way predicted MV list. In 1146, the video encoder may check whether the HMVP candidate is at the end of the list. In 1148, the video encoder may determine whether the candidate contains L1MV. If included, in 1150, the video encoder may add the L1MV associated with the candidate to the one-way predicted MV list. In 1152, the video encoder may check whether the HMVP candidate is at the end of the list. In 1154, the video encoder may determine whether the candidate contains L0MV and L1MV. If included, in 1156, the video encoder may add the average of the L0MV and L1MV associated with the candidate to the one-way predicted MV list. In 1158, the video encoder may check whether the spatial / temporal candidate is at the end of the list. In 1160, the video encoder may determine whether the candidate contains L0MV and L1MV. If included, in 1162, the video encoder may add the average of the L0MV and L1MV associated with the candidate to the one-way predicted MV list. In 1164, the video encoder may check whether the HMVP candidate is at the end of the list.
[0044]
[0058] Figure 12A shows an exemplary communication system 100 in which one or more disclosed embodiments may be implemented. For example, one or more features associated with a video encoding device as described herein may be included in one or more of WTRUs 102a, 102b, 102c, and 102d of the communication system 100. The communication system 100 can be a multiple access system that provides content such as voice, data, video, messaging, and broadcast to multiple wireless users. The communication system 100 may enable multiple wireless users to access such content through the sharing of system resources, including wireless bandwidth. For example, the communication system 100 can utilize one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), quadrature FDMA (OFDMA), and single-carrier FDMA (SC-FDMA), zero-tail unique-word DFT spread OFDM (ZT UW DTS-s OFDM), unique-word OFDM (UW-OFDM), resource block-filtered OFDM, and filter bank multi-carrier (FBMC).
[0045]
[0059] As shown in Figure 12A, the communication system 100 may include radio transmit / receive units (WTRUs) 102a, 102b, 102c, 102d, RAN 104 / 113, CN 106 / 115, public switched telephone network (PSTN) 108, the Internet 110, and other networks 112, but it should be understood that the disclosed embodiments intend any number of WTRUs, base stations, networks, and / or network elements. Each of the WTRUs 102a, 102b, 102c, and 102d can be any type of device configured to operate and / or communicate in a radio environment. For example, WTRU102a, 102b, 102c, and 102d, which may all be called “stations” and / or “STAs,” may be configured to transmit and / or receive radio signals and may include user equipment (UEs), mobile stations, fixed or mobile subscriber units, subscription-based units, pagers, cellular phones, personal digital assistants (PDAs), smartphones, laptops, netbooks, personal computers, radio sensors, hotspots or Mi-Fi devices, Internet of Things (IoT) devices, watches or other wearables, head-mounted displays (HMDs), vehicles, drones, medical devices and applications (e.g., remote surgery), industrial devices and applications (e.g., robots and / or other radio devices operating in industrial and / or automated processing chain situations), consumer electronic devices, and devices operating on commercial and / or industrial radio networks. Any of WTRU102a, 102b, 102c, and 102d may be interchangeably referred to as UEs.
[0046]
[0060] The communication system 100 may also include base stations 114a and / or base stations 114b. Each of the base stations 114a and 114b can be any type of device configured to wirelessly interface with at least one of the WTRUs 102a, 102b, 102c, and 102d to facilitate access to one or more communication networks such as CN 106 / 115, the Internet 110, and / or other networks 112. For example, base stations 114a and 114b may be base transceiver base stations (BTS), Node-B, eNodeB, home NodeB, home eNodeB, gNB, NR NodeB, site controller, access point (AP), and wireless router. Although base stations 114a and 114b are shown as single elements, it will be understood that base stations 114a and 114b may include any number of interconnected base stations and / or network elements.
[0047]
[0061] Base station 114a may be part of RAN 104 / 113, which may also include other base stations and / or network elements (not shown) such as base station controllers (BSCs), radio network controllers (RNCs), and relay nodes. Base station 114a and / or base station 114b may be configured to transmit and / or receive radio signals on one or more carrier frequencies, which may be called cells (not shown). These frequencies may be in the licensed spectrum, the unlicensed spectrum, or a combination of the licensed and unlicensed spectrum. Cells may provide coverage of radio services to a particular geographic area, which may be relatively fixed or may change over time. Cells may be further divided into cell sectors. For example, a cell associated with base station 114a may be divided into three sectors. Thus, in one embodiment, base station 114a may include three transceivers, i.e., one for each sector of the cell. In one embodiment, the base station 114a can utilize multiple input multiple output (MIMO) technology and utilize multiple transceivers per sector of the cell. For example, beamforming can be used to transmit and / or receive signals in a desired spatial direction.
[0048]
[0062] Base stations 114a and 114b can communicate with one or more WTRUs 102a, 102b, 102c, and 102d via a radio interface 116, the radio interface 116 can be any suitable radio communication link (e.g., radio frequency (RF), microwave, centimeter wave, millimeter wave, infrared (IR), ultraviolet (UV), visible light, etc.). The radio interface 116 can be established using any suitable radio access technology (RAT).
[0049]
[0063] More specifically, as described above, the communication system 100 can be a multiple access system and can utilize one or more channel access schemes such as CDMA, TDMA, FDMA, OFDMA, and SC-FDMA. For example, base stations 114a and WTRU 102a, 102b, and 102c in RAN 104 / 113 can implement radio technologies such as Universal Mobile Communications System (UMTS) Terrestrial Radio Access (UTRA), which can establish radio interfaces 115 / 116 / 117 using broadband CDMA (WCDMA). WCDMA can include communication protocols such as High Speed Packet Access (HSPA) and / or Advanced HSPA (HSPA+). HSPA can include High Speed Downlink (DL) Packet Access (HSDPA) and / or High Speed UL Packet Access (HSUPA).
[0050]
[0064] In one embodiment, base stations 114a and WTRUs 102a, 102b, and 102c can implement radio technologies such as Advanced UMTS Terrestrial Radio Access (E-UTRA), which can establish a radio interface 116 using Long-Term Evolution (LTE) and / or LTE-Advanced (LTE-A) and / or LTE-Advanced Pro (LTE-A Pro).
[0051]
[0065] In one embodiment, base stations 114a and WTRUs 102a, 102b, and 102c can implement radio technologies such as NR radio access, which can establish a radio interface 116 using New Radio (NR).
[0052]
[0066] In one embodiment, base station 114a and WTRU 102a, 102b, 102c can implement multiple radio access technologies. For example, base station 114a and WTRU 102a, 102b, 102c can implement LTE radio access and NR radio access together, for example, using the principle of dual connectivity (DC). Thus, the radio interface used by WTRU 102a, 102b, 102c may be characterized by multiple types of radio access technologies and / or transmissions transmitted to and from multiple types of base stations (e.g., eNB and gNB).
[0053]
[0067] In other embodiments, base stations 114a and WTRUs 102a, 102b, and 102c can implement radio technologies such as IEEE 802.11 (i.e., Wireless Fidelity (Wi-Fi)), IEEE 802.16 (i.e., Worldwide Interoperability for Microwave Access (WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, Provisional Standard 2000 (IS-2000), Provisional Standard 95 (IS-95), Provisional Standard 856 (IS-856), Pan-European Digital Mobile Communications System (GSM), Enhanced Data Rate for GSM Evolution (EDGE), and GSM EDGE (GERAN).
[0054]
[0068] The base station 114b in Figure 12A can be, for example, a wireless router, home NodeB, home eNodeB, or access point, and can utilize any suitable RAT to facilitate wireless connectivity in localized areas such as workplaces, homes, vehicles, campuses, industrial facilities, air corridors (e.g., for drone use), and roads. In one embodiment, the base station 114b and WTRU 102c, 102d can implement wireless technologies such as IEEE 802.11 to establish a wireless local area network (WLAN). In another embodiment, the base station 114b and WTRU 102c, 102d can implement wireless technologies such as IEEE 802.15 to establish a wireless personal area network (WPAN). In yet another embodiment, the base station 114b and WTRU 102c, 102d can utilize cellular-based RATs (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR, etc.) to establish a picocell or femtocell. As shown in Figure 12A, base station 114b may have a direct connection to the internet 110. Therefore, base station 114b may not need to access the internet 110 via CN106 / 115.
[0055]
[0069] RAN104 / 113 can communicate with CN106 / 115, which can be any type of network configured to provide voice, data, applications, and / or Voice over Internet Protocol (VoIP) services to one or more of WTRU102a, 102b, 102c, and 102d. The data may have various Quality of Service (QoS) requirements, including different throughput requirements, latency requirements, error tolerance requirements, reliability requirements, data throughput requirements, and mobility requirements. CN106 / 115 can provide call control, billing services, mobile location-based services, prepaid calls, internet connectivity, video distribution, and / or perform high-level security functions such as user authentication. Although not shown in Figure 12A, it will be understood that RAN104 / 113 and / or CN106 / 115 can communicate directly or indirectly with other RANs utilizing the same or different RAT as RAN104 / 113. For example, in addition to connecting to RAN104 / 113 which can utilize NR radio technology, CN106 / 115 can also communicate with other RANs (not shown) that utilize GSM, UMTS, CDMA2000, WiMAX, E-UTRA, or Wi-Fi radio technology.
[0056]
[0070] CN106 / 115 can also function as a gateway for WTRU102a, 102b, 102c, 102d to access PSTN108, the Internet 110, and / or other networks 112. PSTN108 may include a circuit-switched telephone network providing basic telephone services (POTS). The Internet 110 may include a global system consisting of interconnected computer networks and devices using common communication protocols such as Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and / or Internet Protocol (IP) within the TCP / IP Internet Protocol suite. Network 112 may include wired and / or wireless networks owned and / or operated by other service providers. For example, network 112 may include another CN connected to one or more RANs that may utilize the same or different RAT as RAN104 / 113.
[0057]
[0071] Some or all of the WTRUs 102a, 102b, 102c, and 102d in the communication system 100 can include multimode functionality (for example, WTRUs 102a, 102b, 102c, and 102d can include multiple transceivers for communicating with different radio networks via different radio links). For example, WTRU 102c shown in Figure 12A may be configured to communicate with base station 114a which can utilize cellular-based radio technology, and also with base station 114b which can utilize IEEE 802 radio technology.
[0058]
[0072] Figure 12B is a system diagram showing an exemplary WTRU 102. As shown in Figure 12B, the WTRU 102 may comprise, among other things, a processor 118, a transceiver 120, a transmit / receive element 122, a speaker / microphone 124, a keypad 126, a display / touchpad 128, a non-removable memory 130, a removable memory 132, a power supply 134, a Global Positioning System (GPS) chipset 136, and / or other peripherals 138. It will be understood that the WTRU 102 may include any subcombinations of the above elements while maintaining consistency with the embodiment.
[0059]
[0073] The processor 118 can be a general-purpose processor, a dedicated processor, a conventional processor, a digital signal processor (DSP), multiple microprocessors, one or more microprocessors working with a DSP core, a controller, a microcontroller, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) circuit, any other type of integrated circuit (IC), and a state machine. The processor 118 can perform signal coding, data processing, power control, input / output processing, and / or any other functions that enable the WTRU 102 to operate in a wireless environment. The processor 118 can be coupled to the transceiver 120, and the transceiver 120 can be coupled to the transmit / receive element 122. Although Figure 12B shows the processor 118 and the transceiver 120 as separate components, it will be understood that the processor 118 and the transceiver 120 can be integrated together in an electronic package or chip.
[0060]
[0074] The transmitting / receiving element 122 may be configured to transmit signals to or receive signals from a base station (e.g., base station 114a) via the radio interface 116. For example, in one embodiment, the transmitting / receiving element 122 may be an antenna configured to transmit and / or receive RF signals. In one embodiment, the transmitting / receiving element 122 may be an emitter / detector configured to transmit and / or receive, for example, IR, UV, or visible light signals. In another embodiment, the transmitting / receiving element 122 may be configured to transmit and / or receive both RF signals and optical signals. It will be understood that the transmitting / receiving element 122 may be configured to transmit and / or receive any combination of radio signals.
[0061]
[0075] In Figure 12B, the transmit / receive element 122 is shown as a single element, but the WTRU 102 can include any number of transmit / receive elements 122. More specifically, the WTRU 102 can utilize MIMO technology. Thus, in one embodiment, the WTRU 102 can include two or more transmit / receive elements 122 (e.g., multiple antennas) for transmitting and receiving radio signals via the radio interface 116.
[0062]
[0076] The transceiver 120 may be configured to modulate the signal transmitted by the transmit / receive element 122 and to demodulate the signal received by the transmit / receive element 122. As described above, the WTRU 102 may have multimode capabilities. Therefore, the transceiver 120 may include multiple transceivers to enable the WTRU 102 to communicate via multiple RATs, such as NR and IEEE 802.11.
[0063]
[0077] The processor 118 of the WTRU102 can be coupled to a speaker / microphone 124, a keypad 126, and / or a display / touchpad 128 (e.g., a liquid crystal display (LCD) display unit or an organic light-emitting diode (OLED) display unit) and can receive user input data from them. The processor 118 can also output user data to the speaker / microphone 124, the keypad 126, and / or the display / touchpad 128. In addition, the processor 118 can obtain information from any type of suitable memory, such as a non-removable memory 130 and / or removable memory 132, and can store data in them. The non-removable memory 130 may include random access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 132 may include a subscriber identification module (SIM) card, a memory stick, and a secure digital (SD) memory card, etc. In other embodiments, the processor 118 can access information from memory located on a server or home computer (not shown), rather than from memory physically located on the WTRU 102, and can store data in such memory.
[0064]
[0078] The processor 118 can receive power from the power supply 134 and may be configured to distribute and / or control power to other components within the WTRU 102. The power supply 134 can be any suitable device for supplying power to the WTRU 102. For example, the power supply 134 may include one or more dry cell batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel-metal hydride (NiMH), lithium-ion (Li-ion), etc.), solar cells, and fuel cells.
[0065]
[0079] The processor 118 can also be coupled to a GPS chipset 136, which may be configured to provide location information (e.g., longitude and latitude) regarding the current location of the WTRU 102. In addition to, or instead of, the information from the GPS chipset 136, the WTRU 102 can receive location information from base stations (e.g., base stations 114a, 114b) via the radio interface 116 and / or determine its own position based on the timing of signals received from two or more nearby base stations. It will be understood that the WTRU 102 can acquire location information using any suitable positioning method while maintaining consistency with the embodiments.
[0066]
[0080] The processor 118 can be further coupled to other peripherals 138, which may include one or more software modules and / or hardware modules that provide additional features, functions, and / or wired or wireless connectivity. For example, peripherals 138 may include an accelerometer, e-compass, satellite transceiver, digital camera (for photos and / or videos), Universal Serial Bus (USB) port, vibration device, television transceiver, hands-free headset, Bluetooth® module, frequency modulation (FM) radio unit, digital music player, media player, video game player module, internet browser, virtual reality and / or augmented reality (VR / AR) device, and activity tracker. Peripherals 138 may include one or more sensors, which may be one or more of a gyroscope, accelerometer, Hall effect sensor, magnetometer, orientation sensor, proximity sensor, temperature sensor, time sensor, geolocation sensor, altimeter, light sensor, touch sensor, magnetometer, barometer, gesture sensor, biometric sensor, and / or humidity sensor.
[0067]
[0081] WTRU102 may include a full-duplex radio (for example) in which the transmission and reception of some or all of the signals associated with a particular subframe of both UL (e.g., for transmission) and downlink (e.g., for reception) may occur in parallel and / or simultaneously. The full-duplex radio may include an interference management unit to reduce and / or substantially eliminate self-interference via signal processing by either hardware (e.g., chokes) or a processor (e.g., via another processor (not shown) or processor 118). In one embodiment, WTRU102 may include a half-duplex radio for the transmission and reception of some or all of the signals associated with a particular subframe of either UL (e.g., for transmission) or downlink (e.g., for reception).
[0068]
[0082] Figure 12C is a system diagram showing RAN104 and CN106 according to one embodiment. As described above, RAN104 may employ E-UTRA radio technology to communicate with WTRU102a, 102b, and 102c via the radio interface 116. RAN104 may also communicate with CN106.
[0069]
[0083] RAN104 may include eNode-B160a, 160b, and 160c, but it should be understood that RAN104 may include any number of eNode-B while maintaining consistency with the embodiment. Each eNode-B160a, 160b, and 160c may comprise one or more transceivers for communicating with WTRU102a, 102b, and 102c via the radio interface 116. In one embodiment, eNode-B160a, 160b, and 160c may implement MIMO technology. For example, eNode-B160a may use multiple antennas to transmit radio signals to WTRU102a and / or receive radio signals from WTRU102a.
[0070]
[0084] Each of the eNode-B160a, 160b, and 160c may be associated with a specific cell (not shown) and may be configured to handle wireless resource management decisions, handover decisions, user scheduling in UL and / or DL, etc. As shown in Figure 12C, the eNode-B160a, 160b, and 160c may communicate with each other via the X2 interface.
[0071]
[0085] The CN106 shown in Figure 12C may include a Mobility Management Entity (MME) 162, a Serving Gateway (SGW) 164, and a Packet Data Network (PDN) Gateway (or PGW) 166. Although each of the above elements is depicted as part of CN106, it should be understood that any of these elements may be owned and / or operated by an entity other than the CN operator.
[0072]
[0086] The MME162 can be connected to each of the eNode-B162a, 162b, and 162c of RAN104 via the S1 interface and can function as a control node. For example, the MME162 may be involved in user authentication of WTRU102a, 102b, and 102c, enabling / disabling bearers, and selecting a specific serving gateway during the initial attachment of WTRU102a, 102b, and 102c. The MME162 may provide control plane functionality for switching between RAN104 and other RANs (not shown) employing other radio technologies such as GSM and / or WCDMA.
[0073]
[0087] The SGW164 can be connected to each of the eNode-B162a, 160b, and 160c of RAN104 via the S1 interface. The SGW164 can generally route and forward user data packets to and from WTRU102a, 102b, and 102c. The SGW164 can also perform other functions such as anchoring the user plane during handovers between eNode-B, triggering paging when DL data is available on WTRU102a, 102b, and 102c, and managing and storing the context of WTRU102a, 102b, and 102c.
[0074]
[0088] SGW164 may be connected to PGW166, which can provide WTRU102a, 102b, and 102c with access to a packet-switched network such as the Internet 110, in order to facilitate communication between WTRU102a, 102b, and 102c and IP-enabled devices.
[0075]
[0089] CN106 can facilitate communication with other networks. For example, CN106 may provide WTRU102a, 102b, and 102c with access to a circuit-switched network such as PSTN108 to facilitate communication between WTRU102a, 102b, and 102c and conventional fixed telephone communication equipment. For example, CN106 may include, or communicate with, an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that functions as an interface between CN106 and PSTN108. In addition, CN106 may provide WTRU102a, 102b, and 102c with access to other networks 112, which may include other wired and / or wireless networks owned and / or operated by other service providers.
[0076]
[0090] In Figures 12A to 12D, the WTRU is described as a wireless terminal, but in certain representative embodiments, it is intended that such a terminal may have access to a wired communication interface with a communication network (e.g., temporarily or permanently).
[0077]
[0091] In a typical embodiment, the other network 112 may be a WLAN.
[0078]
[0092] A WLAN in Infrastructure Basic Service Set (BSS) mode may have access points (APs) for the BSS and one or more stations (STAs) associated with the APs. APs may have access to or interfaces with a distribution system (DS) or another type of wired / wireless network carrying traffic to and from the BSS. Traffic arriving from outside the BSS to an STA may arrive via the AP and be delivered to the STA. Traffic arriving from an STA and destined for a destination outside the BSS may be sent to the AP to be delivered to its respective destination. Traffic between STAs within the BSS may be transmitted via the AP; for example, a source STA may send traffic to an AP, which then delivers the traffic to the destination STA. Traffic between STAs within the BSS may be considered and / or referred to as peer-to-peer traffic. Peer-to-peer traffic may be transmitted between a source STA and a destination STA (for example, directly between a source STA and a destination STA) using a Direct Link Setup (DLS). In certain representative embodiments, DLS may use 802.11eDLS or 802.11z Tunnel DLS (TDLS). A WLAN using Independent BSS (IBSS) mode does not have APs, and STAs within or using IBSS (e.g., all STAs) can communicate directly with each other. In this specification, the IBSS communication mode may be referred to as “ad hoc” communication mode.
[0079]
[0093] When using the operating modes of an 802.11ac infrastructure or similar operating modes, an AP may transmit beacons on a fixed channel, such as a primary channel. The primary channel may have a fixed width (e.g., a 20 MHz bandwidth) or a dynamically set width via signaling. The primary channel may be the operating channel of the BSS and may be used by the STA to establish a connection with the AP. In certain typical embodiments, for example in an 802.11 system, a Carrier Sensitive Multiple Access / Collision Avoidance (CSMA / CA) scheme may be implemented. In CSMA / CA, the STA, including the AP (e.g., all STAs), may sense the primary channel. If a particular STA senses / detects / and / or determines that the primary channel is busy, that STA may make a concession. One STA (e.g., only one station) may transmit at any given time on a given BSS.
[0080]
[0094] A high-throughput (HT) STA may use a 40MHz wide channel for communication, for example, by combining a primary 20MHz channel with adjacent or non-adjacent 20MHz channels to form a 40MHz wide channel.
[0081]
[0095] Ultra-high throughput (VHT) STAs may support channels with widths of 20 MHz, 40 MHz, 80 MHz, and / or 160 MHz. 40 MHz and / or 80 MHz channels may be formed by combining consecutive 20 MHz channels. A 160 MHz channel may be formed by combining eight consecutive 20 MHz channels, or by combining two non-consecutive 80 MHz channels, the latter sometimes referred to as an 80+80 configuration. In an 80+80 configuration, channel-coded data may be passed through a segment parser capable of splitting the data into two streams. Inverse fast Fourier transform (IFFT) and time-domain processing may be performed individually for each stream. The streams may be mapped to two 80 MHz channels, and the data may be transmitted by a transmitting STA. At the receiver of a receiving STA, the operation of the 80+80 configuration described above may be reversed, and the combined data may be transmitted to a media access control (MAC).
[0082]
[0096] Sub-1GHz operating modes are supported by 802.11af and 802.11ah. 802.11af and 802.11ah reduce the channel operating bandwidth and carrier compared to those used in 802.11n and 802.11ac. 802.11af supports bandwidths of 5MHz, 10MHz, and 20MHz in TV white space (TVWS), while 802.11ah supports bandwidths of 1MHz, 2MHz, 4MHz, 8MHz, and 16MHz using frequency bands other than TVWS. According to a typical embodiment, 802.11ah may support meter-type control / machine communications, such as MTC devices in a macro coverage area. MTC devices may have limited capabilities, including support for specific and / or limited bandwidths (e.g., support only that bandwidth). MTC devices may include batteries with above-threshold battery life (e.g., to maintain very long battery life).
[0083]
[0097] WLAN systems that can support multiple channels and channel bandwidths, such as 802.11n, 802.11ac, 802.11af, and 802.11ah, include a channel that can be designated as the primary channel. The primary channel may have a bandwidth equal to the largest common operating bandwidth supported by all STAs in the BSS. The bandwidth of the primary channel may be set and / or limited by the STA that supports the smallest bandwidth operating mode among all STAs when operating in the BSS. In the 802.11ah example, even if the AP and other STAs in the BSS support 2MHz, 4MHz, 8MHz, 16MHz, and / or other channel bandwidth operating modes, the primary channel may be 1MHz wide for an STA (e.g., an MTC type device) that supports (e.g., only) the 1MHz mode. Carrier detection and / or network assignment vector (NAV) settings may depend on the status of the primary channel. For example, if the primary channel is busy due to an STA (which only supports 1MHz operating mode), a large portion of the frequency band remains idle, and even if it could be available, transmitting the entire available frequency band to the AP may be considered busy.
[0084]
[0098] In the United States, the available frequency band that can be used by 802.11ah is from 902 MHz to 928 MHz. In South Korea, the available frequency band is from 917.5 MHz to 923.5 MHz. In Japan, the available frequency band is from 916.5 MHz to 927.5 MHz. The total available bandwidth for 802.11ah is from 6 MHz to 26 MHz, depending on the country code.
[0085]
[0099] Figure 12D is a system diagram showing RAN113 and CN115 according to one embodiment. As described above, RAN113 may employ NR radio technology to communicate with WTRU102a, 102b, and 102c via the radio interface 116. RAN113 may also communicate with CN115.
[0086]
[0100] RAN113 may include gNB180a, 180b, and 180c, but it should be understood that RAN113 may include any number of gNBs while maintaining consistency with the embodiment. Each gNB180a, 180b, and 180c may comprise one or more transceivers for communicating with WTRU102a, 102b, and 102c via the radio interface 116. In one embodiment, gNB180a, 180b, and 180c may implement MIMO technology. For example, gNB180a and 108b may utilize beamforming to transmit signals to and / or receive signals from gNB180a, 180b, and 180c. Thus, for example, gNB180a may use multiple antennas to transmit radio signals to and / or receive radio signals from WTRU102a. In one embodiment, gNB180a, 180b, and 180c may implement carrier aggregation technology. For example, gNB180a may transmit multiple component carriers to WTRU102a (not shown). A subset of these component carriers may be on the unlicensed spectrum, while the remaining component carriers may be on the licensed spectrum. In one embodiment, gNB180a, 180b, and 180c may implement coordinated multipoint (CoMP) technology. For example, WTRU102a may receive coordinated transmissions from gNB180a and gNB180b (and / or gNB180c).
[0087]
[0101] WTRU102a, 102b, and 102c may communicate with gNB180a, 180b, and 180c using transmissions associated with scalable numerology. For example, OFDM symbol intervals and / or OFDM subcarrier intervals may vary depending on different transmissions, different cells, and / or different parts of the wireless transmission spectrum. WTRU102a, 102b, and 102c may communicate with gNB180a, 180b, and 180c using subframes or transmit time intervals (TTIs) of varying or scalable lengths (e.g., containing a varying number of OFDM symbols and / or lasting for varying lengths of absolute time).
[0088]
[0102] gNB180a, 180b, and 180c can be configured to communicate with WTRU102a, 102b, and 102c in standalone and / or non-standalone configurations. In a standalone configuration, WTRU102a, 102b, and 102c can communicate with gNB180a, 180b, and 180c without accessing other RANs (e.g., eNode-B160a, 160b, and 160c). In a standalone configuration, WTRU102a, 102b, and 102c can utilize one or more of gNB180a, 180b, and 180c as mobility anchor points. In a standalone configuration, WTRU102a, 102b, and 102c can communicate with gNB180a, 180b, and 180c using unlicensed in-band signals. In a non-standalone configuration, WTRU102a, 102b, and 102c can communicate with / connect to gNB180a, 180b, and 180c while also communicating with / connecting to other RANs such as eNode-B160a, 160b, and 160c. For example, WTRU102a, 102b, and 102c can implement DC principles to communicate substantially simultaneously with one or more gNB180a, 180b, and 180c and one or more eNode-B160a, 160b, and 160c. In a non-standalone configuration, eNode-B160a, 160b, and 160c can function as mobility anchors for WTRU102a, 102b, and 102c, while gNB180a, 180b, and 180c can provide additional coverage and / or throughput to service WTRU102a, 102b, and 102c.
[0089]
[0103] Each of the gNB180a, 180b, and 180c may be associated with a specific cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, user scheduling in UL and / or DL, support for network slicing, dual connectivity, interconnection between NR and E-UTRA, routing of user plane data to user plane functions (UPF) 184a and 184b, and routing of control plane information to access and mobility management functions (AMF) 182a and 182b. As shown in Figure 12D, the gNB180a, 180b, and 180c may communicate with each other via the Xn interface.
[0090]
[0104] The CN115 shown in Figure 12D may include at least one AMF182a, 182b, at least one UPF184a, 184b, at least one Session Management Function (SMF)183a, 183b, and optionally a Data Network (DN)185a, 185b. Although each of the above elements is depicted as part of the CN115, it should be understood that any of these elements may be owned and / or operated by an entity other than the CN operator.
[0091]
[0105] AMF182a and 182b may be connected to one or more of gNB180a, 180b, and 180c in RAN113 via the N2 interface and may function as control nodes. For example, AMF182a and 182b may be involved in authenticating users of WTRU102a, 102b, and 102c, supporting network slicing (e.g., handling different PDU sessions with different requirements), selecting specific SMF183a and 183b, managing registration areas, terminating NAS signaling, mobility management, etc. Network slicing may be used by AMF182a and 182b to customize CN support for WTRU102a, 102b, and 102c based on the type of services utilized by WTRU102a, 102b, and 102c. For example, different network slices may be established for different use cases such as services relying on high-reliability, low-latency (URLLC) access, services relying on extended large-scale mobile broadband (eMBB) access, and / or services using machine-type communications (MTC) access. The AMF162 may provide control plane functionality for switching between RAN113 and other RANs (not shown) employing other radio technologies such as LTE, LTE-A, LTE-A Pro, and / or non-3GPP access technologies such as WiFi.
[0092]
[0106] SMF183a and 183b may be connected to AMF182a and 182b in CN115 via the N11 interface. SMF183a and 183b may also be connected to UPF184a and 184b in CN115 via the N4 interface. SMF183a and 183b may select and control UPF184a and 184b and configure traffic routing through UPF184a and 184b. SMF183a and 183b may perform other functions such as managing and assigning IP addresses to UEs, managing PDU sessions, controlling policy enforcement and QoS, and providing downlink data notifications. PDU session types may include IP-based, non-IP-based, Ethernet-based, etc.
[0093]
[0107] UPF184a, 184b may be connected to one or more of the gNB180a, 180b, 180c in RAN113 via an N3 interface that can provide WTRU102a, 102b, 102c with access to a packet-switched network such as the Internet 110 to facilitate communication between WTRU102a, 102b, 102c and IP-enabled devices. UPF184, 184b may perform other functions such as routing and forwarding packets, enforcing user plane policies, supporting multi-homed PDU sessions, handling user plane QoS, buffering downlink packets, and providing mobility anchoring.
[0094]
[0108] CN115 can facilitate communication with other networks. For example, CN115 may include or communicate with an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that functions as an interface between CN115 and PSTN108. In addition, CN115 may provide WTRU102a,102b,102c with access to other networks 112, which may include other wired and / or wireless networks owned and / or operated by other service providers. In one embodiment, WTRU102a,102b,102c may be connected to the local data network (DN) 185a,185b through UPF184a,184b via an N3 interface to UPF184a,184b and an N6 interface between UPF184a,184b and DN185a,185b.
[0095]
[0109] In view of Figures 12A to 12D and the corresponding descriptions of Figures 12A to 12D, one or more or all of the functions described herein with respect to one or more of the WTRU102a to d, base stations 114a to b, eNode-B160a to c, MME162, SGW164, PGW166, gNB180a to c, AMF182a to b, UPF184a to b, SMF183a to b, DN185a to b, and / or any other devices described herein may be performed by one or more emulation devices (not shown). An emulation device may be one or more devices configured to emulate one or more or all of the functions described herein. For example, an emulation device may be used to test other devices and / or to simulate network and / or WTRU functions.
[0096]
[0110] Emulation devices may be designed to perform tests on one or more other devices in a laboratory and / or carrier network environment. For example, one or more emulation devices may be fully or partially implemented and / or deployed as part of a wired and / or wireless network to test other devices in a communications network, and may perform one or more or all of their functions. One or more emulation devices may be temporarily implemented / deployed as part of a wired and / or wireless network, and may perform one or more or all of their functions. Emulation devices may be directly coupled to another device for testing purposes and / or may perform tests using wireless communication.
[0097]
[0111] One or more emulation devices may perform one or more functions, including all of them, without being implemented / deployed as part of a wired and / or wireless communication network. For example, an emulation device may be used in a test scenario in a test lab and / or in an undeployed (e.g., being tested) wired and / or wireless communication network to perform testing of one or more components. One or more emulation devices may serve as test equipment. Wireless communication via direct RF coupling and / or RF circuitry (e.g., which may include one or more antennas) may be used by an emulation device to transmit and / or receive data.
[0098]
[0112] The processes and techniques described herein can be implemented in computer programs, software, and / or firmware embedded in computer-readable media for execution by a computer and / or processor. Examples of computer-readable media include, but are not limited to, electronic signals (transmitted via wired and / or wireless connections) and / or computer-readable storage media. Examples of computer-readable storage media include, but are not limited to, read-only memory (ROM), random access memory (RAM), registers, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and / or optical media such as CD-ROM disks and / or digital multi-purpose disks (DVDs). A processor in conjunction with software may be used to implement radio frequency transceivers for use in WTRUs, terminals, base stations, RNCs, and / or any host computer.
Claims
1. Generate a list of candidates for performing motion compensation predictions associated with the current block, where the current block is divided into a first triangular division and a second triangular division. Add at least one of the spatial or temporal candidates to the aforementioned candidate list. We derive history-based motion vector prediction (HMVP) candidates from previously encoded blocks. The HMVP candidate is added to the candidate list, and the HMVP candidate and at least one of the spatial candidate or the temporal candidate are interleaved. The current block, including the first and second divisions of the triangle, is decoded based on the candidate list. Processor configured in such a way A device for video decoding, equipped with the following features.
2. The apparatus according to claim 1, wherein the HMVP candidate is added to the candidate list after at least one of the spatial candidates or the temporal candidates.
3. The processor is further configured to identify a first candidate from the candidate list and a second candidate from the candidate list. The first candidate is associated with the first division of the triangle, and the second candidate is associated with the second division, The apparatus according to claim 1 or 2, wherein the current block is decoded based on the first candidate associated with the first division of the triangle and the second candidate associated with the second division.
4. The processor is further configured to identify a first candidate from the candidate list and a second candidate from the candidate list. The first candidate is the HMVP candidate associated with the first division of the triangle, and the second candidate is the spatial candidate or the temporal candidate associated with the second division. The apparatus according to claim 1 or 2, wherein the current block is decoded based on the HMVP candidate associated with the first division of the triangle and the spatial candidate or the temporal candidate associated with the second division.
5. The aforementioned processor, Identify the merge index associated with the first division and the second division of the triangle, Based on the merge index, a first candidate and a second candidate are identified from the candidate list. It is further configured in this way, The HMVP candidate is added to the candidate list after at least one of the spatial candidates or the temporal candidates. The first candidate is the HMVP candidate associated with the first division of the triangle, and the second candidate is the spatial candidate or the temporal candidate associated with the second division. The apparatus according to claim 1 or 2, wherein the current block is decoded based on the HMVP candidate associated with the first division of the triangle and the spatial candidate or the temporal candidate associated with the second division.
6. The apparatus according to any one of claims 1 to 5, wherein the HMVP candidate includes motion information and a reference index.
7. The apparatus according to any one of claims 1 to 6, wherein the candidate list is a list of unidirectional predicted motion vector candidates.
8. The processor Determine whether the at least one spatial candidate or temporal candidate is included in the L0 motion vector, and if the at least one spatial candidate or temporal candidate is included in the L0 motion vector, add the L0 motion vector to the list of unidirectional predicted motion vector candidates. Determine whether the HMVP candidate is included in the L0 motion vector, and if the HMVP candidate is included in the L0 motion vector, add the L0 motion vector to the list of unidirectional predicted motion vector candidates. Determine whether the at least one spatial candidate or temporal candidate is included in the L1 motion vector, and if the at least one spatial candidate or temporal candidate is included in the L1 motion vector, add the L1 motion vector to the list of unidirectional predicted motion vector candidates. Determine whether the HMVP candidate is included in the L1 motion vector, and if the HMVP candidate is included in the L1 motion vector, add the L1 motion vector to the list of unidirectional predicted motion vector candidates. The apparatus according to claim 7, further configured as follows.
9. The process involves generating a candidate list for performing motion compensation predictions associated with the current block, wherein the current block is divided into a first triangular division and a second triangular division. Adding at least one of the spatial or temporal candidates to the aforementioned candidate list, Deriving history-based motion vector prediction (HMVP) candidates from previously encoded blocks, Adding the HMVP candidate to the candidate list, wherein the HMVP candidate and at least one of the spatial candidate or the temporal candidate are interleaved. Decode the current block, including the first and second divisions of the triangle, based on the candidate list. Methods for video decoding, including those mentioned above.
10. The method according to claim 9, wherein the HMVP candidate is added to the candidate list after at least one of the spatial candidates or the temporal candidates.
11. Further includes identifying a first candidate from the candidate list and a second candidate from the candidate list, The first candidate is associated with the first division of the triangle, and the second candidate is associated with the second division, The method according to claim 9 or 10, wherein the current block is decoded based on the first candidate associated with the first division of the triangle and the second candidate associated with the second division.
12. Further includes identifying a first candidate from the candidate list and a second candidate from the candidate list, The first candidate is the HMVP candidate associated with the first division of the triangle, and the second candidate is the spatial candidate or the temporal candidate associated with the second division. The method according to claim 9 or 10, wherein the current block is decoded based on the HMVP candidate associated with the first division of the triangle and the spatial candidate or the temporal candidate associated with the second division.
13. Identifying the merge index associated with the first division and the second division of the triangle, Based on the merge index, a first candidate is identified from the candidate list and a second candidate from the candidate list. It further includes, The HMVP candidate is added to the candidate list after at least one of the spatial candidates or the temporal candidates. The first candidate is the HMVP candidate associated with the first division of the triangle, and the second candidate is the spatial candidate or the temporal candidate associated with the second division. The method according to claim 9 or 10, wherein the current block is decoded based on the HMVP candidate associated with the first division of the triangle and the spatial candidate or the temporal candidate associated with the second division.
14. The method according to any one of claims 9 to 13, wherein the HMVP candidate includes motion information and a reference index.
15. The method according to any one of claims 9 to 14, wherein the candidate list is a list of unidirectional predicted motion vector candidates.
16. Determining whether the at least one spatial candidate or temporal candidate is included in the L0 motion vector, If the aforementioned at least one spatial or temporal candidate is included in the L0 motion vector, the L0 motion vector is added to the list of unidirectional predicted motion vector candidates. To determine whether the HMVP candidate is included in the L0 motion vector, If the HMVP candidate is included in the L0 motion vector, the L0 motion vector is added to the list of unidirectional predicted motion vector candidates. Determining whether the aforementioned at least one spatial or temporal candidate is included in the L1 motion vector, If the aforementioned at least one spatial or temporal candidate is included in the L1 motion vector, the L1 motion vector is added to the list of unidirectional predicted motion vector candidates. To determine whether the HMVP candidate is included in the L1 motion vector, If the HMVP candidate is included in the L1 motion vector, the L1 motion vector is added to the list of unidirectional predicted motion vector candidates. The method according to claim 15, including the method described in claim 15.
17. Generate a list of candidates for performing motion compensation predictions associated with the current block, where the current block is divided into a first triangular division and a second triangular division. Add at least one of the spatial or temporal candidates to the aforementioned candidate list. We derive history-based motion vector prediction (HMVP) candidates from previously encoded blocks. The HMVP candidate is added to the candidate list, and the HMVP candidate and at least one of the spatial candidate or the temporal candidate are interleaved. The current block, including the first and second divisions of the triangle, is encoded based on the candidate list. Processor configured in such a way A device for video encoding, equipped with the following features.
18. The processor is further configured to identify a first candidate from the candidate list and a second candidate from the candidate list. The first candidate is associated with the first division of the triangle, and the second candidate is associated with the second division, The apparatus according to claim 17, wherein the current block is encoded based on the first candidate associated with the first division of the triangle and the second candidate associated with the second division.
19. The processor is further configured to identify a first candidate from the candidate list and a second candidate from the candidate list. The first candidate is the HMVP candidate associated with the first division of the triangle, and the second candidate is the spatial candidate or the temporal candidate associated with the second division. The apparatus according to claim 17, wherein the current block is encoded based on the HMVP candidate associated with the first division of the triangle and the spatial candidate or the temporal candidate associated with the second division.
20. The aforementioned processor, Identify the merge index associated with the first division and the second division of the triangle, Based on the merge index, a first candidate and a second candidate are identified from the candidate list. It is further configured in this way, The HMVP candidate is added to the candidate list after at least one of the spatial candidates or the temporal candidates. The first candidate is the HMVP candidate associated with the first division of the triangle, and the second candidate is the spatial candidate or the temporal candidate associated with the second division. The apparatus according to claim 17, wherein the current block is encoded based on the HMVP candidate associated with the first division of the triangle and the spatial candidate or the temporal candidate associated with the second division.
21. The apparatus according to any one of claims 17 to 20, wherein the candidate list is a list of unidirectional predicted motion vector candidates.
22. The processor Determine whether the at least one spatial candidate or temporal candidate is included in the L0 motion vector, and if the at least one spatial candidate or temporal candidate is included in the L0 motion vector, add the L0 motion vector to the list of unidirectional predicted motion vector candidates. Determine whether the HMVP candidate is included in the L0 motion vector, and if the HMVP candidate is included in the L0 motion vector, add the L0 motion vector to the list of unidirectional predicted motion vector candidates. Determine whether the at least one spatial candidate or temporal candidate is included in the L1 motion vector, and if the at least one spatial candidate or temporal candidate is included in the L1 motion vector, add the L1 motion vector to the list of unidirectional predicted motion vector candidates. Determine whether the HMVP candidate is included in the L1 motion vector, and if the HMVP candidate is included in the L1 motion vector, add the L1 motion vector to the list of unidirectional predicted motion vector candidates. The apparatus according to claim 21, further configured as follows.
23. The process involves generating a candidate list for performing motion compensation predictions associated with the current block, wherein the current block is divided into a first triangular division and a second triangular division. Adding at least one of the spatial or temporal candidates to the aforementioned candidate list, Deriving history-based motion vector prediction (HMVP) candidates from previously encoded blocks, Adding the HMVP candidate to the candidate list, wherein the HMVP candidate and at least one of the spatial candidate or the temporal candidate are interleaved. Encoding the current block, including the first and second divisions of the triangle, based on the candidate list: A method for video encoding, including
24. Further includes identifying a first candidate from the candidate list and a second candidate from the candidate list, The first candidate is associated with the first division of the triangle, and the second candidate is associated with the second division, The method according to claim 23, wherein the current block is encoded based on the first candidate associated with the first division of the triangle and the second candidate associated with the second division.
25. Further includes identifying a first candidate from the candidate list and a second candidate from the candidate list, The first candidate is the HMVP candidate associated with the first division of the triangle, and the second candidate is the spatial candidate or the temporal candidate associated with the second division. The method according to claim 23, wherein the current block is encoded based on the HMVP candidate associated with the first division of the triangle and the spatial candidate or the temporal candidate associated with the second division.
26. Identifying the merge index associated with the first division and the second division of the triangle, Based on the merge index, a first candidate is identified from the candidate list and a second candidate from the candidate list. It further includes, The HMVP candidate is added to the candidate list after at least one of the spatial candidates or the temporal candidates. The first candidate is the HMVP candidate associated with the first division of the triangle, and the second candidate is the spatial candidate or the temporal candidate associated with the second division. The method according to claim 23, wherein the current block is encoded based on the HMVP candidate associated with the first division of the triangle and the spatial candidate or the temporal candidate associated with the second division.
27. The method according to any one of claims 23 to 26, wherein the candidate list is a list of unidirectional predicted motion vector candidates.
28. Determining whether the at least one spatial candidate or temporal candidate is included in the L0 motion vector, If the aforementioned at least one spatial or temporal candidate is included in the L0 motion vector, the L0 motion vector is added to the list of unidirectional predicted motion vector candidates. To determine whether the HMVP candidate is included in the L0 motion vector, If the HMVP candidate is included in the L0 motion vector, the L0 motion vector is added to the list of unidirectional predicted motion vector candidates. Determining whether the aforementioned at least one spatial or temporal candidate is included in the L1 motion vector, If the aforementioned at least one spatial or temporal candidate is included in the L1 motion vector, the L1 motion vector is added to the list of unidirectional predicted motion vector candidates. To determine whether the HMVP candidate is included in the L1 motion vector, If the HMVP candidate is included in the L1 motion vector, the L1 motion vector is added to the list of unidirectional predicted motion vector candidates. The method according to claim 27, including the method described in claim 27.
Citation Information
Patent Citations
Position dependent storage of motion information
WO2020094078A1
Method for encoding / decoding image signal, and apparatus therefor
WO2020096388A1
An encoder, a decoder and corresponding methods for inter prediction
WO2020106190A1
Triangle motion information for video coding
WO2020118064A1