History-based motion vector prediction
By introducing dynamic management of history-based motion vector prediction (HMVP) technology in the video encoding system, using video encoding equipment to generate and manage HMVP lists, the problem of degradation in the encoding performance in the video encoding system is solved, and encoding efficiency and inter-frames are improved Coding performance.
Patent Information
- Application Number
- CN202411393334.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2018-12-29
- Filing Date
- 2019-12-19
- Publication Date
- 2024-12-27
AI Technical Summary
History-based motion vector prediction can lead to degradation of encoding performance in video encoding systems, especially when the interaction between video encoding technology and other encoding tools is not fully utilized.
A system, method and means are proposed for processing history-based motion vector prediction (HMVP), where a video encoding device can generate an HMVP list of the current block, derive HMVP candidates from the previously encoded block, and associate it with the adjacent block. The motion information, reference index and double prediction weight index perform motion compensation prediction, and dynamically manage the HMVP list to optimize coding efficiency.
By dynamically managing HMVP lists and using dual predictive weight indexes, the encoding efficiency of video encoding is improved, redundant entries are reduced, encoding performance is enhanced, and inter-frame encoding efficiency is improved.
Smart Images

Figure CN119211577A_ABST
Abstract
Description
This application is a divisional application of Chinese patent application No. 201980085738.3, filed on December 19, 2019, entitled “History-based Motion Vector Prediction”, and the contents of the parent application are incorporated herein by reference. CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 786,429, filed on December 29, 2018, the contents of which are incorporated herein by reference. Background Art
[0002] Video coding systems are widely used to compress digital video signals to reduce the storage requirements and / or transmission bandwidth of such signals. Among various types of video coding systems (e.g., 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 including, for example, historical motion vector prediction can be utilized to perform video coding. The potential interaction of the video coding techniques with other coding tools in the video coding standard may not be utilized. This may result in a significant decrease in the coding performance of the video coding techniques. Summary of the invention
[0003] Disclosed are systems, methods, and means for processing history-based motion vector prediction (HMVP). A video encoding device may generate an HMVP list for a current block. The video encoding device may derive an HMVP candidate from a previously encoded block. The HMVP candidate may include motion information associated with a previously encoded block (e.g., a neighboring block of the current block), one or more reference indexes, and a bi-prediction weight index. The motion information may include at least one or more motion vectors. The bi-prediction weight index may include one or more weight indices associated with the neighboring blocks. One or more weights may be applied to a prediction signal generated by performing motion compensated prediction of the current block.
[0004] The video encoding device may add the HMVP candidate to the HMVP list for motion compensation prediction of the motion vector associated with the current block. The video encoding device may use the HMVP selected from the HMVP list to perform motion compensation prediction of the current block. The motion compensation prediction may be performed using the motion information associated with the neighboring block of the current block, the one or more reference indices, and the dual prediction weight index.
[0005] The video encoding device may perform pruning by determining whether the HMVP candidate is the same as an HMVP in the HMVP list of the current block. If the HMVP candidate is the same as one of the multiple HMVPs in the HMVP list, the video encoding device may remove the HMVP from the HMVP list. The video encoding device may add the HMVP candidate to the end of the HMVP list. The video encoding device may move one or more HMVPs after the removed HMVP in the HMVP list forward by one position. In one example, if the HMVP candidate and an HMVP in the HMVP list have the same motion vector and the same reference index, then the HMVP candidate may be considered to be the same as the HMVP in the HMVP list. In one example, if the HMVP candidate and an HMVP in the HMVP list have the same motion vector, the same reference index, and the same generalized bi-prediction (GBi) weight or bi-prediction (BCW) weight using CU-level weights, then the HMVP candidate may be considered to be the same as the HMVP in the HMVP list.
[0006] If the HMVP candidate is not identical to any of the HMVPs in the HMVP list, the video encoding device may remove the oldest HMVP entry of the HMVP list, for example, if the HMVP list is full. The video encoding device may add the HMVP candidate to the end of the HMVP list. When starting to encode a new coding tree unit CTU row, the video encoding device may reset the HMVP list. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 An exemplary diagram of a block-based video encoder is shown.
[0008] Figure 2 An example block partitioning in a multi-type tree structure is shown.
[0009] Figure 3 An exemplary diagram of a block-based video decoder is shown.
[0010] Figure 4 An exemplary history-based motion vector prediction (HMVP) encoding process is shown.
[0011] Figure 5 An example of motion compensated prediction based on diagonal triangle partitions and an example of motion compensated prediction based on inverse diagonal triangle partitions are shown.
[0012] Figure 6An example of generating a uni-prediction motion vector (MV), for example in a triangle mode, is shown.
[0013] Figure 7 An exemplary flow chart for generating a uni-predictive MV list based on one or more merge candidates is shown.
[0014] Fig. 8A An example of adding HMVP candidates to the HMVP list while considering the GBi weight is shown.
[0015] Figure 8B An example of adding HMVP candidates to the HMVP list using a first-in, first-out (FIFO) scheme is shown.
[0016] Fig. 9 An example of adding an HMVP candidate to the HMVP list is shown.
[0017] Fig.10 An exemplary flow chart for generating a uni-prediction MV list for triangular mode based on spatial / temporal candidates and HMVP candidates is shown.
[0018] Fig.11 An exemplary flow chart for generating a uni-prediction MV list for triangular mode based on interleaving uni-prediction MVs of spatial / temporal candidates and uni-prediction MVs of HMVP candidates is shown.
[0019] Fig. 12A is a system diagram of an example communication system in which one or more disclosed embodiments may be implemented.
[0020] Fig. 12B is available in Fig. 12A A system diagram of an example wireless transmit / receive unit (WTRU) for use within a communication system is shown in FIG.
[0021] Fig. 12C is available in Fig. 12A System diagram of an example radio access network (RAN) and an example core network (CN) used within the communication system shown in .
[0022] Fig.12D is available in Fig. 12A System diagram of another example RAN and another example CN used within the communication system shown in . DETAILED DESCRIPTION
[0023] A detailed description of illustrative embodiments will now be described with reference to the various drawings. Although this specification provides detailed examples of possible implementations, it should be noted that these details are intended to be exemplary and not to limit the scope of the application in any way.
[0024] One or more video encoding devices in a video encoding system can compress digital video signals, for example, to reduce the storage space and / or transmission bandwidth associated with storing and / or transmitting such signals. The video encoding device can be based on a block-based hybrid video coding framework. A block partitioning structure based on multiple types of trees can be used. One or more encoding modules can be included, such as an intra-frame prediction module, an inter-frame prediction module, a transform / inverse transform module, and a quantization / dequantization module. The video encoding device can include an in-loop filter.
[0025] The video encoding device may include one or more encoding tools that can provide higher encoding efficiency and medium implementation complexity. These encoding tools may include one or more of the following: affine motion model, alternative temporal motion vector prediction (ATMVP), integer motion vector (IMV), general bi-prediction (GBi) or bi-prediction (BCW) using CU-level weight (BCW), bidirectional optical flow (BDOF), combined inter-frame merging / intra-frame prediction, merging with motion vector difference (MMVD), pairwise average merging candidates, triangular inter-frame prediction for inter-frame coding; cross-component linear model (CCM), multi-line intra-frame prediction, current picture reference (CPR) for intra-frame prediction; enhanced multiple transform (EMT), correlated quantization for quantization and transform coding, and adaptive loop filtering (ALF) for in-loop filter.
[0026] An exemplary block-based video coding system may include a block-based hybrid video coding framework. Figure 1 An exemplary block diagram of a block-based hybrid video coding system is shown. Figure 1 As shown, the input video signal 1002 can be processed block by block. Extended block sizes (e.g., referred to as coding units or CUs) can be used to compress high-resolution (e.g., 1080p and / or above) video signals. A CU may contain a size of up to 128×128 pixels. Blocks can be partitioned based on a quadtree. A coding tree unit (CTU) can be partitioned into multiple CUs based on a quad / bin / ternary tree to adapt to varying local characteristics. A CU may or may not be partitioned into prediction units or PUs to which separate predictions may be applied. A CU can be used as (e.g., can always be used) a basic unit for prediction and transformation without other partitions. In a multi-type tree structure, (e.g., one) CTU can be partitioned (e.g., can be partitioned for the first time) by a quadtree structure. Quadtree leaf nodes (e.g., each quadtree leaf node) can be further partitioned by a binary tree and a ternary tree structure. As Figure 2 As shown in , there may be one or more (eg, five) partition types including, for example, quad partitioning, horizontal binary partitioning, vertical binary partitioning, horizontal ternary partitioning, and vertical ternary partitioning.
[0027] See also Figure 1 , a spatial prediction 1060 and / or a temporal prediction 1062 may be performed for an input video block (e.g., a macroblock (MB) and / or a CU). A spatial prediction 1060 (e.g., an intra prediction) may use pixels from samples (e.g., reference samples) of encoded neighboring blocks in a video picture / slice to predict a current video block. The spatial prediction 1060 may reduce, for example, spatial redundancy inherent in a video signal. A motion prediction 1062 (e.g., an inter prediction and / or a temporal prediction) may use reconstructed pixels (e.g., from an encoded video picture) to predict a current video block. The motion prediction 1062 may reduce, for example, temporal redundancy inherent in the video signal. A motion prediction signal (e.g., a temporal prediction signal) for a video block (e.g., a CU) may be signaled by one or more motion vectors (MVs). These MVs may indicate an amount and / or direction of motion between a current block and / or a reference block of the current block or its temporal reference. If multiple reference pictures are supported for a (e.g., each) video block, a reference picture index for the video block may be sent by the encoder. The reference picture index may be used to identify from which reference picture in the reference picture store 1064 the motion prediction signal may be derived.
[0028] After the spatial prediction 1060 and / or motion prediction 1062, a mode decision block 1080 in the encoder may determine a prediction mode (e.g., an optimal prediction mode), for example, based on rate-distortion optimization. At 1016, the prediction block may be subtracted from the current video block, and / or the prediction residual may be decorrelated using transform 1004 and / or quantization 1006 to achieve a bit rate, such as a target bit rate. The quantized residual coefficients may be inverse quantized at inverse quantization 1010 and / or inverse transformed at transform 1012, for example, to form a reconstructed residual, which may be added to the prediction block at 1026, for example, to form a reconstructed video block. In-loop filtering (e.g., a deblocking filter and / or an adaptive loop filter) may be applied to the reconstructed video block at a loop filter 1066 before the reconstructed video block may be placed in the reference picture store 1064 and / or used to encode a video block (e.g., a future video block). To form the output video bitstream 1020, the coding mode (e.g., inter-frame or intra-frame), prediction mode information, motion information and / or quantized residual coefficients can be sent (e.g., can all be sent) to the entropy coding module 1008, for example, to be compressed and / or packed to form the bitstream.
[0029] Figure 3 A block diagram of an exemplary block-based video decoding framework for a decoder is shown. A video bitstream 1102 (e.g., Figure 1The video bitstream 1020 in (e.g., first unpacked) may be unpacked (e.g., first unpacked) and / or entropy decoded at an entropy decoding module 1108. The coding mode and prediction information may be sent to a spatial prediction module 1170 (e.g., if intra-coded) and / or a motion compensated prediction module 1172 (e.g., if inter-coded and / or temporally coded) to form a prediction block. The residual transform coefficients may be sent to an inverse quantization module 1110 and / or an inverse transform module 1112, for example, to reconstruct the residual block. At 1126, the prediction block and / or the residual block may be added together. For example, the reconstructed block may be in-loop filtered at a loop filter 1176 before being stored in a reference picture store 1174. The reconstructed video 1120 in the reference picture store 1174 may be sent to drive a display device and / or used to predict a video block (e.g., a future video block).
[0030] One or more coding modules (eg, coding modules associated with inter-frame prediction) may be enhanced to improve inter-frame coding efficiency. For example, as described herein, the coding efficiency of history-based motion vector prediction (HMVP) may be improved.
[0031] The MV of an inter-coded block may be signaled using one or more mechanisms as described herein. For example, the MV of an inter-coded block may be signaled using an advanced motion vector prediction (AMVP) mode or a merge mode. In the AMVP mode, the difference between the true MV and the MV predictor (MVP), the reference index, and the MVP index of a reference AMVP candidate list may be signaled. For the merge mode, the merge index of a reference merge candidate list may be signaled. Motion information associated with a merge candidate may be inherited from the signaled merge candidate. Motion information (e.g., motion information for AMVP and merge candidates) may be derived from multiple spatial blocks adjacent to a CU. For example, these spatial blocks may be directly adjacent to (e.g., adjacent to) the current CU or be collocated blocks in a temporal reference picture. One or more merge candidates (e.g., up to 6 merge candidates) and one or more AMVP candidates (e.g., up to 2 AMVP candidates) may be added to the candidate list for motion vector prediction.
[0032] HMVP can be used to explore the correlation between MVs of neighboring blocks. For example, HMVP can be used to explore the correlation between neighboring spatial non-adjacent blocks. Although reference is made herein to HMVP being utilized by spatially non-adjacent neighboring blocks, those skilled in the art will appreciate that these neighboring blocks may also include adjacent blocks.
[0033] The HMVP candidate may indicate motion information of a previously encoded CU. The motion information may include one or more of the following: an MV and a reference picture index. A table of multiple HMVP candidates may be maintained at an encoder and / or decoder. When a new CTU row is encoded, the HMVP candidate table may be reset (e.g., reset to empty). After encoding a CU that does not contain multiple sub-blocks (e.g., an ATMVP and affine-coded CU), the associated 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). A redundancy check may be applied to identify whether there is an existing HMVP candidate that is identical to a new motion candidate (e.g., before adding the motion candidate to an HMVP candidate table or list). 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 one position, for example, by subtracting one from the HMVP candidate table index. Figure 4 An exemplary decoding workflow when HMVP is applied to predict MV is shown. Figure 4 As shown, at 402, the existing HMVP candidate may be loaded into a list of existing HMVP candidates. At 404, an MV associated with a current block may be decoded from the HMVP candidate. At 406, the HMVP candidate list may be updated based on the decoded MV.
[0034] Generalized bi-prediction (GBi) or bi-prediction with CU-level weights (BCW) may be performed. For example, GBi or BCW may be performed to improve the efficiency of bi-prediction when predicting one CU by two temporal prediction blocks from a reconstructed reference picture. In bi-prediction mode, the prediction signal at sample x may be calculated as the average of the two prediction signals, as shown in equation (1). P[x] = (P 0 [x+v 0 ]+P 1 [x+v 1 ]) / twenty one)
[0035] Referring to equation (1): P[x] can be the final prediction signal of sample x at position x in the picture, P 1 [x+v 1 ] may be the motion vector (MV) v using the i-th list (e.g., list 0, list 1) 1The motion compensation prediction signal of x. GBi may apply various weight values (e.g., w0 and w1) to the two prediction signals from list 0 and list 1. One or more configurations of w0 and w1 may imply prediction similarity to uni-prediction and bi-prediction (e.g., prediction that is the same as conventional uni-prediction and bi-prediction). For example, when (w0, w1) is equal to the following values, there may be prediction similarity to uni-prediction and bi-prediction: (1, 0) for uni-prediction using reference list L0; (0, 1) for uni-prediction using reference list L1; and (0.5, 0.5) for conventional bi-prediction using two reference lists. In GBi, the weights applied to the prediction signals from lists L0 and L1 may be signaled for each CU. A constraint may be applied so that the sum of w0 and w1 is 1, e.g., w0+w1=1. The constraint may be applied to reduce signaling overhead. Given this constraint, a single weight may be signaled, and the final bi-prediction signal when GBi is applied may be calculated, for example, using equation (2). P[x] = (1-w 1 )*P 0 [x+v 0 ]+w 1 *P 1 [x+v 1 ]. (2)
[0036] Referring to (2), w1 can be discretized, for example, by using the values {-1 / 4, 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, 5 / 4} so that each weight value can be indicated by an index value within a small limited range. Discretization using a small range of w1 can be used to reduce signaling overhead. The weight values {1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4} can be applied to inter-frame pictures (e.g., all inter-frame pictures), while the weight values {-1 / 4, 5 / 4} can be applied to low-delay pictures. The weight values can be applied to low-delay pictures that can be predicted by using a reference picture that precedes the current picture in display order.
[0037] Triangular inter-frame prediction may be performed. In some video content (e.g., natural 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 by rectangular blocks. Therefore, triangular prediction may be applied, for example, to achieve triangular partitioning for motion compensated prediction. Figure 5As shown in , triangle prediction may, for example, divide a CU into one or more (e.g., two) triangle prediction units in a diagonal direction (502) or a counter-diagonal direction (504). The triangle prediction units in the CU (e.g., each triangle prediction unit) may be inter-predicted using a uni-prediction motion vector and a reference frame index therein. The uni-prediction motion vector and the reference frame index may be derived from a uni-prediction candidate list.
[0038] The uni-prediction candidate list may include one or more (e.g., five) uni-prediction motion vector candidates. The uni-prediction motion vector candidates may be derived from spatial / temporal neighboring blocks that are similar (e.g., the same) as the spatial / temporal neighboring blocks used for the merge process (e.g., the merge process of HEVC). Figure 6 As shown, a single prediction motion vector candidate can be derived from five spatially neighboring blocks and two temporally collocated blocks. Figure 6 , the motion vectors of seven neighboring blocks may be collected and stored in the uni-prediction MV candidate list in the following order: the L0 motion vector of the neighboring block, the L1 motion vector of the neighboring block, and the average motion vector of the L0 motion vector and the L1 motion vector of the neighboring block (for example, if the neighboring block is bi-predicted). If the number of MV candidates is less than five, a zero (0) motion vector may be added to the MV candidate list.
[0039] Figure 7 A flowchart for adding a single prediction MV of a merge candidate to a single prediction MV list of a CU encoded by a triangle prediction mode is shown. At 702, a video encoding device may determine whether the merge candidate includes an L0 MV. If so, then at 704, the video encoding device may add the L0 MV associated with the merge candidate to the single prediction MV list. At 708, the video encoding device may check whether the spatial / temporal candidate is the last one in the list. At 710, the video encoding device may determine whether the merge candidate includes an L1 MV. If so, then at 712, the video encoding device may add the L1 MV associated with the merge candidate to the single prediction MV list. At 714, the video encoding device may check whether the spatial / temporal candidate is the last one in the list. At 716, the video encoding device may determine whether the merge candidate includes an L0 and L1 MV. If so, then at 718, the video encoding device may add the average of the L0 MV and the L1 MV associated with the merge candidate to the single prediction MV list. At 720 , the video encoding apparatus may check whether the spatial / temporal candidate is the last one in the list.
[0040] The order of the one or more neighboring blocks (e.g., the order in which candidate blocks may be examined and considered for addition to a candidate list) may include one or more spatially neighboring blocks (e.g., 1 to 5) followed by one or more temporally co-located blocks (6 to 7). Figure 6 , the motion vectors of seven neighboring blocks (e.g., A1, A0, B1, B2, T0, T1) may be collected and stored in a uniprediction candidate list in the order of a uniprediction motion vector, an L0 motion vector of a biprediction motion vector, an L1 motion vector of a biprediction motion vector, and an average motion vector of the L0 and L1 motion vectors of the biprediction motion vector. If the number of candidates is less than five, a zero motion vector is added to the list.
[0041] For example, the HMVP coding gain can be improved by extending the application of HMVP to other coding tools (e.g., general dual prediction and / or triangular inter-frame prediction). HMVP can be used to determine the MV correlation between adjacent blocks. For example, HMVP can be used to determine the MV correlation between adjacent spatial non-adjacent blocks. Although reference HMVP is used to determine the MV correlation between spatially non-adjacent adjacent blocks, it will be appreciated by those skilled in the art that the adjacent blocks may include adjacent blocks. HMVP can be used to determine the MV correlation by maintaining a table about one or more MV candidates. The table can be maintained at an encoding device and / or a decoding device. HMVP candidates can be defined based on motion information including one or more of the following: a reference picture index (e.g., one or more reference picture indexes), a reference list (e.g., one or more reference lists), or a motion vector (e.g., one or more motion vectors) associated with a previously encoded block.
[0042] In an example, the HMVP candidate can be used to derive the prediction signal for the CU with GBi disabled. In this case, equal weights can be applied to the two prediction signals associated with list 0 and list 1.
[0043] In one example, HMVP and GBi can be enabled, for example, by associating GBi with an HMVP index. The GBi can be enabled by associating at least one GBi index with each of the HMVP entries or HMVP indexes. This can lead to an improvement in the coding efficiency of HMVP. The GBi index can also be referred to as a dual prediction weight index.
[0044] In one example, for each HMVP candidate, in addition to the motion information, the at least one GBi index may be created based on one or more of the following. When the HMVP candidate is derived from an inter CU whose GBi weight is signaled, the GBi weight of the HMVP candidate may be set to the GBi weight signaled. When 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. When 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 collocated block in a temporally collocated picture. When the HMVP candidate is derived from an average merge candidate, the GBi weight of the HMVP candidate may be set to a fixed value (e.g., 0.5).
[0045] As described herein, pruning may be performed at one or more different stages of the HMVP process. For example, when an MV candidate or an HMVP candidate is added to an HMVP list, pruning may be performed to remove redundant entries in the HMVP list. In one example, pruning may be performed after determining that an entry in the HMVP list is the same as the MV candidate or the HMVP candidate. If the same candidate is found in the HMVP list, the same HMVP is removed from the HMVP list. In one example, if the motion information associated with the HMVP candidate is similar to the motion information associated with the HMVP entry in the HMVP list, the HMVP candidate may be considered to be the same as the HMVP entry in the HMVP list. The motion information compared may include one or more of the following: a motion vector (e.g., one or more motion vectors), a reference list (e.g., one or more reference indexes), and a reference picture index (e.g., one or more reference picture indexes).
[0046] In an example, in addition to the motion vector information, the GBi weight may be considered when determining whether to add the HMVP candidate to the HMVP candidate list. Fig. 8A An example of considering GBi weights when adding HMVP candidates to the HMVP candidate list is shown. Fig. 8A As shown in FIG. 1 , when the second entry of the existing HMVP list (eg, HMV P 1 ) has similar motion information and GBi weights to the new HMVP candidates (e.g., C l-1 ), the second entry of the HMVP list and the new HMVP candidate to be added to the HMVP list may be considered the same. l-1The matching HMVP entry HMVP in the HMVP list is added to the end of the HMVP list. 1 can be removed from the list, and the HMVP entry following the HMVP entry (e.g., HMVP 2 To HMVP l-1 ) can be moved forward as indicated by the arrow. This can be achieved, for example, by reducing the corresponding index by one.
[0047] Figure 8B An example is shown in which an HMVP candidate may be considered different from an entry in the HMVP list. Figure 8B As shown, even if HMVP 1 and C l-1 The same motion information as HMVP 1 and C l-1 are also considered to be unequal because their respective GBi weights are unequal. A FIFO process (e.g., a default FIFO process) may be applied. Figure 8B As shown, the FIFO process may include removing the first HMVP candidate (eg, HMVP 0 ),like Figure 8B As indicated by the arrows in FIG. 1 , the position of each entry is moved by one to create an empty position at the end of the HMVP list, and the new candidate C is added. l-1 Added to the empty position at the end of the HMVP list.
[0048] HMVP candidates (e.g., each of which may be respectively associated with a GBi weight) may be used as candidates for merge mode and / or AMVP mode. HMVP candidates (e.g., all HMVP candidates from the last entry to the first entry in the HMVP table) may be inserted, for example, after the TMVP candidate. When HMVP is applied to the merge mode, pruning may be applied to remove candidates with similar (e.g., identical) motion information and similar (e.g., identical) GBi weights.
[0049] GBi indexes can be used for motion compensated prediction and HMVP pruning processes. The motion compensated prediction and HMVP pruning processes can improve 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 GBi weights of each of the HMVP candidates (e.g., all HMVP candidates) can be used for motion compensated prediction. A subset of the HMVP candidates can be used for the HMVP pruning process. As described herein, the HMVP candidates can be associated with GBi indexes (e.g., each HMVP candidate can be associated with one GBi index). The associated GBi weights can be used to generate a prediction signal for the CU (e.g., rather than determining whether two HMVP candidates are the same).
[0050] Fig. 9 An example of adding an HMVP candidate to an HMVP list is shown, wherein the GBi weight may not be considered when adding the HMVP candidate to the HMVP list. Fig. 9 In the example provided in , the second entry of the existing HMVP list (eg, HMVP 1 ) and the GBi index of the new HMVP candidate (e.g., C l-1 ) are not the same, and the second entry of the existing HMVP list (e.g., HMVP 1 ) and the motion information of the new HMVP candidate (e.g., C l-1 ) has the same motion information. In this example, if the second entry of the existing HMVP list (eg, HMVP 1 ) and new HMVP candidates (e.g., C l-1 ) has the same motion information, and the second entry of the existing HMVP list (eg, HMVP 1 ) and new HMVP candidates (e.g., C l-1 ), then the second entry of the HMVP list can be considered the same as the new HMVP candidate. Fig. 9 As shown, HMVP 1 may be removed from the HMVP candidate list, and subsequent HMVP candidates (e.g., HMVP 2 To HMVP l-1 ) can be moved forward, for example, by decrementing the index by one as indicated by the arrow. Then, C l-1 Can be added to the end of the HMVP list.
[0051] The HMVP may be used to perform triangular inter prediction. In triangular inter prediction, the MV in a single prediction candidate list may be derived from temporal and spatial neighbors. For example, conventional spatial and temporal neighbors may be neighbors for merge mode of HEVC. For example, triangular inter prediction may derive the MV in the single prediction candidate list from five spatial neighbors and two temporal neighbors, as Figure 6 As shown. In one example, MV derivation may not consider the correlation between MVs of blocks that are not direct spatially adjacent blocks (e.g., non-adjacent blocks). In this case, MV derivation may not produce an accurate uni-prediction MV candidate (e.g., the most accurate uni-prediction MV candidate) to capture the true motion of the two triangular partitions. In an example, the motion information of the neighboring blocks along the occlusion boundary may be irrelevant (e.g., due to occlusion of objects that may be typically present in content such as natural video content). If the motion information of the neighboring blocks along the occlusion boundary is irrelevant, the MVs from the spatial neighbors on the occlusion boundary may not be accurate (e.g., accurate enough) to be used as the MV predictor of the current CU. This may reduce the efficiency of inter-frame coding. In an example, HMVP candidates (e.g., in addition to existing spatial and temporal MV candidates) can be used to derive a uni-prediction MV candidate list for a triangular prediction mode, for example, to explore the correlation between the MVs of one or more neighboring blocks (e.g., spatially non-adjacent blocks).
[0052] The uni-prediction MV of the HMVP candidate may be placed at a different position in a candidate list (e.g., a final candidate list) of uni-prediction MVs for triangular mode. In one example, the uni-prediction MVs associated with one or more HMVP candidates may be checked and inserted after the spatial and / or temporal candidates in the list. The MV associated with the HMVP candidate may be checked (e.g., to check whether the MV of the HMVP candidate is the same as the MV in the uni-prediction MV list) and inserted into the uni-prediction candidate list (e.g., after the spatial and temporal candidates). The MV of the candidate block may be sorted in the order of five spatial neighbors (e.g., A1, A0, B1, B0, and B2) followed by two temporal neighbors (e.g., T0 and T1) (e.g., Figure 6 ) and the order of the N HMVP candidates are collected.
[0053] The uni-prediction MV for triangular mode may be generated as described herein. In one instance, the uni-prediction MV for the triangular mode may be generated by adding the L0 MV associated with one or more of the spatial / temporal candidates and the HMVP candidate. In one example, the uni-prediction MV for the triangular mode may be generated by adding the L1 MV associated with one or more spatial / temporal candidates and the HMVP candidate. In one example, for example, if the HMVP candidate is bi-predicted, the uni-prediction MV for the triangular mode may be generated by adding the average of the L0 MV and the L1 MV of the spatial / temporal candidate and the HMVP candidate.
[0054] Fig.10 An example associated with inserting the uni-prediction MV of the merge candidate into the uni-prediction MV list of the triangle CU is shown. Fig.10 As shown in , at 1030, the video encoding device may determine whether a candidate (e.g., the i-th merge candidate) includes an L0 MV. If so, then at 1032, the video encoding device may add the L0MV associated with the candidate to a single prediction MV list. At 1034, the video encoding device may check whether the spatial / temporal candidate or the HMVP candidate is the last one in the list. At 1036, the video encoding device may determine whether the candidate includes an L1 MV. If so, then at 1038, the video encoding device may add the L1 MV of the candidate to the single prediction MV list. At 1040, the video encoding device may check whether the spatial / temporal candidate or the HMVP candidate is the last one in the list. At 1042, the video encoding device may determine whether the candidate includes an L0MV and an L1 MV. If so, then at 1044, the video encoding device may add the average of the L0 MV and the L1 MV of the candidate to the single prediction MV list. At 1046 , the video encoding apparatus may check whether the spatial / temporal candidate or the HMVP candidate is the last one in the list.
[0055] The motion (e.g., motion information) of the spatial and temporal neighbors may be correlated with the motion (e.g., motion information) of the current CU (e.g., more correlated than the motion of the HMVP candidate). The uni-predicted MVs of the spatial and temporal candidates may be given higher priority than the uni-predicted MVs of the HMVP candidate (e.g., to reduce the overhead of signaling the candidate MVs). In an example, the uni-predicted MVs of the spatial / temporal candidates may be interleaved with the uni-predicted MVs of the HMVP candidate.
[0056] A uni-prediction MV list (e.g., a final uni-prediction MV list) for a triangle CU may be generated. In one example, the uni-prediction MV list for a triangle CU may be generated by inserting the L0 MV of each spatial / temporal candidate into the uni-prediction MV list. In one example, the uni-prediction MV list for a triangle CU may be generated by inserting the L1 MV of each spatial / temporal candidate into the uni-prediction MV list. In one example, the uni-prediction MV list for a triangle CU may be generated by inserting the L0 MV of each HMVP candidate into the uni-prediction MV list. In one example, the uni-prediction MV list for a triangle CU may be generated by inserting the L1 MV of each HMVP candidate into the uni-prediction MV list.
[0057] In one example, the uni-prediction MV list for the triangle CU may be generated by inserting the average of the L0 MV and the L1 MV of the spatial / temporal candidate (e.g., each spatial / temporal candidate if the candidate is bi-predicted) into the uni-prediction MV list. In one example, the uni-prediction MV list for the triangle CU may be generated by inserting the average of the L0 MV and the L1 MV of the HMVP candidate (e.g., each HMVP candidate if the candidate is bi-predicted) into the uni-prediction MV list.
[0058] Fig.11 An example of generating a uni-prediction MV list in triangular mode when the uni-prediction MVs of the spatial / temporal candidates and the HMVP candidates are interleaved is shown. Fig.11As shown, at 1130, the video encoding device may determine whether a candidate (e.g., the i-th merge candidate) includes an L0 MV. If so, then at 1132, the video encoding device adds the L0 MV associated with the candidate to a single prediction MV list. At 1134, the video encoding device may check whether the spatial / temporal candidate is the last one in the list. At 1136, the video encoding device may determine whether the candidate includes an L1 MV. If so, then at 1138, the video encoding device may add the L1 MV associated with the candidate to a single prediction MV list. At 1140, the video encoding device may check whether the spatial / temporal candidate is the last one in the list. At 1142, the video encoding device may determine whether the candidate includes an L0 MV. If so, then at 1144, the video encoding device may add the L1 MV associated with the candidate to a single prediction MV list. At 1146, the video encoding device may check whether the HMVP candidate is the last one in the list. At 1148, the video encoding device may determine whether the candidate includes L1 MV. If so, then at 1150, the video encoding device may add the L1MV associated with the candidate to the single prediction MV list. At 1152, the video encoding device may check whether the HMVP candidate is the last one in the list. At 1154, the video encoding device may determine whether the candidate includes L0 MV and L1 MV. If so, then at 1156, the video encoding device may add the average of the L0MV and L1 MV associated with the candidate to the single prediction MV list. At 1158, the video encoding device may check whether the spatial / temporal candidate is the last one in the list. At 1160, the video encoding device may determine whether the candidate includes L0 MV and L1 MV. If so, the video encoding device may add the average of the LOMV and L1 MV associated with the candidate to the uni-prediction MV list at 1162. At 1164, the video encoding device may check whether the HMVP candidate is the last one in the list.
[0059] Fig. 12A1 is a diagram illustrating an example communication system 100 in which one or more disclosed embodiments may be implemented. For example, one or more of the features associated with the video encoding apparatus described herein may be included in one or more of the WTRUs 102a, 102b, 102c, 102d of the communication system 100. The communication system 100 may be a multiple access system that provides content such as voice, data, video, messaging, broadcast, etc. to multiple wireless users. The communication system 100 may enable multiple wireless users to access such content by sharing system resources including wireless bandwidth. For example, the communication system 100 may use one or more channel access methods such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single carrier FDMA (SC-FDMA), zero tail unique word DFT-spread OFDM (ZT UWDTS-s OFDM), unique word OFDM (UW-OFDM), resource block filtered OFDM, and filter bank multi-carrier (FBMC), etc.
[0060] like Fig. 12A As shown, the communication system 100 may include wireless transmit / receive units (WTRUs) 102a, 102b, 102c, 102d, RAN 104 / 113, CN 106 / 115, public switched telephone network (PSTN) 108, Internet 110, and other networks 112, although it should be appreciated that the disclosed embodiments contemplate any number of WTRUs, base stations, networks, and / or network components. Each WTRU 102a, 102b, 102c, 102d may be any type of device configured to operate and / or communicate in a wireless environment. For example, any of the WTRUs 102a, 102b, 102c, 102d may be referred to as a “station” and / or “STA”, which may be configured to transmit and / or receive wireless signals, and may include a user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a subscription-based unit, a pager, a cellular phone, a personal digital assistant (PDA), a smart phone, a laptop, a netbook, a personal computer, a wireless sensor, a hotspot or Mi-Fi device, an Internet of Things (IoT) device, a watch or other wearable device, a head-mounted display (HMD), a vehicle, a drone, medical devices and applications (e.g., remote surgery), industrial devices and applications (e.g., robots and / or other wireless devices working in an industrial and / or automated process chain environment), consumer electronic devices, and devices working on a commercial and / or industrial wireless network, etc. Any of the WTRUs 102a, 102b, 102c, 102d may be interchangeably referred to as a UE.
[0061] The communication system 100 may also include a base station 114a and / or a base station 114b. Each base station 114a, 114b may be any type of device configured to facilitate access to one or more communication networks (e.g., CN 106 / 115, Internet 110, and / or other networks 112) by wirelessly interfacing with at least one of the WTRUs 102a, 102b, 102c, 102d. For example, the base stations 114a, 114b may be base transceiver stations (BTS), Node Bs, eNode Bs, Home Node Bs, Home eNode Bs, gNBs, NR Node Bs, site controllers, access points (APs), and wireless routers, among others. Although each base station 114a, 114b is depicted as a single component, it should be understood that the base stations 114a, 114b may include any number of interconnected base stations and / or network components.
[0062] The base station 114a may be part of the RAN 104 / 113, and the RAN may also include other base stations and / or network components (not shown), such as a base station controller (BSC), a radio network controller (RNC), a relay node, and the like. The base station 114a and / or the base station 114b may be configured to transmit and / or receive wireless signals on one or more carrier frequencies called cells (not shown). These frequencies may be in a licensed spectrum, an unlicensed spectrum, or a combination of licensed and unlicensed spectrum. A cell may provide wireless service coverage for a specific geographic area that is relatively fixed or may change over time. A cell may be further divided into cell sectors. For example, a cell associated with the base station 114a may be divided into three sectors. Thus, in one embodiment, the base station 114a may include three transceivers, that is, each transceiver corresponds to a sector of the cell. In an embodiment, the base station 114a may use multiple-input multiple-output (MIMO) technology and may use multiple transceivers for each sector of the cell. For example, by using beamforming, signals may be transmitted and / or received in a desired spatial direction.
[0063] The base stations 114a, 114b may communicate with one or more of the WTRUs 102a, 102b, 102c, 102d over an air interface 116, which may be any suitable wireless communication link (e.g., radio frequency (RF), microwave, centimeter wave, micrometer wave, infrared (IR), ultraviolet (UV), visible light, etc.). The air interface 116 may be established using any suitable radio access technology (RAT).
[0064] More specifically, as described above, the communication system 100 may be a multiple access system and may use one or more channel access schemes, such as CDMA, TDMA, FDMA, OFDMA, and SC-FDMA, among others. For example, the base station 114a in the RAN 104 / 113 and the WTRUs 102a, 102b, 102c may implement a radio technology such as Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA), which may use Wideband CDMA (WCDMA) to establish the air interface 115 / 116 / 117. WCDMA may include communication protocols such as High Speed Packet Access (HSPA) and / or Evolved HSPA (HSPA+). HSPA may include High Speed Downlink (DL) Packet Access (HSDPA) and / or High Speed UL Packet Access (HSUPA).
[0065] In an embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may implement a radio technology such as Evolved UMTS Terrestrial Radio Access (E-UTRA), which may establish the air interface 116 using Long Term Evolution (LTE) and / or Advanced LTE (LTE-A) and / or Advanced LTE Pro (LTE-A Pro).
[0066] In an embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may implement a radio technology such as NR radio access, which may establish the air interface 116 using new radio (NR).
[0067] In an embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may implement multiple radio access technologies. For example, the base station 114a and the WTRUs 102a, 102b, 102c may jointly implement LTE radio access and NR radio access (e.g., using dual connectivity (DC) principles). Thus, the air interface used by the WTRUs 102a, 102b, 102c may be characterized by multiple types of radio access technologies and / or transmissions sent to / from multiple types of base stations (e.g., eNBs and gNBs).
[0068] In other embodiments, the base station 114a and the WTRUs 102a, 102b, 102c may implement radio technologies such as IEEE 802.11 (i.e., Wireless Fidelity (WiFi)), IEEE 802.16 (Worldwide Interoperability for Microwave Access (WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000EV-DO, Interim Standard 2000 (IS-2000), Interim Standard 95 (IS-95), Interim Standard 856 (IS-856), Global System for Mobile Communications (GSM), Enhanced Data Rates for GSM Evolution (EDGE), and GSM EDGE (GERAN), among others.
[0069] Fig. 12A The base station 114b in the example may be a wireless router, a Home NodeB, a Home eNodeB, or an access point, and may use any appropriate RAT to facilitate wireless connectivity in a local area, such as a business location, a residence, a vehicle, a campus, an industrial facility, an air corridor (e.g., for use by drones), a road, and the like. In one embodiment, the base station 114b and the WTRUs 102c, 102d may establish a wireless local area network (WLAN) by implementing a radio technology such as IEEE 802.11. In an embodiment, the base station 114b and the WTRUs 102c, 102d may establish a wireless personal area network (WPAN) by implementing a radio technology such as IEEE 802.15. In yet another embodiment, the base station 114b and the WTRUs 102c, 102d may establish a picocell or a femtocell by using a cellular-based RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR, and the like). Fig. 12A As shown, the base station 114b may be directly connected to the Internet 110. Thus, the base station 114b does not need to access the Internet 110 via the CN 106 / 115.
[0070] The RAN 104 / 113 may be in communication with the CN 106 / 115, which may be any type of network configured to provide voice, data, applications and / or Voice over Internet Protocol (VoIP) services to one or more WTRUs 102a, 102b, 102c, 102d. The data may have different quality of service (QoS) requirements, such as different throughput requirements, latency requirements, fault tolerance requirements, reliability requirements, data throughput requirements, mobility requirements, etc. The CN 106 / 115 may provide call control, billing services, mobile location-based services, prepaid calls, Internet connectivity, video distribution, etc., and / or may perform advanced security functions such as user authentication. Although in Fig. 12AAlthough not shown, it will be appreciated that the RAN 104 / 113 and / or the CN 106 / 115 may be in direct or indirect communication with other RANs that employ the same RAT or a different RAT as the RAN 104 / 113. For example, in addition to being connected to the RAN 104 / 113 employing NR radio technology, the CN 106 / 115 may also be in communication with another RAN (not shown) employing GSM, UMTS, CDMA 2000, WiMAX, E-UTRA, or WiFi radio technology.
[0071] The CN 106 / 115 may also act as a gateway for the WTRUs 102a, 102b, 102c, 102d to access the PSTN 108, the Internet 110, and / or other networks 112. The PSTN 108 may include a circuit-switched telephone network that provides plain old telephone service (POTS). The Internet 110 may include a global system of interconnected computer network devices that use common communication protocols, such as the Transmission Control Protocol (TCP), the User Datagram Protocol (UDP), and / or the Internet Protocol (IP) in the TCP / IP Internet Protocol Suite. The networks 112 may include wired and / or wireless communication networks owned and / or operated by other service providers. For example, the other networks 112 may include another CN connected to one or more RANs, where the one or more RANs may use the same RAT or a different RAT as the RAN 104 / 113.
[0072] Some or all of the WTRUs 102a, 102b, 102c, 102d in the communication system 100 may include multi-mode capabilities (e.g., the WTRUs 102a, 102b, 102c, 102d may include multiple transceivers for communicating with different wireless networks over different wireless links). Fig. 12A The illustrated WTRU 102c may be configured to communicate with the base station 114a, which may employ a cellular-based radio technology, and with the base station 114b, which may employ an IEEE 802 radio technology.
[0073] Fig. 12B is a system diagram showing an example WTRU 102. Fig. 12B As shown, the WTRU 102 may include a processor 118, a transceiver 120, a transmit / receive element 122, a speaker / microphone 124, a keyboard 126, a display / touchpad 128, a non-removable memory 130, a removable memory 132, a power source 134, a global positioning system (GPS) chipset 136, and other peripherals 138. It should be appreciated that the WTRU 102 may include any sub-combination of the foregoing components while remaining consistent with an embodiment.
[0074] The processor 118 may be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors associated 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), a state machine, and the like. The processor 118 may perform signal coding, data processing, power control, input / output processing, and / or any other functionality that enables the WTRU 102 to operate in a wireless environment. The processor 118 may be coupled to the transceiver 120, which may be coupled to the transmit / receive element 122. Although Fig. 12B The processor 118 and the transceiver 120 are depicted as separate components, however it should be appreciated that the processor 118 and the transceiver 120 may also be integrated into one electronic component or chip.
[0075] The transmit / receive component 122 may be configured to transmit or receive signals to or from a base station (e.g., base station 114a) via the air interface 116. For example, in one embodiment, the transmit / receive component 122 may be an antenna configured to transmit and / or receive RF signals. As an example, in an embodiment, the transmit / receive component 122 may be an emitter / detector configured to transmit and / or receive IR, UV, or visible light signals. In an embodiment, the transmit / receive component 122 may be configured to transmit and / or receive RF and light signals. It should be appreciated that the transmit / receive component 122 may be configured to transmit and / or receive any combination of wireless signals.
[0076] Although in Fig. 12B 102 as a single component, but the WTRU 102 may include any number of transmit / receive components 122. More specifically, the WTRU 102 may employ MIMO technology. Thus, in an embodiment, the WTRU 102 may include two or more transmit / receive components 122 (e.g., multiple antennas) for transmitting and receiving radio signals over the air interface 116.
[0077] The transceiver 120 may be configured to modulate signals to be transmitted by the transmit / receive component 122 and to demodulate signals received by the transmit / receive component 122. As described above, the WTRU 102 may have multi-mode capabilities. Thus, the transceiver 120 may include multiple transceivers that allow the WTRU 102 to communicate via multiple RATs, such as NR and IEEE 802.11.
[0078] The processor 118 of the WTRU 102 may be coupled to a speaker / microphone 124, a keyboard 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 may receive user input data from these components. The processor 118 may also output user data to the speaker / microphone 124, the keyboard 126, and / or the display / touchpad 128. In addition, the processor 118 may access information from and store information in any suitable memory, such as a non-removable memory 130 and / or a removable memory 132. The non-removable memory 130 may include a random access memory (RAM), a read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 132 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like. In other embodiments, the processor 118 may access information from and store data in memories that are not physically located in the WTRU 102, such as, for example, a server or a home computer (not shown).
[0079] The processor 118 may receive power from the power source 134, and may be configured to distribute and / or control power for use by other components in the WTRU 102. The power source 134 may be any suitable device for powering the WTRU 102. For example, the power source 134 may include one or more dry cell batteries (e.g., nickel-cadmium (Ni-Cd), nickel-zinc (Ni-Zn), nickel-metal hydride (NiMH), lithium-ion (Li-ion), etc.), solar cells, fuel cells, and the like.
[0080] The processor 118 may also be coupled to the GPS chipset 136, which may be configured to provide location information (e.g., longitude and latitude) related to the current location of the WTRU 102. In addition to or in lieu of the information from the GPS chipset 136, the WTRU 102 may receive location information from a base station (e.g., base stations 114a, 114b) via the air interface 116 and / or determine its location based on the timing of signals received from two or more nearby base stations. It should be appreciated that the WTRU 102 may acquire location information via any suitable positioning method while remaining consistent with an embodiment.
[0081] The processor 118 may also be coupled to other peripheral devices 138, which may include one or more software and / or hardware modules that provide additional features, functionality, and / or wired or wireless connectivity. For example, the peripheral devices 138 may include an accelerometer, an electronic compass, a satellite transceiver, a digital camera (for photos and / or video), a universal serial bus (USB) port, a vibration device, a television transceiver, a hands-free headset, Modules, frequency modulation (FM) radio units, digital music players, media players, video game console modules, Internet browsers, virtual reality and / or augmented reality (VR / AR) devices, and activity trackers, etc. The peripherals 138 may include one or more sensors, which may be one or more of the following: gyroscopes, accelerometers, Hall effect sensors, magnetometers, orientation sensors, proximity sensors, temperature sensors, time sensors, geolocation sensors, altimeters, light sensors, touch sensors, magnetometers, barometers, gesture sensors, biometric sensors, and / or humidity sensors.
[0082] The WTRU 102 may include a full-duplex radio in which the reception or transmission of some or all signals (e.g., associated with specific subframes for UL (e.g., for transmission) and downlink (e.g., for reception)) may be concurrent and / or simultaneous for the radio. A full-duplex radio may include an interference management unit that reduces and / or substantially eliminates self-interference by means of hardware (e.g., chokes) or by signal processing by a processor (e.g., a separate processor (not shown) or by the processor 118). In an embodiment, the WTRU 102 may include a half-duplex radio that transmits and receives some or all signals (e.g., associated with specific subframes for UL (e.g., for transmission) or downlink (e.g., for reception)).
[0083] Fig. 12C 1 is a system diagram showing the RAN 104 and the CN 106 according to an embodiment. As described above, the RAN 104 may communicate with the WTRUs 102a, 102b, 102c using an E-UTRA radio technology over the air interface 116. The RAN 104 may also be in communication with the CN 106.
[0084] The RAN 104 may include eNode-Bs 160a, 160b, 160c, however it will be appreciated that the RAN 104 may include any number of eNode-Bs while remaining consistent with an embodiment. Each of the eNode-Bs 160a, 160b, 160c may include one or more transceivers for communicating with the WTRUs 102a, 102b, 102c over the air interface 116. In one embodiment, the eNode-Bs 160a, 160b, 160c may implement MIMO technology. Thus, for example, the eNode-B 160a may use multiple antennas to transmit wireless signals to, and / or receive wireless signals from, the WTRU 102a.
[0085] Each eNodeB 160a, 160b, 160c may be associated with a particular cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, user scheduling in UL and / or DL, etc. Fig. 12C As shown, the eNode-Bs 160a, 160b, 160c may communicate with each other via an X2 interface.
[0086] Fig. 12C The illustrated CN 106 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 foregoing components is described as being part of the CN 106, it should be appreciated that any of these components may be owned and / or operated by an entity other than the CN operator.
[0087] The MME 162 may be connected to each of the eNode-Bs 162a, 162b, 162c in the RAN 104 via an S1 interface and may serve as a control node. For example, the MME 162 may be responsible for authenticating users of the WTRUs 102a, 102b, 102c, performing bearer activation / deactivation processing, and selecting a particular serving gateway during an initial attach of the WTRUs 102a, 102b, 102c. The MME 162 may also provide a control plane function for switching between the RAN 104 and other RANs (not shown) that employ other radio technologies, such as GSM and / or WCDMA.
[0088] The SGW 164 may be connected to each of the eNode-Bs 160a, 160b, 160c in the RAN 104 via an S1 interface. The SGW 164 may generally route and forward user data packets to / from the WTRUs 102a, 102b, 102c. The SGW 164 may also perform other functions, such as anchoring the user plane during inter-eNB handovers, triggering paging processing when DL data is available for the WTRUs 102a, 102b, 102c, and managing and storing the contexts of the WTRUs 102a, 102b, 102c, and the like.
[0089] The SGW 164 may be connected to the PGW 166, which may provide the WTRUs 102a, 102b, 102c with access to packet-switched networks, such as the Internet 110, to facilitate communications between the WTRUs 102a, 102b, 102c and IP-enabled devices.
[0090] The CN 106 may facilitate communications with other networks. For example, the CN 106 may provide the WTRUs 102a, 102b, 102c with access to circuit-switched networks, such as the PSTN 108, to facilitate communications between the WTRUs 102a, 102b, 102c and traditional land-line communications devices. For example, the CN 106 may include or be in communication with an IP gateway, such as an IP Multimedia Subsystem (IMS) server, and the IP gateway may serve as an interface between the CN 106 and the PSTN 108. In addition, the CN 106 may provide the WTRUs 102a, 102b, 102c with access to other networks 112, which may include other wired and / or wireless networks that are owned and / or operated by other service providers.
[0091] Although in Figures 12A-12D Although the WTRU is described as a wireless terminal, it should be appreciated that in certain typical embodiments, such a terminal may use a (eg, temporary or permanent) wired communication interface with a communication network.
[0092] In a typical embodiment, the other network 112 may be a WLAN.
[0093] A WLAN using an infrastructure basic service set (BSS) mode may have an access point (AP) for the BSS and one or more stations (STAs) associated with the AP. The AP may access or be connected to a distributed system (DS) or other types of wired / wireless networks that send services into and / or out of the BSS. Services originating from outside the BSS and destined for the STA may be reached by the AP and delivered to the STA. Services originating from the STA and destined for a destination outside the BSS may be sent to the AP for delivery to the corresponding destination. Services between STAs within the BSS may be sent through the AP, for example, the source STA may send services to the AP and the AP may deliver services to the destination STA. Services between STAs within the BSS may be considered and / or referred to as point-to-point services. The point-to-point services may be sent using a direct link establishment (DLS) between the source and destination STAs (e.g., directly therebetween). In certain typical embodiments, the DLS may use 802.11e DLS or 802.11z channelized DLS (TDLS). A WLAN using an independent BSS (IBSS) mode may not have an AP, and STAs (eg, all STAs) within or using the IBSS may communicate directly with each other. Here, the IBSS communication mode may sometimes be referred to as an "ad hoc" communication mode.
[0094] When using the 802.11ac infrastructure mode of operation or a similar mode of operation, the AP may transmit a beacon on a fixed channel (e.g., a primary channel). The primary channel may have a fixed width (e.g., a bandwidth of 20 MHz) or a width that is dynamically set with the aid of signaling. The primary channel may be a working channel of the BSS and may be used by STAs to establish a connection with the AP. In certain typical embodiments, carrier sense multiple access (CSMA / CA) with collision avoidance (e.g., in an 802.11 system) may be implemented. For CSMA / CA, STAs (e.g., each STA) including the AP may sense the primary channel. If a particular STA senses / detects and / or determines that the primary channel is busy, the particular STA may back off. In a specified BSS, one STA (e.g., only one station) may transmit at any given time.
[0095] A high throughput (HT) STA may communicate using a 40 MHz wide channel (eg, by combining a 20 MHz wide primary channel with a 20 MHz wide adjacent or non-adjacent channel to form a 40 MHz wide channel).
[0096] Very high throughput (VHT) STA can support channels with widths of 20MHz, 40MHz, 80MHz and / or 160MHz. 40MHz and / or 80MHz channels can be formed by combining continuous 20MHz channels. A 160MHz channel can be formed by combining 8 continuous 20MHz channels or by combining two discontinuous 80MHz channels (this combination can be referred to as an 80+80 configuration). For the 80+80 configuration, after channel coding, the data can be transmitted and passed through a segment parser, which can separate the data into two streams. Inverse fast Fourier transform (IFFT) processing and time domain processing can be performed separately on each stream. The stream can be mapped on two 80MHz channels, and the data can be transmitted by the STA performing the transmission. At the receiver of the STA performing the reception, the above operations for the 80+80 configuration can be reversed, and the combined data can be sent to the medium access control (MAC).
[0097] 802.11af and 802.11ah support working modes below 1 GHz. Compared with 802.11n and 802.11ac, the channel working bandwidth and carrier used in 802.11af and 802.11ah are reduced. 802.11af supports 5MHz, 10MHz and 20MHz bandwidths in the TV White Space (TVWS) spectrum, and 802.11ah supports 1MHz, 2MHz, 4MHz, 8MHz and 16MHz bandwidths using non-TVWS spectrum. According to certain typical embodiments, 802.11ah can support instrument type control / machine type communication, such as MTC devices in macro coverage areas. MTC can have certain capabilities, such as limited capabilities including support (e.g., only support) certain and / or limited bandwidths. MTC devices can include a battery, and the battery life of the battery is higher than a threshold (e.g., for maintaining a very long battery life).
[0098] For WLAN systems that can support multiple channels and channel bandwidths (e.g., 802.11n, 802.11ac, 802.11af, and 802.11ah), the WLAN system includes a channel that can be designated as a primary channel. The bandwidth of the primary channel can be equal to the maximum common operating bandwidth supported by all STAs in the BSS. The bandwidth of the primary channel can be set and / or limited by a certain STA, where the STA originates from all STAs operating in the BSS that supports the minimum bandwidth operating mode. In the example of 802.11ah, even if the AP and other STAs in the BSS support 2MHz, 4MHz, 8MHz, 16MHz and / or other channel bandwidth operating modes, for STAs (e.g., MTC-type devices) that support (e.g., only support) 1MHz mode, the width of the primary channel can be 1MHz. Carrier sensing and / or network allocation vector (NAV) settings can depend on the state of the primary channel. If the primary channel is busy (eg, because a STA (which only supports 1 MHz operating mode) is transmitting to the AP), the entire available band may be considered busy even though most of the band remains idle and available for use.
[0099] In the United States, the available frequency band for 802.11ah is 902MHz to 928MHz. In South Korea, the available frequency band is 917.5MHz to 923.5MHz. In Japan, the available frequency band is 916.5MHz to 927.5MHz. Depending on the country code, the total bandwidth available for 802.11ah is 6MHz to 26MHz.
[0100] Fig.12D1 is a system diagram showing the RAN 113 and the CN 115 according to an embodiment. As described above, the RAN 113 may communicate with the WTRUs 102a, 102b, 102c using NR radio technology over the air interface 116. The RAN 113 may also communicate with the CN 115.
[0101] The RAN 113 may include gNBs 180a, 180b, 180c, though it will be appreciated that the RAN 113 may include any number of gNBs while remaining consistent with the embodiments. Each gNB 180a, 180b, 180c may include one or more transceivers to communicate with the WTRUs 102a, 102b, 102c over the air interface 116. In one embodiment, the gNBs 180a, 180b, 180c may implement MIMO technology. For example, the gNBs 180a, 180b may use beamforming processing to transmit and / or receive signals to and / or from the gNBs 180a, 180b, 180c. Thus, for example, the gNB 180a may use multiple antennas to transmit wireless signals to the WTRU 102a and / or receive wireless signals from the WTRU 102a. In an embodiment, the gNBs 180a, 180b, 180c may implement carrier aggregation technology. For example, the gNB 180a may transmit a plurality of component carriers (not shown) to the WTRU 102a. A subset of these component carriers may be on an unlicensed spectrum while the remaining component carriers may be on a licensed spectrum. In an embodiment, the gNBs 180a, 180b, 180c may implement coordinated multi-point (CoMP) technology. For example, the WTRU 102a may receive coordinated transmissions from the gNB 180a and gNB 180b (and / or gNB 180c).
[0102] The WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c using transmissions associated with a scalable numerology. For example, the OFDM symbol spacing and / or OFDM subcarrier spacing may be different for different transmissions, different cells, and / or different portions of the radio transmission spectrum. The WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c using subframes or transmission time intervals (TTIs) of different or scalable lengths (e.g., containing different numbers of OFDM symbols and / or varying absolute time lengths).
[0103] The gNBs 180a, 180b, 180c may be configured to communicate with the WTRUs 102a, 102b, 102c in a standalone configuration and / or a non-standalone configuration. In a standalone configuration, the WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c without accessing other RANs (e.g., the eNodeBs 160a, 160b, 160c). In a standalone configuration, the WTRUs 102a, 102b, 102c may use one or more of the gNBs 180a, 180b, 180c as mobility anchors. In a standalone configuration, the WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c using signals in an unlicensed band. In a non-standalone configuration, the WTRU 102a, 102b, 102c may communicate / connect to the gNB 180a, 180b, 180c while communicating / connecting to another RAN (e.g., the eNode-B 160a, 160b, 160c). For example, the WTRU 102a, 102b, 102c may communicate with one or more gNBs 180a, 180b, 180c and one or more eNode-Bs 160a, 160b, 160c in a substantially simultaneous manner by implementing the DC principle. In a non-standalone configuration, the eNode-B 160a, 160b, 160c may act as a mobility anchor for the WTRU 102a, 102b, 102c, and the gNB 180a, 180b, 180c may provide additional coverage and / or throughput to serve the WTRU 102a, 102b, 102c.
[0104] Each gNB 180a, 180b, 180c may be associated with a particular cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, user scheduling in UL and / or DL, support network slicing, implement dual connectivity, implement interworking between NR and E-UTRA, route user plane data to user plane functions (UPFs) 184a, 184b, and route control plane information to access and mobility management functions (AMFs) 182a, 182b, and the like. Fig.12D As shown, gNBs 180a, 180b, and 180c can communicate with each other through the Xn interface.
[0105] Fig.12DThe CN 115 shown may include at least one AMF 182a, 182b, at least one UPF 184a, 184b, at least one session management function (SMF) 183a, 183b, and may include a data network (DN) 185a, 185b. Although each of the aforementioned components is described as part of the CN 115, it should be understood that any of these components may be owned and / or operated by entities other than the CN operator.
[0106] The AMF 182a, 182b may be connected to one or more gNBs 180a, 180b, 180c in the RAN 113 via the N2 interface and may act as a control node. For example, the AMF 182a, 182b may be responsible for authenticating users of the WTRU 102a, 102b, 102c, supporting network slicing (e.g., handling different PDU sessions with different requirements), selecting a specific SMF 183a, 183b, managing registration areas, terminating NAS signaling, and mobility management, etc. The AMF 182a, 182b may use network slicing processing to customize the CN support provided to the WTRU 102a, 102b, 102c based on the type of service used by the WTRU 102a, 102b, 102c. For example, different network slices may be established for different use cases, such as services relying on ultra-reliable low latency (URLLC) access, services relying on enhanced massive mobile broadband (eMBB) access, and / or services for machine type communication (MTC) access, etc. The AMF 162 may provide a control plane function for switching between the RAN 113 and other RANs (not shown) using other radio technologies, such as LTE, LTE-A, LTE-A Pro, and / or non-3GPP access technologies such as WiFi.
[0107] The SMF 183a, 183b may be connected to the AMF 182a, 182b in the CN 115 via the N11 interface. The SMF 183a, 183b may also be connected to the UPF 184a, 184b in the CN 115 via the N4 interface. The SMF 183a, 183b may select and control the UPF 184a, 184b, and may configure traffic routing through the UPF 184a, 184b. The SMF 183a, 183b may perform other functions such as managing and allocating WTRU / UE IP addresses, managing PDU sessions, controlling policy enforcement and QoS, and providing downlink data notifications, etc. The PDU session type may be IP-based, non-IP-based, Ethernet-based, etc.
[0108] The UPF 184a, 184b can be connected to one or more gNBs 180a, 180b, 180c in the RAN 113 via the N3 interface, which can provide the WTRU 102a, 102b, 102c with access to packet-switched networks (such as the Internet 110) to facilitate communication between the WTRU 102a, 102b, 102c and IP-enabled devices. The UPF 184, 184b can perform other functions such as routing and forwarding packets, implementing user plane policies, supporting multi-host PDU sessions, processing user plane QoS, buffering downlink packets, and providing mobility anchor processing, etc.
[0109] The CN 115 may facilitate communications with other networks. For example, the CN 115 may include or may communicate with an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that acts as an interface between the CN 115 and the PSTN 108. In addition, the CN 115 may provide the WTRUs 102a, 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, the WTRUs 102a, 102b, 102c may be connected to local DNs 185a, 185b via an N3 interface connected to the UPFs 184a, 184b and an N6 interface between the UPFs 184a, 184b and the data networks (DNs) 185a, 185b and through the UPFs 184a, 184b.
[0110] In view of Figures 12A-12D and about Figures 12A-12D , one or more or all of the functions described herein with reference to one or more of the following may be performed by one or more simulation devices (not shown): WTRU 102a-d, base station 114a-b, eNodeB 160a-c, MME 162, SGW 164, PGW 166, gNB 180a-c, AMF 182a-b, UPF 184a-b, SMF 183a-b, DN 185a-b, and / or any other device(s) described herein. These simulation devices may be one or more devices configured to simulate one or more or all of the functions herein. For example, these simulation devices may be used to test other devices and / or simulate network and / or WTRU functions.
[0111] The simulation device can be designed to implement one or more tests about other devices in a laboratory environment and / or an operator network environment. For example, the one or more simulation devices can perform one or more or all functions while being implemented and / or deployed as a part of a wired and / or wireless communication network in whole or in part to test other devices inside the communication network. The one or more simulation devices can perform one or more or all functions while being temporarily implemented / deployed as a part of a wired and / or wireless communication network. The simulation device can be directly coupled to other equipment to perform the test, and / or can use over-the-air wireless communication to perform the test.
[0112] The one or more simulation devices can perform one or more functions, including all functions, while not being implemented / deployed as part of a wired and / or wireless communication network. For example, the simulation device can be used in a test lab and / or a test scenario of a wired and / or wireless communication network that is not deployed (e.g., tested) to implement tests on one or more components. The one or more simulation devices can be test devices. The simulation device can transmit and / or receive data using direct RF coupling and / or wireless communication with the aid of RF circuits (as an example, the circuits can include one or more antennas).
[0113] The processes described herein may be implemented in a computer program, software, and / or firmware incorporated in a computer-readable medium 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, buffer memory, semiconductor memory devices, magnetic media (such as, but not limited to, internal hard disks and removable disks), magneto-optical media, and / or optical media (such as CD-ROM disks and / or digital versatile disks (DVDs)). A processor associated with the software may be used to implement a radio frequency transceiver for a WTRU, terminal, base station, RNC, and / or any host computer.
Claims
1. A device comprising one or more processors, wherein the one or more processors are configured to: Obtaining a candidate list for performing motion compensated prediction on a current block encoded in a triangular inter prediction mode, wherein the triangular inter prediction mode divides the block into one or more triangular prediction units, the candidate list comprising at least one motion candidate, motion information of the motion candidate being obtained from a previously decoded spatial non-neighboring block of the current block; Based on the candidate list, the current block is decoded.
2. A method comprising: Obtaining a candidate list for performing motion compensated prediction on a current block encoded in a triangular inter prediction mode, wherein the triangular inter prediction mode divides the block into one or more triangular prediction units, the candidate list comprising at least one motion candidate, wherein motion information of the motion candidate is obtained from a spatial non-neighboring block of the current block previously decoded; Based on the candidate list, the current block is decoded.
3. A device comprising one or more processors, wherein the one or more processors are configured to: Obtaining a candidate list for performing motion compensated prediction on a current block encoded in a triangular inter prediction mode, wherein the triangular inter prediction mode divides the block into one or more triangular prediction units, the candidate list comprising at least one motion candidate, wherein motion information of the motion candidate is obtained from a spatial non-neighboring block of the current block that was previously encoded; Based on the candidate list, the current block is encoded.
4. A method comprising: Obtaining a candidate list for performing motion compensated prediction on a current block encoded in a triangular inter prediction mode, wherein the triangular inter prediction mode divides the block into one or more triangular prediction units, the candidate list comprising at least one motion candidate, wherein motion information of the motion candidate is obtained from a spatial non-neighboring block of the current block that was previously encoded; Based on the candidate list, the current block is encoded.
5. An apparatus according to claim 1 or 3 or a method according to claim 2 or 4, wherein the at least one motion candidate is inserted into the candidate list after the spatial candidate and the temporal candidate.
6. The apparatus according to claim 1 or 3 or the method according to claim 2 or 4, wherein: The at least one motion candidate is obtained from a History Based Motion Vector Prediction (HMVP) table.
7. The apparatus according to claim 1 or 3, wherein the one or more processors are further configured to, or the method according to claim 2 or 4, the method further comprising: The at least one motion candidate is interleaved with at least one of a spatial candidate or a temporal candidate.
8. The device according to claim 1 or 3, wherein: The one or more processors are further configured to: identifying a first candidate from the candidate list and a second candidate from the candidate list, wherein the first candidate is associated with a first triangular prediction unit of the current block and the second candidate is associated with a second triangular prediction unit of the current block, and The current block is decoded based on that the first candidate is associated with the first triangle prediction unit and the second candidate is associated with the second triangle prediction unit. 9 . The apparatus of claim 8 , wherein one of the first candidate or the second candidate is the at least one motion candidate, and the other of the first candidate and the second candidate is a spatial candidate or a temporal candidate.
10. The device of claim 8, wherein the one or more processors are further configured to: A first signaled merge index used to identify the first candidate from the candidate list and a second signaled merge index used to identify the second candidate from the candidate list are obtained.
11. The method according to claim 2 or 4, further comprising: identifying a first candidate from the candidate list and a second candidate from the candidate list, wherein the first candidate is associated with a first triangular prediction unit of the current block and the second candidate is associated with a second triangular prediction unit of the current block, and The current block is decoded based on that the first candidate is associated with the first triangle prediction unit and the second candidate is associated with the second triangle prediction unit. 12 . The method of claim 11 , wherein one of the first candidate or the second candidate is the at least one motion candidate, and the other of the first candidate and the second candidate is a spatial candidate or a temporal candidate.
13. The method according to claim 11, further comprising: A first signaled merge index used to identify the first candidate from the candidate list and a second signaled merge index used to identify the second candidate from the candidate list are obtained.
14. The apparatus of claim 1 or 3 or the method of claim 2 or 4, wherein: The candidate list is a single-prediction motion vector candidate list, which includes: one or more spatial candidates whose motion information is obtained from spatially adjacent neighboring blocks, one or more temporal candidates whose motion information is obtained from temporally collocated blocks, and one or more other candidates whose motion information is obtained from non-spatially adjacent neighboring blocks.
15. An apparatus according to claim 14 or a method according to claim 14, wherein the motion information of the candidate is at least one of the following: a motion vector associated with a first reference picture list, a motion vector associated with a second reference picture list, or an average motion vector from the motion vector associated with the first reference picture list and the motion vector associated with the second reference picture list.
16. A computer program product comprising instructions for causing one or more processors to perform the method of claim 2 or 4.