Handling face discontinuities in 360-degree video coding
The system addresses face discontinuities in 360-degree video encoding by determining neighbor availability and applying specific decoding functions, enhancing coding efficiency and decoding accuracy.
Patent Information
- Application Number
- JP2024153287
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-02-09
- Filing Date
- 2024-09-05
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2038-09-19
AI Technical Summary
Existing video encoding technologies struggle with handling face discontinuities in 360-degree videos, leading to inefficiencies in coding and decoding processes due to the non-uniform nature of spherical neighbors across face boundaries.
A system and method for determining face discontinuities in 360-degree video encoding, where the availability of neighboring blocks and reconstructed samples is assessed based on their location relative to face boundaries, and appropriate decoding functions are applied only to valid neighbors, including techniques like merge mode derivation, cross-component linear model prediction, and adaptive filtering.
Enhances coding efficiency by accurately handling face discontinuities, improving decoding accuracy and reducing computational overhead in 360-degree video encoding and decoding processes.
Smart Images

Figure 2024170551000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to handling face discontinuities in 360-degree video encoding. [Background technology]
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application No. 62 / 560,992, filed September 20, 2017, U.S. Provisional Application No. 62 / 622,551, filed January 26, 2018, U.S. Provisional Application No. 62 / 625,575, filed February 2, 2018, and U.S. Provisional Application No. 62 / 628,752, filed February 9, 2018, the contents of which are incorporated herein by reference.
[0003] Virtual reality (VR) has been applied to many application areas, including, but not limited to, healthcare, education, social networking, industrial design / training, gaming, movies, shopping, and / or entertainment. VR can enhance the viewer's experience, for example, by creating a virtual environment that surrounds the viewer, creating a sense of the viewer truly "being there." VR systems can support interaction through posture, gesture, gaze, voice, and the like. The system can provide haptic feedback to the user, allowing the user to interact with objects in the VR environment in a natural way. Summary of the Invention [Problem to be solved by the invention]
[0004] A system, method, and means are provided for discounting reconstructed samples and / or coding information from spatial neighbors across a face discontinuity. [Means for solving the problem]
[0005] Systems, methods, and means may be provided for discounting reconstructed samples and / or coding information from spatial neighbors across face discontinuities. It may be determined whether a current block is located at a face discontinuity. A face discontinuity may be a face boundary between two or more adjacent blocks that are not spherical neighbors. The coding availability of a neighboring block of a current block may be determined based on, for example, whether the neighboring block is on the same side of the face discontinuity as the current block. For example, it may be determined that a neighboring block is available for decoding the current block if it is on the same side of the face discontinuity as the current block, and unavailable if it is not on the same side of the face discontinuity. The neighboring block may be a spatial neighboring block or a temporal neighboring block.
[0006] Determining that the current block is located at a face discontinuity may be based on a face discontinuity indication in the bitstream. The face discontinuity indication may be an indication that the face boundary is a discontinuous face boundary. The face discontinuity indication may be an indication of two or more end points of the face discontinuity. The face discontinuity indication may be an indication of frame packing information.
[0007] For example, decoding functions may be performed on the current block based on the coding availability of neighboring blocks. The decoding functions may include deriving a merge mode for the current block. For example, if the neighboring block is determined to be available, the neighboring block may be added to a merge candidate list (e.g., a list of candidate blocks). If the neighboring block is determined to be unavailable, the neighboring block may be removed from the merge candidate list. The decoding functions may be, for example, inter prediction, intra prediction, cross-component linear model prediction, overlapped block motion compensation, a deblocking filter, a sample adaptive offset filter, or an adaptive loop filter.
[0008] The coding availability of a reconstructed sample can be determined, for example, based on whether the reconstructed sample is on the same side of a face discontinuity as the current block. For example, a reconstructed sample can be determined to be available for decoding the current block if it is on the same side of the face discontinuity as the current block, and unavailable if it is not on the same side of the face discontinuity. An unavailable reconstructed sample can be replaced with one or more available reconstructed samples. A template that includes unavailable reconstructed samples can be marked as unavailable.
[0009] The current block may be crossed by a face discontinuity. The current block may be divided into two or more prediction units (PUs). The PUs may be separated by face discontinuities. Motion compensation may be performed separately for each PU.
[0010] Performing a decoding function on the current block based on the coding availability of reconstructed samples may include applying one or more of a cross-component linear model prediction, an overlapped block motion compensation (OBMC), a deblocking filter (DBF), a sample adaptive offset (SAO) filter, and / or an adaptive loop filter (ALF).
[0011] A face discontinuity in a frame packed picture can be identified, for example, based on a face discontinuity indication signaled in the bitstream. In an example, the face discontinuity indication can include frame packing information identifying an edge corresponding to the face discontinuity. In an example, the face discontinuity indication can include an indication as to whether a boundary between two faces is continuous or discontinuous. In an example, the face discontinuity indication can include an indication as to endpoint coordinates of the face discontinuity. The determination and / or signaling of the face discontinuity can be performed.
[0012] For intra prediction and inter prediction, if a block is located on the right side of a face discontinuity, the left, top left, and bottom left frame packed neighbor blocks can be located on the other side of the face discontinuity and can be considered unavailable for inferring attributes, for example, for deriving the most probable mode in an intra angle process, for deriving a merge mode in inter prediction, and / or for motion vector prediction. Similar considerations can be applied to a current block that can be located on the left side, top, and / or bottom of a face discontinuity. The coding availability of spatial candidates at the face discontinuity can be determined.
[0013] For intra prediction and inter prediction, if a block is located on the right side of a face discontinuity, the reconstructed samples located on the left side of the block may be located on the other side of the face discontinuity and may not be correlated with the samples of the current block. In this case, the reconstructed samples may be considered unavailable in one or more prediction methods, such as DC, planar, and / or angular modes in intra prediction, Frame Rate Up Conversion (FRUC) template modes in inter prediction, and Local Illumination Compensation (LIC) modes. Similar considerations may be applied to the current block located on the left side, above, and / or below the face discontinuity. The coding availability of the reconstructed samples at the face discontinuity may be determined.
[0014] For cross-component linear model prediction, reconstructed samples at the face discontinuity can be discarded if they are not located on the same side of the face discontinuity as the current block. For example, if the block is located on the right side (or below) of the face discontinuity, reconstructed samples located on the left side (or above) of the face discontinuity can be discarded to estimate the parameters of the linear model. Derivation of the linear model parameters can be performed.
[0015] The template on one side of the face discontinuity can be discarded for DIMD search. For example, if a block is located near the right (e.g., below) or right (e.g., below) of the face discontinuity, and some or all of the samples from the left (e.g., above) template and / or some or all of the samples from the left (e.g., above) reference sample used to predict the left (e.g., above) template are located on the other side of the face discontinuity, the template on the other side of the face discontinuity can be discarded for DIMD search. The use of the top and left templates near the face discontinuity in DIMD can be determined.
[0016] For OBMC, if the current block (or sub-block) is located on the right side of the face discontinuity, the adjustment of the first column of the current block (or sub-block) using the motion vector of the right block (or sub-block) located on the other side of the face discontinuity can be skipped. Similar considerations can be applied to the current block (or sub-block) located on the left side, above, and / or below the face discontinuity. OBMC-based adjustment of blocks (or sub-blocks) at the face discontinuity can be performed.
[0017] For DBF, DBF across a block boundary can be disabled if the vertical (or horizontal) block boundary is within the vicinity of a vertical (or horizontal) face discontinuity, such that one or more (e.g., all) samples used in the DBF filter are not located on the same side of the face discontinuity. Deblocking across the face discontinuity can be performed.
[0018] For SAO, if the current sample is located on the right side of the face discontinuity, the horizontal category and the two diagonal categories in the edge offset mode can be disabled for that sample position, since the sample used in the gradient based classification may be located on the other side of the face discontinuity and may be uncorrelated with the current sample. Similar considerations can be applied to the current sample located on the left side, above, and / or below the face discontinuity. The SAO process at the face discontinuity can be performed.
[0019] For the ALF, if the current luma (or chroma) sample is located within four (or two) samples from a face discontinuity, the ALF may be invalid for that sample location since one or more samples used in the 9×9 (or 5×5) diamond filter may be located on the other side of the face discontinuity and may be uncorrelated with the current sample. The ALF may be performed at the face discontinuity. Effect of the Invention
[0020] This paper provides a method for handling face discontinuities in 360-degree video encoding. [Brief description of the drawings]
[0021] [Figure 1a] FIG. 1 illustrates an exemplary spherical sampling along the longitude and latitude directions in an equirectangular projection (ERP). [Figure 1b] FIG. 1 illustrates an exemplary 2D plane in ERP. [Figure 1c] FIG. 2 illustrates an example picture generated using ERP. [Figure 2A] FIG. 1 illustrates an example 3D geometry structure in cube map projection (CMP). [Figure 2B] FIG. 1 illustrates an example 2D plane with 6 faces in a 3×2 frame packing. [Figure 2C] FIG. 2 illustrates an example picture generated using cube map projection. [Diagram 3] FIG. 1 illustrates an exemplary 360-degree video processing. [Figure 4] FIG. 2 is a block diagram of an example block-based encoder. [Diagram 5] FIG. 2 is a block diagram of an exemplary block-based decoder. [Figure 6] FIG. 2 illustrates an example of using reference samples in High Efficiency Video Coding (HEVC) intra prediction. [Figure 7] FIG. 1 is a diagram of an example indication of intra prediction direction in HEVC. [Figure 8] FIG. 13 illustrates an example of spatial neighbors used to derive the most probable mode in the HEVC intra-angle process. [Figure 9] FIG. 1 is a diagram of an example inter prediction (uni-prediction) using one motion vector. [Figure 10] 1 is a diagram of example spatial neighbors used in deriving spatial merging candidates in the HEVC merging process. [Figure 11a] FIG. 1 illustrates sample examples involved in deblocking filter (DBF) on / off decision, filter selection, and filtering. [Figure 11b] FIG. 1 illustrates sample examples involved in deblocking filter (DBF) on / off decision, filter selection, and filtering. [Figure 12] FIG. 13 shows examples of gradient patterns used in sample adaptive offset (SAO): (a) horizontal, (b) vertical, (c) diagonal, and (d) 45° diagonal gradient patterns. [Figure 13] FIG. 13 illustrates example locations of samples used for the derivation of α and β in cross-component linear model prediction. [Figure 14] FIG. 2 illustrates an exemplary overlapped block motion compensation. [Figure 15] FIG. 13 illustrates an example associated with local illumination compensation. [Figure 16] 1A-1C show examples of adaptive loop filter (ALF) shapes: (a) 5×5 diamond, (b) 7×7 diamond, and (c) 9×9 diamond filter shapes. [Figure 17] A diagram showing an example with target, template, and reference samples in decoder-side intra-mode derivation (DIMD). [Figure 18] FIG. 1 illustrates an example CMP, (a) a 3D representation, and (b) a 3×2 frame packing configuration. [Figure 19]1A-1D illustrate exemplary availability of spatial neighbors when a face discontinuity is located (a) above, (b) below, (c) to the left, or (d) to the right of a current block. [Figure 20a] FIG. 13 illustrates an exemplary availability of reconstructed samples when a face discontinuity is located above the current block (a). [Figure 20b] FIG. 13 illustrates an exemplary availability of reconstructed samples when a face discontinuity is located below the current block (b). [Figure 20c] FIG. 13 illustrates an exemplary availability of reconstructed samples when a face discontinuity is located to the left of the current block (c). [Figure 20d] FIG. 13 illustrates an exemplary availability of reconstructed samples when a face discontinuity is located to the right of the current block (d). [Figure 21a] FIG. 2(a) illustrates an exemplary comparison of sub-block based motion compensation. [Figure 21b] (b) An exemplary comparison of sub-block based motion compensation with sub-block merging. [Figure 21c] (c) An exemplary comparison of sub-block based motion compensation with sub-block merging near a face discontinuity. [Figure 22a] FIG. 1A illustrates an exemplary comparison of motion compensation. [Figure 22b] (b) An exemplary comparison of motion compensation near a face discontinuity. [Figure 23a] FIG. 13 illustrates an exemplary availability of reconstructed samples used for cross-component linear model prediction when a face discontinuity is located above the current block (a). [Figure 23b] FIG. 13 illustrates an exemplary availability of reconstructed samples used for cross-component linear model prediction when a face discontinuity is located to the left of the current block (b). [Figure 24a]FIG. 1A illustrates an exemplary comparison of external overlapped block motion compensation (OBMC) based motion compensation based on OBMC design. [Figure 24b] (b) An exemplary comparison of external overlapped block motion compensation (OBMC) based motion compensation based on row / column based sub-block merging. [Figure 24c] (c) An exemplary comparison of external overlapped block motion compensation (OBMC) based motion compensation based on sub-block merging near face discontinuities. [Figure 25A] FIG. 1 is a system diagram illustrating an example communication system in which one or more disclosed embodiments may be implemented. [Figure 25B] FIG. 25B is a system diagram of an example wireless transmit / receive unit (WTRU) that can be used within the communications system illustrated in FIG. 25A according to an embodiment. [Figure 25C] FIG. 25B is a system diagram of an example radio access network (RAN) and core network (CN) that can be used within the communication system of FIG. 25A in accordance with an embodiment. [Figure 25D] FIG. 25B is a system diagram of a further example RAN and CN that can be used within the communication system illustrated in FIG. 25A according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0022] A detailed description of illustrative embodiments will now be provided with reference to various figures. While this description provides detailed examples of possible implementations, it should be noted that the details are intended to be illustrative and in no way limit the scope of the present application.
[0023] The VR system can use one or more omnidirectional videos. For example, the one or more omnidirectional videos can include one or more 360-degree videos. The 360-degree videos can be viewed from a 360-degree angle in the horizontal direction and from a 180-degree angle in the vertical direction. The VR system and the 360-degree videos can be used for media consumption beyond ultra-high definition (UHD) services. A free viewpoint TV (FTV) can test the performance of a solution. For example, the FTV can test the performance of a 360-degree video (or, e.g., omnidirectional video) based system and / or a multi-view based system.
[0024] The VR system may include a processing chain. The processing chain may include capturing, processing, displaying, and / or applying. With regard to capturing, the VR system may use one or more cameras to capture a scene from different and diverse views (e.g., 6-12 views). The views may be stitched together to form a 360-degree video (e.g., at a high resolution such as 4K or 8K). The client and / or user side of the VR system may include a computing platform, a head mounted display (HMD), and / or one or more head tracking sensors. The computing platform may receive and / or decode the 360-degree video. The computing platform may generate a viewport for display. Two pictures (e.g., one for each eye) may be rendered to the viewport. The two pictures may be displayed within the HMD for stereoscopic viewing. One or more lenses may be used to magnify (e.g., for better viewing) the image displayed within the HMD. The head tracking sensor may keep track of (e.g., keep track of) the orientation of the viewer's head. Orientation information can be provided to the VR system to display a viewport picture for that orientation. The VR system can provide a dedicated touch device. For example, the dedicated touch device can enable the viewer to interact with objects in the virtual world. The VR system can be driven by a workstation with graphics processing unit (GPU) support. The VR system can use a mobile device (e.g., a smartphone) as the computing platform, as the HMD display, and / or as the head tracking sensor. The spatial resolution of the HMD can be, for example, 2160×1200. The refresh rate can be, for example, 90 Hz. The field of view (FOV) can be, for example, about 110 degrees.The sampling rate for the head tracking sensor can be, for example, 1000Hz to capture fast movements. The VR system can include lenses and a cardboard and can be driven by a smartphone. The VR system can be used to play games. One or more 360-degree video streaming services can be provided.
[0025] VR systems may be capable of providing interactivity and / or haptic feedback. Large HMDs may not be convenient for a person to wear. A resolution of 2160x1200 for stereoscopic viewing (e.g., as provided by some HMDs) may not be sufficient and may cause dizziness and discomfort for some users. An increase in resolution may be desirable. The VR experience may be enhanced by combining the visual effects of the VR system with real-world force feedback. A VR roller coaster application may be an example of combining the visual effects of a VR system with real-world force feedback.
[0026] 360-degree videos can be compressed and delivered, for example, using Dynamic Adaptive Streaming over HTTP (DASH)-based video streaming techniques. 360-degree video content can be represented using spherical geometry structures. For example, synchronized views can be captured by multiple cameras and stitched together on a sphere. The synchronized views can be stitched together on a sphere as a (e.g., one) monolithic structure. The spherical information can be projected onto a 2D plane through a geometric transformation process. For example, the spherical information can be projected onto a 2D plane using equirectangular projection (ERP). FIG. 1a shows an example spherical sampling in longitude (φ) and latitude (θ). FIG. 1b shows an example sphere projected onto a 2D plane using ERP. A longitude φ in the range [-π,π] can be referred to as yaw (e.g., in aeronautics), and a latitude θ in the range [-π / 2,π / 2] can be referred to as pitch. π can be the ratio of the circumference of a circle to its diameter. (x,y,z) can represent the coordinates of a point in 3D space. (ue,ve) can represent the coordinates of a point in a 2D plane following the ERP. The ERP can be represented mathematically, for example, as shown in Equation (1) and / or Equation (2).
[0027] ue = (φ / (2 × π) + 0.5) × W (1) ve = (0.5 - θ / π) × H (2) Here, W and H can be the width and height of the 2D planar picture, respectively. As shown in FIG. 1a, point P can be the intersection between longitude L4 and latitude A1 on the sphere. Point P can be mapped to a unique point q in the 2D plane in FIG. 1b using equation (1) and / or equation (2). Point q in the 2D plane shown in FIG. 1b can be projected back to point P on the sphere shown in the figure, for example, via back projection. The field of view (FOV) in FIG. 1b shows an example of FOV in a sphere mapped to a 2D plane, such that the viewing angle along the X-axis is about 110 degrees.
[0028] One or more 360-degree videos can be mapped to 2D videos. For example, the 360-degree videos can be mapped to 2D videos using ERP. The 360-degree videos can be encoded and delivered to the client using a video codec such as H.264 or High Efficiency Video Coding (HEVC). For example, the 360-degree videos can be mapped to 2D videos, which can be encoded and delivered to the client. At the client side, the videos can be decoded (e.g., in equirectangular format) and rendered based on the user's viewpoint, for example, by projecting and displaying the part of the equirectangular view picture that belongs to the FOV on the HMD. The characteristics of the equirectangular view 2D picture can be different from the non-equirectangular view 2D picture (e.g., rectilinear video picture). FIG. 1c shows an exemplary equirectangular view picture. The top of the picture shown in FIG. 1c can correspond to the north pole, and the bottom can correspond to the south pole. As shown in FIG. 1c, the top and / or bottom can be stretched. For example, the top and / or bottom may be stretched compared to the center of the picture, which corresponds to the equator. The stretching at the top and / or bottom may indicate uneven equirectangular sampling in the 2D spatial domain.
[0029] As shown in FIG. 1c, the top and bottom of the ERP picture, which may correspond to the north and south poles, respectively, may be elongated compared to the center of the picture. For the ERP format, the spherical sampling density may be non-uniform. Various geometry projection formats may be used to map the 360-degree video onto multiple faces. FIG. 2A shows an example of a cube map projection (CMP) geometry. The CMP may include six square faces, which may be labeled PX, PY, PZ, NX, NY, NZ, where P may represent positive, N may represent negative, and X, Y, Z may refer to the axes. These faces may also be labeled using numbers 0-5, so, for example, PX(0), NX(1), PY(2), NY(3), PZ(4), NZ(5). For example, if the radius of the inscribed sphere is 1, the horizontal length of each face may be 2. The six faces of the CMP format may be packed together into a single picture. Some faces may be rotated by an angle, for example, to maximize continuity between neighboring faces. FIG. 2B illustrates an example packing method for arranging six faces in a rectangular picture, where the face indexes (e.g., each face index) are oriented in a direction that is aligned with the corresponding rotation of the face (e.g., for better visualization). For example, face #3 and face #1 may be rotated by 270 degrees and 180 degrees counterclockwise, respectively, while other faces may not be rotated. An example picture using CMP is given in FIG. 2C. As shown in FIG. 2C, the top row of three faces may be spatially neighboring faces in the 3D geometry and may have a continuous texture, and the bottom row of three faces may be spatially neighboring faces in the 3D geometry and may therefore have a continuous texture. The top face row and the bottom face row may not be spatially contiguous in the 3D geometry, and there may be a seam (e.g., a discontinuous boundary) between the two face rows.A face boundary between two or more adjacent blocks that are not spherical neighbors may be called a face discontinuity.
[0030] In CMP, assuming that the sampling density is equal to 1 in the center of a face (e.g., each face), the sampling density may increase towards the edge, which means that the texture around the edge may be stretched compared to that in the center. In different cube-map based projections, e.g., Conformal Cube Map Projection (EAC) and / or Adjusted Cube Map Projection (ACP), the face (e.g., each face) may be adjusted using a non-linear warping function in the vertical and / or horizontal directions to achieve a more uniform sampling density. In EAC, the adjustment may be performed using a tangent function, while in ACP, the adjustment may be performed using a second order polynomial function. A generalization of EAC and ACP, sometimes called Hybrid Cube Map Projection (HCP), may be used. In HCP, the adjustment function and its parameters are adjusted individually for the face (e.g., each face) and direction, which may provide better coding efficiency. Cube-based projections may be packed in a manner similar to that for CMP.
[0031] FIG. 3 illustrates an example workflow for 360-degree video processing. 360-degree video capture can be captured using one or more cameras. For example, one or more cameras can be used to capture 360-degree video covering a spherical space. The videos can be stitched together. For example, the videos can be stitched together using an equirectangular geometric structure. The equirectangular geometric structure can be converted to another geometric structure, such as a cube-mapped geometry, for encoding (e.g., encoding with a video codec). The encoded video can be distributed to a client, for example, via dynamic streaming and / or broadcasting. The video can be decoded, for example, at a receiver. The decompressed frames can be unpacked into a display, such as a display geometry. For example, the display geometry can be an equirectangular geometry. The geometry can be used for rendering. For example, the geometry can be used for rendering via a viewport projection according to a user's viewing angle.
[0032] FIG. 4 illustrates a block diagram of an exemplary block-based hybrid video encoding system 600. An input video signal 602 may be processed block by block. An extended block size (e.g., called a coding unit or CU) may be used (e.g., in HEVC) to compress high resolution (e.g., 1080p and / or higher) video signals. A CU may have up to 64×64 pixels (e.g., in HEVC). A CU may be partitioned into prediction units or PUs, for which separate predictions may be applied. Spatial prediction 660 or temporal prediction 662 may be performed on input video blocks (e.g., macroblocks (MBs) or CUs). Spatial prediction (or, e.g., intra prediction) may predict a current video block using pixels belonging to already coded neighboring blocks in the same video picture and / or slice. Spatial prediction may reduce spatial redundancy inherent in a video signal. Temporal prediction (e.g., called inter prediction or motion compensated prediction) may predict a current video block using pixels belonging to already coded video pictures. Temporal prediction can reduce temporal redundancy inherent in a video signal. A temporal prediction signal for a given video block can be conveyed by a motion vector, which indicates the amount and / or direction of motion between a current block and its reference block. If multiple reference pictures are supported (e.g., in H.264 / AVC or HEVC), a reference picture index for the video block can be conveyed to the decoder. The reference index can be used to identify which reference picture in the reference picture store 664 from which the temporal prediction signal can be derived.
[0033] After spatial and / or temporal prediction, a mode decision 680 in the encoder may select a prediction mode based, for example, on rate-distortion optimization. At 616, the prediction block may be subtracted from the current video block. To achieve a target bit rate, the prediction residual may be decorrelated using the transform module 604 and the quantization module 606. The quantized residual coefficients may be inverse quantized at 610 and inverse transformed at 612 to form a reconstructed residual. At 626, the reconstructed residual may be added back to the prediction block to form a reconstructed video block. At 666, an in-loop filter, such as a deblocking filter and / or an adaptive loop filter, may be applied to the reconstructed video block, which is then placed in a reference picture store 664. The reference pictures in the reference picture store 664 may be used to encode future video blocks. An output video bitstream 620 may be formed. The coding mode (e.g., inter or intra), prediction mode information, motion information, and / or quantized residual coefficients may be transmitted to an entropy coding unit 608 for compression and packing to form a bitstream 620.
[0034] FIG. 5 shows a general block diagram of an exemplary block-based video decoder. A video bitstream 202 may be received, unpacked, and / or entropy decoded in an entropy decoding unit 208. Coding mode and / or prediction information may be sent to a spatial prediction unit 260 (e.g., if intra-coded) and / or to a temporal prediction unit 262 (e.g., if inter-coded). A prediction block may be formed in the spatial prediction unit 260 and / or the temporal prediction unit 262. Residual transform coefficients may be sent to an inverse quantization unit 210 and an inverse transform unit 212 to reconstruct a residual block. The prediction block and the residual block may be summed at 226. The reconstructed block may pass through in-loop filtering 266 and may be stored in a reference picture store 264. The reconstructed video in the reference picture store 264 may be used to drive a display device and / or to predict future video blocks.
[0035] In video coding, intra prediction and / or inter prediction can be performed. Intra prediction can be used to predict sample values using neighboring reconstructed samples. For example, reference samples used for intra prediction of a current transform unit (TU) are shown in Figure 6. The reference samples can be from the left and / or upper neighboring reconstructed samples, as shown by the shaded boxes in Figure 6.
[0036] FIG. 7 illustrates an example indication of an angular intra prediction mode. HEVC can support various (e.g., 35) intra prediction modes, such as DC mode (e.g., mode 1), planar mode (e.g., mode 0), and 33 directional or angular intra prediction modes. The planar prediction modes can, for example, generate a first order approximation for the current block using the top and left reconstructed samples. The angular prediction modes can be designed (e.g., specially designed) to predict directional textures. The intra prediction modes can be selected (e.g., at the encoder side). For example, the intra prediction modes can be selected at the encoder side by minimizing the distortion between the prediction generated by the intra prediction mode (e.g., each intra prediction mode) and one or more original samples. The intra prediction modes can be selected based on minimizing the rate-distortion cost using rate-distortion optimization. The intra prediction modes can be encoded, for example, using Most Probable Mode (MPM) for intra coding. The MPM can reuse the intra angular modes of spatially neighboring PUs. FIG. 8 illustrates an example of spatial neighbors used to derive MPM in HEVC intra-angle process. FIG. 8 may show spatial neighbors (e.g., bottom left, left, top right, top, and / or top left) used for MPM candidate derivation in HEVC. The selected MPM candidate index may be encoded. The MPM candidate list may be constructed on the decoder side (e.g., in the same manner as in the encoder). The entry with the signaled MPM candidate index may be used as the intra-angle mode of the current PU.
[0037] FIG. 9 illustrates an example inter prediction (e.g., uni-prediction) using one motion vector (MV). Blocks B0′ and B1′ in the reference picture of FIG. 9 can be reference blocks for blocks B0 and B1, respectively. The motion vector information can be coded, for example, by using motion vector prediction and / or merge mode for inter coding. The motion vector prediction can use a motion vector from a spatially neighboring PU or a temporally co-located PU as a predictor of the current MV. The encoder and / or decoder can form a motion vector predictor candidate list in the same manner. The index of the MV predictor selected from the candidate list can be coded and / or signaled to the decoder. The decoder can construct an MV predictor list and can use an entry with the signaled index as a predictor of the MV of the current PU. The merge mode can reuse the MV information of spatial and / or temporal neighbors. The encoder and / or decoder can form a motion vector merge candidate list in the same manner. Figure 10 illustrates an example of spatial neighbors used in deriving spatial merge candidates in the HEVC merging process. As shown in Figure 10, spatial neighbors (e.g., bottom left, left, top right, top, and / or top left) can be used for merge candidate derivation in HEVC. The selected merge candidate index can be encoded. The merge candidate list can be constructed at the decoder side (e.g., in the same way as in the encoder). The entry with the signaled merge candidate index can be used as the MV of the current PU.
[0038] In HEVC, one or more (e.g., two) in-loop filters (e.g., a deblocking filter (DBF) followed by a sample adaptive offset (SAO) filter) may be applied to one or more reconstructed samples. The DBF may be configured to reduce blocking artifacts resulting from block-based coding. The DBF may be applied (e.g., only to) samples located at PU and / or TU boundaries, except at picture boundaries or when disabled at slice and / or tile boundaries. For vertical boundaries, horizontal filtering may be applied (e.g., applied first), and for horizontal boundaries, vertical filtering may be applied. Figures 11a, 11b illustrate examples of samples involved in DBF on / off decision, filter selection, and filtering. Given two adjacent blocks P and Q, up to three sample columns (or rows) on each side of the boundaries may be filtered with horizontal (or vertical) filtering, depending on the filter strength, as shown in Figures 11a, 11b. SAO can be another in-loop filtering process that modifies decoded samples by conditionally adding an offset value to the sample (e.g., each sample) based on a value in a look-up table sent by the encoder. SAO can have one or more (e.g., two) operation modes, namely, band offset mode and edge offset mode. In band offset mode, an offset can be added to the sample value depending on the sample amplitude. The total sample amplitude range can be divided into 32 bands, and sample values belonging to four of these bands can be modified by adding a positive or negative offset that can be conveyed for each coding tree unit (CTU). In edge offset mode, horizontal gradient, vertical gradient, and two diagonal gradients can be used for classification, as shown in FIG. 12. FIG. 12 illustrates an example of four gradient patterns used in SAO.For each edge category, an offset can be conveyed at the CTU level.
[0039] Cross-component linear model prediction can be performed. A color conversion from RGB to YUV can be performed (e.g., to reduce correlation between different channels). Cross-component linear model prediction can be used to predict chroma samples from corresponding luma samples using a linear model. Given a chroma sample value p i,j is the corresponding downsampled reconstructed luma sample value L′ (e.g., if the video is in 420 or 422 chroma format), as shown in equation (3). i,j can be predicted from
[0040] p i,j =α L' i,j +β (3) The downsampled luma samples can be calculated as shown in equation (4).
[0041]
number
[0042] The parameters of the linear model can be derived by minimizing the regression error between the upper and left neighboring reconstructed samples and can be calculated as shown in equations (5) and (6).
[0043]
number
[0044]
number
[0045] Figure 13 illustrates an example location of samples used for the derivation of α and β in cross-component linear model prediction. For example, Figure 13 provides the location of the upper and left neighboring reconstructed samples used for the derivation of α and β. The neighboring reconstructed samples may be available at the encoder and / or decoder. The values of α and β may be derived in the same manner at the encoder and / or decoder.
[0046] Overlapped block motion compensation can be performed.
[0047] Overlapped block motion compensation (OBMC) may be used to remove one or more blocking artifacts in the motion compensation stage. OBMC may be performed for one or more (e.g., all) interblock boundaries, except for the right and bottom boundaries of a block. When a video block is coded in a subblock mode (e.g., advanced temporal motion vector prediction (ATMVP) and / or spatial-temporal motion vector prediction (STMVP)), OBMC may be performed for the boundaries of the subblock (e.g., each of the boundaries of the subblock). Figure 14 illustrates an exemplary concept of OBMC. When OBMC is applied to a subblock (e.g., subblock A in Figure 14), in addition to the motion vector of the current subblock, the motion vectors of up to four neighboring subblocks may be used to derive a prediction signal of the current subblock. Multiple prediction blocks using the motion vectors of the neighboring subblocks may be averaged to generate a final prediction signal of the current subblock.
[0048] In OBMC, a weighted average can be used to generate a prediction signal of a block. A prediction signal using a motion vector of a neighboring subblock may be denoted as PN, and a prediction signal using a motion vector of a current subblock may be denoted as PC. When OBMC is applied, samples in the first / last four rows / columns of PN can be weighted averaged with samples in the same position in PC. The samples to which the weighted average is applied can be determined, for example, according to the location of the corresponding neighboring subblock. For example, when the neighboring subblock is an upper neighbor (e.g., subblock b in FIG. 14), samples in the first four rows of the current subblock can be adjusted. When the neighboring subblock is a lower neighbor (e.g., subblock d in FIG. 14), samples in the last four rows of the current subblock can be adjusted. When the neighboring subblock is a left neighbor (e.g., subblock a in FIG. 14), samples in the first four columns of the current block can be adjusted. When the neighboring subblock is a right neighbor (e.g., subblock c in FIG. 14), the samples in the last four columns of the current subblock can be adjusted. When the current block is not coded in subblock mode, one or more weighting factors (e.g., {1 / 4, 1 / 8, 1 / 16, 1 / 32}) can be used for the first four rows / columns of PN, and one or more weighting factors (e.g., {3 / 4, 7 / 8, 15 / 16, 31 / 32}) can be used for the first four rows / columns of PC. When the current block is coded in subblock mode, the first two rows / columns of PN and PC can be averaged. In this case, one or more weighting factors (e.g., {1 / 4, 1 / 8}) can be used for PN, and one or more weighting factors (e.g., {3 / 4, 7 / 8}) can be used for PC.
[0049] Local illumination compensation can be performed.
[0050] Illumination compensation (IC) may be based on a linear model for illumination changes, for example, using a scaling factor a and / or an offset b. IC may be adaptively enabled / disabled for an inter-coded block (e.g., each inter-coded block). FIG. 15 illustrates an example of IC. As illustrated in FIG. 15, when IC is applied to a block, a minimum mean square error (LMSE) method may be utilized (e.g., to derive parameters a and b). For example, parameters a and b may be derived by minimizing the distortion between neighboring samples (e.g., template) of the current block and their corresponding reference samples in the temporal reference picture. As illustrated in FIG. 15, the template may be subsampled (e.g., 2:1 subsampling), which may reduce complexity. As shown in FIG. 15, a and b may be derived using shaded samples (e.g., only shaded samples).
[0051] An adaptive loop filter (ALF) may be used. For the luma component, one or more (e.g., up to three) diamond filter shapes may be selected, e.g., 5×5, 7×7, and 9×9, as shown in FIG. 16(a), FIG. 16(b), and FIG. 16(c), respectively. FIG. 16 illustrates exemplary ALF filter shapes. The selected filter may be signaled at the picture level. For the chroma components, the 5×5 diamond shape may be used (e.g., always used). For the luma component, a 2×2 block (e.g., each 2×2 block) may be classified into one of 25 categories to select appropriate filter coefficients for that block. For the chroma components, classification may not be performed, e.g., one set of coefficients may be used for one or more (e.g., all) chroma samples. Classification may be performed by analyzing gradient activity and directionality in the neighborhood around each 2×2 block. The horizontal gradient, gradient, and two diagonal gradients can be calculated using the 1-D Laplacian in the neighborhood of 6x6 samples. One or more (e.g., three) geometric transformations on the filter coefficients, e.g., diagonal, flip, and / or rotation, can be applied to each 2x2 block (e.g., depending on the gradient value of the block). For the luma component, filtering can be controlled at the CU level, e.g., by using a flag to signal whether ALF is applied. For the chroma components, ALF can be enabled or disabled for the entire picture.
[0052] Decoder-side intra mode derivation (DIMD) can be performed. DIMD can derive information (e.g., at the encoder and / or decoder) from neighboring samples of a block (e.g., neighboring reconstructed samples of one block). Figure 17 illustrates an example of deriving an intra mode (e.g., without signaling) using DIMD. As seen in Figure 17, a target can indicate a block as a current block (e.g., of block size N). The intra mode of the current block can be estimated. A template (e.g., as shown by the hatched pattern area in Figure 17) can indicate a set of samples (e.g., already reconstructed samples). The samples can be used to derive an intra mode. The size of the template can be indicated by the number of samples in the template that extend above and to the left of the target block, e.g., L as seen in Figure 17. The reference of the template (e.g., as shown by the dotted area in Figure 17) can be a set of neighboring samples. The neighboring samples can be located above and to the left of the template. For an intra-prediction mode (e.g., each intra-prediction mode), the DIMD may calculate the sum of absolute differences (SAD) between the reconstructed template sample and its predicted sample. The predicted sample may be obtained from a reference sample of the template. The intra-prediction mode that produces the minimum SAD may be selected as the intra-prediction mode of the block (e.g., the final intra-prediction mode of the target block).
[0053] For geometries composed of different faces (e.g., CMP, octahedral projection (OHP), and / or icosahedral projection (ISP), etc.), one or more discontinuities may appear between two or more adjacent faces in the frame-packed picture (e.g., despite a compact face arrangement). For example, FIG. 2C illustrates an example of a 3×2 CMP. In FIG. 2C, the three faces in the top half may be horizontally contiguous in the 3D geometry. The three faces in the bottom half may be horizontally contiguous in the 3D geometry. The top and bottom halves may be discontinuous in the 3D geometry. For 360-degree video, due to discontinuities, neighboring blocks in the frame-packed picture may not necessarily be related.
[0054] FIG. 18 illustrates an example of a CMP. FIG. 18(a) illustrates an example 3D representation of the CMP. FIG. 18(b) illustrates an example 3×2 frame packing configuration of the CMP. As shown in FIG. 18(a) and / or FIG. 18(b), block D can be a frame-packed neighbor located above block A. The frame-packed neighbor can be or can include a block neighboring the current block in the frame-packed picture. The spherical neighbor can be or can include a block neighboring the current block in the 3D geometry. The frame-packed neighbor can also be a spherical neighbor. Considering the 3D geometry, block E can be a spherical neighbor located above block A. If a video codec designed for 2D video is used, the frame-packed neighbor D can be used to predict the current block A, for example, in the form of intra prediction, intra MPM, merge mode, and / or motion vector prediction. Information from D may not be adequate to predict A (e.g., due to inherent discontinuities between D and A), which may lead to poor coding efficiency. To predict a current block (e.g., block A), a spherical neighbor (e.g., block E) may be used when deriving relevant coding information (e.g., intra mode, motion vectors, and / or reference samples, etc.).
[0055] Spherical neighbors can be derived. For example, spherical neighbors can be derived at a sample level (e.g., for intra-prediction and / or to derive reference samples for cross-component linear models). To derive spherical neighbors, a transformation from 2D geometry to 3D geometry and / or a transformation from 3D geometry to 2D geometry can be applied. A look-up table (LUT) can be used to pre-store the locations of the spherical neighbors.
[0056] CTUs in the current picture / slice / tile may be processed in raster scan order. Information from a limited number of frame-packed neighboring blocks may be buffered (e.g., using a cache). When spherical neighbors are considered, the reference samples and / or coding information may be farther from the current block in raster scan order. For example, block E in FIG. 18(b) may be farther from A in raster scan order than blocks B, C, and D. Information from block E may be removed from the cache before block A is coded.
[0057] In 360-degree video coding, a frame-packed neighbor block can be used to predict a current block if (e.g., only if) the frame-packed neighbor block is a spherical neighbor block of the current block. For the example shown in Figures 18(a)-18(b), block B can be a frame-packed spherical neighbor to block A, while blocks C and D can be frame-packed neighbors to block A but cannot be spherical neighbors of block A. Inferring information across face discontinuities can be disabled.
[0058] In 2D video coding (e.g., for raster scan processing), left (L), top (A), top right (AR), top left (AL), and bottom left (BL) neighbors can be used to infer information (see, e.g., FIG. 8 and FIG. 10). If a current block is located on the right side of a face discontinuity, the left, top left, and / or bottom left frame-packed neighbor blocks can be located on the other side of the face discontinuity and can be considered unavailable for inferring attributes, e.g., for deriving a list of most probable modes in intra prediction, for deriving motion vector prediction and / or motion vector candidates in merge modes, and / or for OBMC. Similar considerations can be applied to a current block that can be located on the left, top, and / or bottom of a face discontinuity. In this way, irrelevant spatial candidates can be eliminated when inferring attributes from neighboring blocks.
[0059] In 2D video coding (e.g., for raster scan processing), reconstructed samples located above and / or to the left of the current block can be used to predict the current block (see, e.g., Fig. 6 and Fig. 13). If the current block is located to the right of a face discontinuity, reconstructed samples located to the left of the block, e.g., R 0,0 , ..., R 0,2N (see, e.g., FIG. 6 and FIG. 13) may be located on the other side of the face discontinuity and may be uncorrelated with the samples of the current block. In this case, the reconstructed samples may be considered unavailable for one or more prediction techniques, such as DC, planar, and / or angular modes in intra prediction, cross-component linear model prediction, OBMC, and / or in-loop filtering. In this way, poorly correlated reconstructed samples may be eliminated when predicting and / or filtering the current block using neighboring reconstructed samples.
[0060] Reconstructed samples and / or coding information from spatial neighbors across a face discontinuity may be ignored.
[0061] The techniques described herein can be applied to face discontinuities and / or to face continuities, e.g., boundaries between two faces in a frame-packed picture that are also neighboring faces in the 3D geometry.
[0062] A face discontinuity in a frame-packed picture may be determined. In an example, frame packing information may be conveyed in a bitstream to identify one or more faces (e.g., each face) in a frame-packed picture. For one or more (e.g., every) pairs of neighboring faces in a frame-packed picture, if the two faces share the same edge in the 3D geometry, the shared edge may be defined as continuous. If the two faces do not share the same edge in the 3D geometry, the edge may be defined as discontinuous.
[0063] For example, a frame-packed picture may contain M×N faces (e.g., in FIG. 2B, M=3, N=2), (M-1)×N vertical edges may exist between faces in the picture, and M×(N-1) horizontal edges may exist between faces in the picture. As shown in Table 1, a total of (M-1)×N+M×(N-1) flags may be conveyed to specify, for example, whether an edge is continuous. The edges may be scanned in a particular order, for example, from top to bottom and left to right. Table 1 may illustrate this set of syntax elements that are placed in a video parameter set. Other sequence-level parameter sets, such as a picture parameter set (PPS) or a sequence parameter set (SPS), may be used to convey this information.
[0064] [Table 1]
[0065] In Table 1, the parameter face_discontinuity_param_present_flag may specify whether one or more of the syntax elements num_face_rows, num_face_columns, and face_discontinuity_flag[i] are present. When the parameter face_discontinuity_param_present_flag is not present in the bitstream, the value of the parameter may be inferred to be a value (e.g., 0) indicating that the face discontinuity parameter is not present.
[0066] The parameter num_face_rows may specify the number of rows of faces in a frame packed picture. When the parameter num_face_rows is not present in the bitstream, the value of the parameter may be set to a default value (e.g., 1).
[0067] The parameter num_face_columns may specify the number of columns of faces in a frame-packed picture. When the parameter num_face_columns is not present in the bitstream, the value of the parameter may be set to a default value (e.g., 1).
[0068] To reduce the number of bits for encoding a syntax element, the parameters num_face_rows_minus1 and / or num_face_columns_minus1 may be signaled (e.g., instead of and / or in addition to signaling num_face_rows and num_face_columns).
[0069] The parameter face_discontinuity_flag[i] can specify whether the i-th face edge is discontinuous.
[0070] In an example, the coordinates of two end points of one or more face discontinuities (e.g., each face discontinuity) in a frame-packed picture may be conveyed (e.g., explicitly conveyed). End points for horizontal and / or vertical discontinuities may be conveyed. End points for diagonal discontinuities may be conveyed. Diagonal discontinuities may be used, for example, for triangle-based geometry (e.g., OHP and / or ISP). Table 2 illustrates example syntax elements at the video level.
[0071] [Table 2]
[0072] In Table 2, the parameter face_discontinuity_param_present_flag may specify whether one or more of the syntax elements num_face_discontinuities, face_discontinuity_start_point_x, face_discontinuity_start_point_y, face_discontinuity_end_point_x, and / or face_discontinuity_end_point_y are present. When the parameter face_discontinuity_param_present_flag is not present in the bitstream, the value of the parameter may be inferred to be a value (e.g., 0) indicating that the face discontinuity parameter is not present.
[0073] The parameter num_face_discontinuities may specify the number of face discontinuities in the frame packed picture. When the parameter num_face_discontinuities is not present in the bitstream, the value of the parameter may be set to a default value (e.g., 1). The parameter num_face_discontinuities_minus1 may be signaled (e.g., instead of and / or in addition to signaling num_face_discontinuities). The value of the parameter num_face_discontinuities_minus1 may be the number of face discontinuities in the frame packed picture minus 1.
[0074] The parameter face_discontinuity_start_point_x[i] may specify the x-coordinate in the frame-packed picture of the start point of the i-th face discontinuity. The value of the parameter face_discontinuity_start_point_x[i] may be in the range from 0 to picture_width-1 (e.g., inclusive).
[0075] The parameter face_discontinuity_start_point_y[i] may specify the y coordinate in the frame packed picture of the start point of the i-th face discontinuity. The value of the parameter face_discontinuity_start_point_x[i] may be in the range from 0 to picture_height-1 (e.g., inclusive).
[0076] The parameter face_discontinuity_end_point_x[i] may specify the x-coordinate in the frame-packed picture of the end point of the i-th face discontinuity. The value of the parameter face_discontinuity_start_point_x[i] may be in the range from 0 to picture_width-1 (e.g., inclusive).
[0077] The parameter face_discontinuity_end_point_y[i] may specify the y coordinate in the frame packed picture of the end point of the i-th face discontinuity. The value of the parameter face_discontinuity_start_point_x[i] may be in the range from 0 to picture_height-1 (e.g., inclusive).
[0078] For example, if the projection geometry and / or frame packing are changed during video encoding, one or more of the parameters defined at the video level may be signaled (e.g., signaled instead and / or signaled in addition) at the sequence and / or picture level. A fixed-length encoding of the syntax element may be used (e.g., instead of ue(v)). The bit length of the syntax element may be determined by ceil(log2(picture_width)), or ceil(log2(picture_height)).
[0079] When one or more exemplary techniques described herein are used, a list of face discontinuities can be generated. For example, K vertical face discontinuities and L horizontal face discontinuities can be identified. The list of (K+L) face discontinuities can be divided into two lists: D v and a list of K vertical face discontinuities, which can be denoted as D h For a face discontinuity d, A d and B. dTwo end points in the frame packed picture can be determined, which can be denoted as C, its top left coordinate, which can be denoted as C, its width, which can be denoted as W, and its height, which can be denoted as H. To check if a horizontal discontinuity is located above a block, a horizontal face discontinuity check can be performed as shown in Table 3.
[0080] [Table 3]
[0081] Similar techniques can be used to determine whether a discontinuity is located at the bottom, left, and / or right of a block. Similar techniques can be used to determine whether a discontinuity is located near a particular sample location.
[0082] The frame packing arrangement can be determined at a high level (e.g., sequence level or picture level). The face discontinuity can be determined at a high level and kept the same across multiple pictures. An array can be pre-computed at a given granularity to store whether a discontinuity exists for a block. For example, if the array is defined at the block level, a face discontinuity flag can be calculated for each block and stored in the array. The blocks can be of a pre-determined size, e.g., 4×4. During encoding / decoding for the current block, it can be determined whether a discontinuity exists.
[0083] Figure 2B illustrates an example 3x2 cube map frame packing. In Figure 2C, a horizontal discontinuity may occur in the middle of the picture, and no vertical discontinuity may exist. Blocks bordering the discontinuity line and / or samples located above the discontinuity line may have discontinuity flags set to true. One or more other blocks (e.g., all other blocks) and / or samples may have discontinuity flags set to false.
[0084] The positions of face boundaries (e.g., the positions of all face boundaries in a frame packed picture) can be signaled. The positions of discontinuous face boundaries in a frame packed picture can be signaled (e.g., only signaled). For a face boundary (e.g., each face boundary), a flag can be signaled. The flag can indicate whether the face boundary is contiguous or discontinuous.
[0085] Spatial candidates at the face discontinuities can be identified.
[0086] For example, information about the most probable mode in intra prediction, spatial-temporal motion vector prediction (STMVP), OBMC, and / or merge mode in inter prediction can be inferred from the neighboring blocks. The neighboring blocks can be spatial neighboring blocks or temporal neighboring blocks. Whether the current block is located at a face discontinuity can be determined, for example, based on the location of the current block. The coding availability of the neighboring blocks can be determined, for example, based on whether the neighboring blocks are on the same side of the face discontinuity as the current block. Frame-packed neighbors that are not spherical neighbors of the current block (e.g., neighboring blocks that are not on the same side of the face discontinuity as the current block) can be considered unavailable for decoding the current block. Frame-packed neighbors that are spherical neighbors of the current block (e.g., neighboring blocks on the same side of the face discontinuity as the current block) can be considered available for decoding the current block.
[0087] For example, a decoding function may be performed on the current block based on the coding availability of the neighboring blocks. The decoding function may include deriving a merge mode for the current block. For example, if the neighboring blocks are determined to be available, the neighboring blocks may be added to a merge candidate list (e.g., a list of candidate blocks). If the neighboring blocks are determined to be unavailable, the neighboring blocks may be removed from the merge candidate list.
[0088] FIG. 19 illustrates exemplary availability of spatial neighbors when a face discontinuity is located above (e.g., FIG. 19(a)), below (e.g., FIG. 19(b)), left (e.g., FIG. 19(c)), and / or right (e.g., FIG. 19(d)) the current block. Blocks illustrated using diagonal lines in FIG. 19(a)-FIG. 19(d) may be located on the other side of the face discontinuity and may be considered unavailable (e.g., determined to be unavailable for decoding the current block). For example, as shown in FIG. 19(a), if the face discontinuity is located above the current block, the top-left, top, and / or top-right neighboring blocks may be considered unavailable. As shown in FIG. 19(b), if the face discontinuity is located below the current block, the bottom-left neighboring block may be considered unavailable. If the face discontinuity is located to the left of the current block, the top-left, left, and / or bottom-left neighboring blocks can be considered unavailable, as shown in Fig. 19(c), and if the face discontinuity is located to the right of the current block, the top-right neighboring block can be considered unavailable, as shown in Fig. 19(d).
[0089] Whether a reconstructed sample at a face discontinuity can be used to predict a current block can be determined based on, for example, the location of the current block. Whether the current block is located at a face discontinuity can be determined. The coding availability of a reconstructed sample can be determined based on, for example, whether the reconstructed sample is on the same side of the face discontinuity as the current block. One or more reconstructed samples located on the other side of the face discontinuity that the current block borders can be considered unavailable (e.g., unavailable for decoding the current block). One or more reconstructed samples located on the same side of the face discontinuity that the current block borders can be considered available (e.g., available for decoding the current block). The reconstructed samples considered unavailable can be padded using available reconstructed samples. For example, the reconstructed samples considered unavailable can be replaced with one or more available reconstructed samples.
[0090] 20a-20d illustrate exemplary availability of reconstructed samples when a face discontinuity is located above (e.g., FIG. 20a), below (e.g., FIG. 20b), to the left (e.g., FIG. 20c), and / or to the right (e.g., FIG. 20d) of the current block. Reconstructed samples illustrated using diagonal lines in FIG. 20a-20d may be located on the other side of the face discontinuity and may be considered unavailable (e.g., determined to be unavailable for decoding the current block). For example, when a face discontinuity is located above the current block as shown in FIG. 20a, reconstructed samples located above the current block (e.g., R 0,0 ...R 2N,0 ) can be considered unavailable. If a face discontinuity is located below the current block, as shown in FIG. 20b, the reconstructed sample (e.g., R 0,N+1 ...R 0,2N) can be considered unavailable. As shown in FIG. 20c, if the face discontinuity is located to the left of the current block, the reconstructed sample (e.g., R 0,0 ...R 0,2N ) can be considered unavailable. As shown in FIG. 20d, if the face discontinuity is located on the right side of the current block, the reconstructed sample (e.g., R N+1,0 ...R 2N,0 ) can be considered unavailable.
[0091] In one or more of the cases described herein, more than one reference sample line can be used and the same approach can be applied to rectangular blocks.
[0092] Certain implementations (e.g., cross-component linear model prediction, IC, etc.) may be disabled (e.g., completely disabled) if the reconstructed samples used (e.g., all reconstructed samples) do not belong to the same face. For example, IC may be disabled (e.g., completely disabled) if a face discontinuity crosses the current block and / or if one or more samples of the current block belong to a different face than that of the template. Disabling IC may avoid scaling and / or offsetting a block using reconstructed samples located in a different face.
[0093] Motion compensation can be performed at face discontinuities. Inter prediction modes (e.g., FRUC, Alternative Temporal Motion Vector Prediction (ATMVP), Spatial-Temporal Motion Vector Prediction (STMVP), and / or Affine Motion Compensation Prediction) can utilize subblock-based motion vector prediction. For example, if a group of subblocks has the same motion information, motion compensation can be applied (e.g., directly) to a group of subblocks (e.g., the entire group of subblocks). When one or more subblocks are merged into a larger subblock group (e.g., as a motion compensation unit), subblocks belonging to the same face can be merged together.
[0094] Motion compensation can be applied separately (e.g., on each side of a face discontinuity) and / or together. As illustrated in Fig. 21a-c, if a coding block is traversed by a face discontinuity and one or more sub-blocks (e.g., all sub-blocks) on one side of the block have the same motion information, motion compensation can be applied separately (e.g., corresponding to MC0 and MC1 in Fig. 21c). For example, motion compensation can be applied separately to one or more groups on each side of the face discontinuity. As illustrated in Fig. 21a-c, if a coding block is not traversed by a face discontinuity and one or more sub-blocks (e.g., all sub-blocks) on one side of the block have the same motion information, motion compensation can be applied together (e.g., corresponding to MC0 in Fig. 21b). For example, motion compensation can be applied together to each side of the coding block.
[0095] Motion compensation can be applied taking into account the face to which the merged sub-block belongs. For example, if geometry padding is used, motion compensation can be applied using the corresponding padded face. Motion compensation using the corresponding padded face can derive one or more reference samples for interpolation.
[0096] When a face discontinuity crosses a block / subblock and the block / subblock has one motion vector, motion compensation can be divided into two or more motion compensation processes. For example, when face-based geometry padding is applied, motion compensation can be performed on one side (e.g., each side) of the face discontinuity. This technique can be similar to the concept used for the coding unit and / or prediction unit. For example, it can be determined whether a face discontinuity crosses a current coding unit (e.g., a current block). The current coding unit can be divided into one or more prediction units (e.g., one on each side of the face discontinuity). The prediction units can be used to perform motion compensation prediction. For example, motion compensation can be performed separately for each prediction unit. As illustrated in Figures 22a and 22b, when a coding unit is crossed by a face discontinuity, motion compensation can be applied separately (e.g., corresponding to MC0 and MC1 in Figure 22b). For example, motion compensation can be applied separately to the prediction units on each side of the face discontinuity. As illustrated in Figures 22a and 22b, if the coding unit is not crossed by a vertical and / or horizontal face discontinuity, motion compensation can be applied together (e.g., corresponding to MC0 in Figure 22a). For example, motion compensation can be applied to each side of the prediction unit together.
[0097] Partitioning can be applied based on the face discontinuity. For example, the partitioning can be implicit and / or explicit. The partitioning can align block boundaries with the face discontinuity, which can avoid blocks being crossed by the face discontinuity.
[0098] Cross-component linear model prediction (CCLMP) at the face discontinuity can be performed. Whether to enable or disable CCLMP for a block can be determined based on the location of the block, for example. For cross-component linear model prediction, the correlation between the reconstructed samples and the samples of the current block can be improved. For example, one or more reconstructed samples can be used to estimate the parameters of the linear model. Reconstructed samples located on the other side of the face discontinuity that the current block abuts can be discarded.
[0099] 23a-23b illustrate exemplary availability of reconstructed samples used for cross-component linear model prediction when a face discontinuity is located above (e.g., FIG. 23a) or to the left (e.g., FIG. 23b) of the current block. Reconstructed samples shown using a diagonal line pattern may be located on the other side of the face discontinuity and may be considered unavailable (e.g., determined to be unavailable for decoding the current block). For example, as shown in FIG. 23a, when a face discontinuity is located above the current block, reconstructed samples located above the current block may be discarded (e.g., not used to predict parameters of a linear model). In this case, the linear model parameters may be calculated as shown in Equation (7) and Equation (8).
[0100]
number
[0101]
number
[0102] As shown in Fig. 23b, if the face discontinuity is located on the left side of the current block, the reconstructed samples located on the left side of the current block can be discarded (e.g., not used to predict the parameters of the linear model). In this case, the linear model parameters can be calculated as shown in Equation (9) and Equation (10).
[0103]
number
[0104]
number
[0105] If a face discontinuity is located above and / or to the left of the current block, the reconstructed samples located above and / or to the left of the current block may be located on the other side of the face discontinuity and cross-component linear model prediction may be disabled for that block.
[0106] The same principles described herein can be applied to rectangular blocks (e.g., without the need to subsample the longer boundary to have the same number of samples as the shorter boundary). The cross-component linear model prediction described herein can be used to predict between two chroma components (e.g., in the sample domain or residual domain). One or more cross-component linear models can be used, and the cross-component linear model prediction can be defined for a particular range of sample values and applied as described herein.
[0107] Reconstructed samples located on the other side of the face discontinuity that the current block abuts can be considered unavailable (e.g., instead of being discarded) and can be padded using one or more available reconstructed samples.
[0108] At face discontinuities, decoder-side intra-mode derivation (DIMD) can be performed. A template can be discarded (e.g., marked as unavailable) in a DIMD search if some or all of the samples (e.g., reconstructed samples) from the template and / or some or all of the reference samples used to predict the template are located on the other side of the face discontinuity that the current block abuts (e.g., the samples are unavailable for decoding the current block).
[0109] For example, if a face discontinuity is located above the current block, one or more of the reconstructed samples from the top template and / or one or more of the reference samples located above the top template may be placed on the other side of the face discontinuity that the current block abuts. The top template may be discarded in the DIMD search.
[0110] For example, if a face discontinuity is located to the left of the current block, one or more of the reconstructed samples from the left template and / or one or more of the reference samples located to the left of the left template may be placed on the other side of the face discontinuity that the current block abuts. The left template may be discarded in the DIMD search.
[0111] Reconstructed samples that can be used to predict the template and that can be located on the other side of the face discontinuity that the current block abuts can be considered unavailable. This indication can be applied to the template and / or the reference samples and can be used to predict the template. Reconstructed samples that are considered unavailable can be padded (e.g., padded using available reconstructed samples).
[0112] The reconstructed sample can be placed on the other side of the face discontinuity that the current block abuts. Instead of frame-packed neighbors, one or more spherical neighbors can be used. The spherical neighbors can be derived by unfolding the geometry and using samples from adjacent faces. This is sometimes called face-based padding. For example, as shown in Figures 18A and 18B, the top template of block A can be derived from its spherical neighbor block E. For example, if there is a face discontinuity between block A and block D, block D cannot be used for padding.
[0113] DIMD can be disabled for a block based on the location of the block with respect to the face discontinuity. For example, DIMD can be disabled for one or more of the following: a block whose samples in the top and left templates are not located in the same face to which the current block belongs, and / or whose reference samples used to predict the top and left templates are not located in the same face to which the current block belongs.
[0114] Overlapped block motion compensation at face discontinuities may be performed. In order to avoid adjustment using inappropriate samples in OBMC, adjustment based on a neighboring block (or sub-block) located on the other side of the face discontinuity that the current block (or sub-block) abuts may be skipped. If the face discontinuity is located above the current block (or sub-block), adjustment of the first row of the current block (or sub-block) using the motion vector of the upper block (or sub-block) located on the other side of the face discontinuity may be skipped. If the face discontinuity is located below the current block (or sub-block), adjustment of the last row of the current block (or sub-block) using the motion vector of the lower block (or sub-block) located on the other side of the face discontinuity may be skipped. If the face discontinuity is located on the left side of the current block (or sub-block), adjustment of the first column of the current block (or sub-block) using the motion vector of the left block (or sub-block) located on the other side of the face discontinuity may be skipped. If the face discontinuity is located on the right side of the current block (or sub-block), the adjustment of the last column of the current block (or sub-block) using the motion vector of the right block (or sub-block) located on the other side of the face discontinuity can be skipped.
[0115] The adjustment of a block or sub-block may be skipped based on a face discontinuity that crosses the block or sub-block. For example, if a face discontinuity crosses the current block or sub-block, the adjustment of the block or sub-block boundary crossed by the face discontinuity may be skipped. When a horizontal face discontinuity crosses the current block or sub-block, the adjustment of the first and / or last column of the current block or sub-block may be skipped. When a vertical face discontinuity crosses the current block or sub-block, the adjustment of the first and / or last row of the current block or sub-block may be skipped.
[0116] The boundary of a block or sub-block may be crossed by a face discontinuity. If the boundary of the current block or sub-block is crossed by a face discontinuity, OBMC may be applied. For example, OBMC may be applied separately to a portion (e.g., each portion) of the block boundary that may be located on one side (e.g., each side) of the face discontinuity, for example, by considering corresponding neighboring MVs that are located in the same face as the boundary segment (e.g., each boundary segment).
[0117] A group of sub-blocks may exhibit similar (e.g., the same) motion information. For example, as illustrated in Figures 21a-21b, if the sub-blocks exhibit the same motion information, then OBMC may be applied (e.g., directly) to the group of sub-blocks (e.g., the entire group of sub-blocks).
[0118] Subblocks may be merged into one or more larger subblock groups based on their location relative to the face discontinuity. When one or more subblocks are merged into a larger subblock group, subblocks (e.g., only subblocks) that belong to the same face may be merged together. For example, if a block is traversed by a horizontal face discontinuity and subblocks (e.g., all subblocks) on the left side of the block have the same motion information, adjacent subblocks may be grouped together (e.g., into two groups). The adjacent subblocks grouped together may be used to perform external OBMC-based motion compensation. As seen in Figure 24c, these subblock groups may correspond to motion compensation (e.g., MC2 and MC3 in Figure 24c). As seen in Figure 24c, the groups may be located on one side of the face discontinuity.
[0119] OBMC-based motion compensation can be applied taking into account the face to which the sub-block belongs. For example, if geometry padding is performed, OBMC-based motion compensation can be applied using the corresponding padded face. OBMC can be disabled for groups and / or sub-blocks based on their location with respect to face discontinuity. For example, OBMC can be disabled for groups and / or sub-blocks that belong to a face different from that of the top-left position of the current block. In the example shown in FIG. 24c, OBMC-based motion compensation (e.g., MC3 in FIG. 24c) can be disabled.
[0120] OBMC can perform motion compensation for a current block or sub-block using MVs of neighboring blocks or sub-blocks. When a neighboring MV comes from a different face than the current block or sub-block, OBMC can be disabled for that MV. OBMC can combine one or more prediction signals using neighboring MVs to generate a final prediction signal for the current block. If a prediction signal generated using a neighboring MV uses samples from a different face than that of the current block or sub-block, OBMC can be disabled for that MV.
[0121] For example, a block or sub-block may be located below a face discontinuity. The left boundary of the block or sub-block may be adjusted. If the prediction signal is generated using a left neighboring motion vector (e.g., may come from the same face as the current block or sub-block) and / or uses a sample from above the face discontinuity, OBMC may be disabled for the left block or sub-block boundary.
[0122] In an example, OBMC for a block (or sub-block) located next to a face discontinuity may be disabled (e.g., completely disabled). In an example, OBMC for a block (or sub-block) traversed by a face discontinuity may be disabled (e.g., completely disabled).
[0123] At the face discontinuities, a deblocking filter can be applied.
[0124] Deblocking of a block boundary in the vicinity of a face discontinuity may be skipped when one or more (e.g., all) samples used in the deblocking filter are not located on the same side of the face discontinuity. For example, if there is a vertical block boundary in the vicinity of a vertical face discontinuity such that one or more (e.g., all) samples used in the deblocking filter are not located on the same side of the face discontinuity, the deblocking filter beyond this block boundary may be disabled. If there is a horizontal block boundary in the vicinity of a horizontal face discontinuity such that one or more (e.g., all) samples used in the deblocking filter are not located on the same side of the face discontinuity, the deblocking filter beyond this block boundary may be disabled.
[0125] A sample adaptive offset (SAO) filter may be applied at the face discontinuity. One or more categories of edge offset mode in SAO may be disabled where the samples used in the gradient calculation are on two different sides of the face discontinuity. For example, if the face discontinuity is located above or below the current sample position, the vertical and two diagonal categories may be disabled for that sample position. If the face discontinuity is located to the left or right of the current sample position, the horizontal and two diagonal categories may be disabled for that sample position. In an example, the edge offset mode in SAO may be disabled (e.g., completely disabled) for samples located next to the face discontinuity.
[0126] At face discontinuities, an adaptive loop filter (ALF) can be applied. The ALF can skip sample locations where the maximum filter crosses the face discontinuity. For example, the ALF can skip sample locations where the samples used in the filtering process are on two different sides of the face discontinuity. For a luma component that can use up to a 9×9 diamond filter (e.g., see FIG. 16(c)), the ALF can be disabled for samples that are located within four samples of the face discontinuity. For a chroma component that can use (e.g., only use) a 5×5 diamond filter (e.g., see FIG. 16(a)), the ALF can be disabled for samples that are located within two samples of the face discontinuity.
[0127] In an example, ALF may be disabled (e.g., completely disabled) for blocks located next to a face discontinuity and / or for blocks that include a face discontinuity. Disabling ALF may allow a decoder to perform a decision (e.g., whether ALF is on or off) at the block level. ALF may be adapted (e.g., turned on / off) at the picture level and / or block level. For example, ALF may be turned off for a given block when the block is affected by a face discontinuity (e.g., the block is crossed by or adjacent to a face discontinuity). Block level signaling may be skipped for a block, and ALF may be inferred to be off for that block.
[0128] The ALF classification process may skip one or more sample locations and / or blocks of sample locations where ALF filtering may be disabled. For example, the ALF classification may skip a sample location because the sample location is affected by a face discontinuity (e.g., the samples used in the classification process at that sample location are on two different sides of a face discontinuity). The ALF classification may skip a block if one or more samples within the block are affected by a face discontinuity. The ALF classification may be performed on 2×2 block units.
[0129] FIG. 25A is a diagram illustrating an example communication system 100 in which one or more disclosed embodiments may be implemented. 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 through sharing of system resources, including wireless bandwidth. For example, the communication system 100 may utilize 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-tailed 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).
[0130] 25A, the communications system 100 may include wireless transmit / receive units (WTRUs) 102a, 102b, 102c, 102d, a RAN 104 / 113, a CN 106 / 115, a public switched telephone network (PSTN) 108, the Internet 110, and other networks 112, although it will be understood that the disclosed embodiments contemplate any number of WTRUs, base stations, networks, and / or network elements. Each of the WTRUs 102a, 102b, 102c, 102d may be any type of device configured to operate and / or communicate in a wireless environment. By way of example, the WTRUs 102a, 102b, 102c, 102d, any of which may be referred to as a “station” and / or “STA,” may be configured to transmit and / or receive wireless signals and may include user equipment (UE), mobile stations, fixed or mobile subscriber units, subscription-based units, pagers, cellular phones, personal digital assistants (PDAs), smartphones, laptops, netbooks, personal computers, wireless 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 wireless devices operating in industrial and / or automated processing chain situations), consumer electronics devices, and devices operating on commercial and / or industrial wireless networks, etc. Any of the WTRUs 102a, 102b, 102c, 102d may be referred to interchangeably as UEs.
[0131] The communication system 100 may also include a base station 114a and / or a base station 114b. Each of the base stations 114a, 114b may be any type of device configured to wirelessly interface with at least one of the WTRUs 102a, 102b, 102c, 102d to facilitate access to one or more communication networks, such as the CN 106 / 115, the Internet 110, and / or other networks 112. By way of example, the base stations 114a, 114b may be a base transceiver station (BTS), a Node B, an eNode B, a Home Node B, a Home eNode B, a gNB, an NR Node B, a site controller, an access point (AP), a wireless router, and the like. Although the base stations 114a, 114b are each depicted as a single element, it will be understood that the base stations 114a, 114b may include any number of interconnected base stations and / or network elements.
[0132] The base station 114a may be part of the RAN 104 / 113, which may also include other base stations and / or network elements (not shown), such as a base station controller (BSC), a radio network controller (RNC), relay nodes, etc. 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, which may be referred to as 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 coverage for wireless services in a particular geographic area, which may be relatively constant or may change over time. A cell may be further divided into cell sectors. For example, the 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, one for each sector of the cell. In an embodiment, the base station 114a may utilize multiple-input multiple-output (MIMO) technology and may utilize multiple transceivers for each sector of the cell, e.g., beamforming may be used to transmit and / or receive signals in desired spatial directions.
[0133] 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).
[0134] More specifically, as mentioned above, the communication system 100 may be a multiple access system and may utilize one or more channel access schemes, such as CDMA, TDMA, FDMA, OFDMA, and SC-FDMA. 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 establish the air interface 115 / 116 / 117 using Wideband CDMA (WCDMA). 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 Uplink (UL) Packet Access (HSUPA).
[0135] 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 LTE Advanced (LTE-A), and / or LTE Advanced Pro (LTE-A Pro).
[0136] In an embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may implement a radio technology such as New Radio (NR) radio access, which may establish the air interface 116 using NR.
[0137] 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 implement LTE radio access and NR radio access together, e.g., using a dual connectivity (DC) principle. Thus, the air interface utilized 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).
[0138] In other embodiments, the base station 114a and the WTRUs 102a, 102b, 102c may implement a wireless technology such as IEEE 802.11 (i.e., Wireless Fidelity (WiFi)), IEEE 802.16 (i.e., Global Interoperability for Microwave Access (WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-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).
[0139] The base station 114b in FIG. 25A may be, for example, a wireless router, a Home NodeB, a Home eNodeB, or an access point, and may utilize any suitable RAT to facilitate wireless connectivity in a localized area, such as an office, a home, a vehicle, a campus, an industrial facility, an air corridor (e.g., used by drones), and a roadway. In one embodiment, the base station 114b and the WTRUs 102c, 102d may implement a wireless technology such as IEEE 802.11 to establish a wireless local area network (WLAN). In an embodiment, the base station 114b and the WTRUs 102c, 102d may implement a wireless technology such as IEEE 802.15 to establish a wireless personal area network (WPAN). In yet another embodiment, the base station 114b and the WTRUs 102c, 102d may establish a picocell or a femtocell using a cellular-based RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR, etc.). As shown in FIG. 25A, the base station 114b may have a direct connection to the Internet 110. Thus, the base station 114b may not need to access the Internet 110 via the CN 106 / 115.
[0140] The RAN 104 / 113 may communicate with the CN 106 / 115, which may be any type of network configured to provide voice, data, application, and / or Voice over Internet Protocol (VoIP) services to one or more of the WTRUs 102a, 102b, 102c, 102d. The data may have various Quality of Service (QoS) requirements, such as different throughput requirements, delay requirements, error resilience requirements, reliability requirements, data throughput requirements, and mobility requirements. The CN 106 / 115 may provide call control, billing services, mobile location-based services, prepaid calling, Internet connectivity, video distribution, and / or perform high-level security functions, such as user authentication. Although not shown in FIG. 25A, it will be appreciated that the RAN 104 / 113 and / or the CN 106 / 115 may communicate directly or indirectly with other RANs that utilize the same RAT as the RAN 104 / 113 or a different RAT. For example, in addition to being connected to the RAN 104 / 113, which may utilize NR radio technology, the CN 106 / 115 may also communicate with another RAN (not shown) that utilizes GSM, UMTS, CDMA2000, WiMAX, E-UTRA, or WiFi radio technology.
[0141] The CN 106 / 115 may also serve 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 providing plain old telephone service (POTS). The Internet 110 may include a global system of interconnected computer networks and devices that use common communications protocols, such as Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and / or Internet Protocol (IP) in the TCP / IP Internet protocol suite. The network 112 may include wired and / or wireless communications networks owned and / or operated by other service providers. For example, the network 112 may include another CN connected to one or more RANs that may utilize the same RAT as the RAN 104 / 113 or a different RAT.
[0142] Some or all of the WTRUs 102a, 102b, 102c, 102d in the communications 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). For example, the WTRU 102c shown in FIG. 25A may be configured to communicate with a base station 114a that may utilize a cellular-based wireless technology and with a base station 114b that may utilize an IEEE 802 wireless technology.
[0143] Figure 25B is a system diagram illustrating an example WTRU 102. As shown in Figure 25B, the WTRU 102 may include, 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, non-removable memory 130, removable memory 132, a power source 134, a Global Positioning System (GPS) chipset 136, and / or other peripherals 138. It will be understood that the WTRU 102 may include any subcombination of the above elements while remaining consistent with an embodiment.
[0144] The processor 118 can be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), multiple microprocessors, one or more microprocessors in conjunction 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, etc. The processor 118 can 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 can be coupled to the transceiver 120, which can be coupled to the transmit / receive element 122. Although FIG. 25B depicts 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.
[0145] The transmit / receive element 122 can be configured to transmit signals to or receive signals from a base station (e.g., base station 114a) over the air interface 116. For example, in one embodiment, the transmit / receive element 122 can be an antenna configured to transmit and / or receive RF signals. In an embodiment, the transmit / receive element 122 can be an emitter / detector configured to transmit and / or receive, for example, IR, UV, or visible light signals. In yet another embodiment, the transmit / receive element 122 can be configured to transmit and / or receive both RF and light signals. It will be appreciated that the transmit / receive element 122 can be configured to transmit and / or receive any combination of wireless signals.
[0146] 25B, the transmit / receive element 122 is depicted as a single element, the WTRU 102 may include any number of transmit / receive elements 122. More specifically, the WTRU 102 may utilize MIMO technology. Thus, in one embodiment, the WTRU 102 may include two or more transmit / receive elements 122 (e.g., multiple antennas) for transmitting and receiving wireless signals over the air interface 116.
[0147] The transceiver 120 may be configured to modulate signals to be transmitted by the transmit / receive element 122 and demodulate signals received by the transmit / receive element 122. As mentioned above, the WTRU 102 may have multi-mode capabilities. Thus, the transceiver 120 may include multiple transceivers to enable the WTRU 102 to communicate via multiple RATs, such as, for example, NR and IEEE 802.11.
[0148] The processor 118 of the WTRU 102 may be coupled to and may receive user input data from 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). The processor 118 may also output user data to the speaker / microphone 124, the keypad 126, and / or the display / touchpad 128. In addition, the processor 118 may obtain information from and store data in any type of 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, memory that is not physically located on the WTRU 102, such as located on a server or a home computer (not shown).
[0149] The processor 118 may receive power from the power source 134 and may be configured to distribute and / or control power to other components within 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 batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel-metal hydride (NiMH), lithium-ion (Li-ion), etc.), solar cells, fuel cells, etc.
[0150] The processor 118 may 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 information from the GPS chipset 136, the WTRU 102 may receive location information over the air interface 116 from a base station (e.g., base stations 114a, 114b) and / or may determine its location based on the timing of signals received from two or more nearby base stations. It will be appreciated that the WTRU 102 may acquire location information using any suitable location determination method while remaining consistent with an embodiment.
[0151] The processor 118 may further be coupled to other peripherals 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 peripherals 138 may include an accelerometer, an e-compass, a satellite transceiver, a digital camera (for photos and / or videos), a universal serial bus (USB) port, a vibration device, a television transceiver, a hands-free headset, a Bluetooth module, a frequency modulation (FM) radio unit, a digital music player, a media player, a video game player module, an Internet browser, a virtual reality and / or augmented reality (VR / AR) device, an activity tracker, and the like. The peripherals 138 may include one or more sensors, which may be one or more of a gyroscope, an accelerometer, a Hall effect sensor, an orientation sensor, a proximity sensor, a temperature sensor, a time sensor, a geolocation sensor, an altimeter, a light sensor, a touch sensor, a magnetometer, a barometer, a gesture sensor, a biometric sensor, and / or a humidity sensor.
[0152] The WTRU 102 may include a full-duplex radio where the transmission and reception of some or all of the signals (e.g., associated with a particular subframe for both the UL (e.g., for transmission) and the downlink (e.g., for reception)) may be parallel and / or simultaneous. The full-duplex radio may include an interference management unit to reduce and / or substantially eliminate self-interference via hardware (e.g., a choke) or via signal processing via a processor (e.g., a separate processor (not shown) or the processor 118). In an embodiment, the WTRU 102 may include a half-duplex radio for the transmission and reception of some or all of the signals (e.g., associated with a particular subframe for either the UL (e.g., for transmission) or the downlink (e.g., for reception).
[0153] 25C is a system diagram illustrating the RAN 104 and the CN 106, according to an embodiment. As mentioned above, the RAN 104 can communicate with the WTRUs 102a, 102b, 102c over the air interface 116 utilizing E-UTRA radio technology. The RAN 104 can also communicate with the CN 106.
[0154] The RAN 104 may include eNodeBs 160a, 160b, 160c, although it will be understood that the RAN 104 may include any number of eNodeBs while remaining consistent with an embodiment. The eNodeBs 160a, 160b, 160c may each include one or more transceivers for communicating with the WTRUs 102a, 102b, 102c over the air interface 116. In one embodiment, the eNodeBs 160a, 160b, 160c may implement MIMO technology. Thus, the eNodeB 160a, for example, may use multiple antennas to transmit wireless signals to and / or receive wireless signals from the WTRU 102a.
[0155] Each of the eNodeBs 160a, 160b, 160c may be associated with a particular cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, scheduling of users in the UL and / or DL, etc. As shown in Figure 25C, the eNodeBs 160a, 160b, 160c may communicate with each other over an X2 interface.
[0156] The CN 106 shown in Figure 25C 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 the CN 106, it will be understood that any of these elements may be owned and / or operated by an entity different from the CN operator.
[0157] The MME 162 may be connected to each of the eNodeBs 160a, 160b, 160c in the RAN 104 via an S1 interface and may act as a control node. For example, the MME 162 may be responsible for authenticating users of the WTRUs 102a, 102b, 102c, bearer activation / deactivation, selecting a particular serving gateway during initial attach of the WTRUs 102a, 102b, 102c, etc. The MME 162 may 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.
[0158] The SGW 164 may be connected to each of the eNodeBs 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 perform other functions, such as anchoring the user plane during inter-eNodeB handover, triggering paging when DL data is available to the WTRUs 102a, 102b, 102c, as well as managing and storing the context of the WTRUs 102a, 102b, 102c.
[0159] The SGW 164 may be connected to a 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.
[0160] 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 landline communications devices. For example, the CN 106 may include or communicate with an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that serves 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 owned and / or operated by other service providers.
[0161] Although in Figures 25A-25D the WTRU is described as a wireless terminal, it is contemplated that in certain representative embodiments such a terminal may use a wired communications interface (e.g., temporarily or permanently) with the communications network.
[0162] In an exemplary embodiment, the other network 112 may be a WLAN.
[0163] A WLAN in 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 have access or interface to a distribution system (DS) or another type of wired / wireless network that carries traffic within and / or outside the BSS. Traffic to a STA originating from outside the BSS may arrive through the AP and be delivered to the STA. Traffic originating from a STA to a destination outside the BSS may be sent to the AP for delivery to the respective destination. Traffic between STAs in the BSS may be sent through the AP, e.g., a source STA may send traffic to the AP, which may deliver the traffic to the destination STA. Traffic between STAs in the BSS may be considered and / or referred to as peer-to-peer traffic. Peer-to-peer traffic may be sent (e.g., directly) between a source STA and a destination STA using a direct link setup (DLS). In one representative embodiment, the DLS may use 802.11e DLS or 802.11z Tunneled DLS (TDLS). A WLAN using an Independent BSS (IBSS) mode may not have an AP, and STAs (e.g., all of the STAs) in or using an IBSS may communicate directly with each other. IBSS mode communication is sometimes referred to herein as an "ad-hoc" mode of communication.
[0164] When using 802.11ac infrastructure mode of operation or a similar mode of operation, an AP can transmit beacons on a fixed channel, such as a primary channel. The primary channel can be a fixed width (e.g., 20 MHz wide bandwidth) or a width dynamically set via signaling. The primary channel can be the operating channel of the BSS and can be used by STAs to establish a connection with the AP. In one representative embodiment, for example, in an 802.11 system, carrier sense multiple access / collision avoidance (CSMA / CA) can be implemented. With CSMA / CA, STAs (e.g., every STA), including the AP, can sense the primary channel. If the primary channel is sensed / detected and / or determined to be busy by a particular STA, the particular STA can back off. Within a given BSS, one STA (e.g., only one STA) can transmit at any given time.
[0165] High throughput (HT) STAs may use a 40 MHz wide channel for communication, for example, via combining a primary 20 MHz channel with adjacent or non-adjacent 20 MHz channels to form a 40 MHz wide channel.
[0166] A Very High Throughput (VHT) STA can support 20 MHz, 40 MHz, 80 MHz, and / or 160 MHz wide channels. The 40 MHz and / or 80 MHz channels can be formed by combining contiguous 20 MHz channels. The 160 MHz channel can be formed by combining eight contiguous 20 MHz channels or by combining two non-contiguous 80 MHz channels, which may be referred to as an 80+80 configuration. For the 80+80 configuration, the data, after channel encoding, can pass through a segment parser that can split the data into two streams. Inverse Fast Fourier Transform (IFFT) processing and time domain processing can be performed separately for each stream. The streams can be mapped onto two 80 MHz channels and the data can be transmitted by the transmitting STA. At the receiver of the receiving STA, the operations described above for the 80+80 configuration can be reversed and the combined data can be transmitted to the Medium Access Control (MAC).
[0167] Sub-1 GHz mode operation is supported by 802.11af and 802.11ah. Channel operating bandwidths and carriers are reduced in 802.11af and 802.11ah compared to those used in 802.11n and 802.11ac. 802.11af supports 5 MHz, 10 MHz and 20 MHz bandwidths in TV White Space (TVWS) spectrum, and 802.11ah supports 1 MHz, 2 MHz, 4 MHz, 8 MHz and 16 MHz bandwidths using non-TVWS spectrum. According to a representative embodiment, 802.11ah can support meter type control / machine type communication, such as MTC devices in macro coverage areas. MTC devices can have limited functionality, including, for example, support of (e.g., only) a certain bandwidth and / or limited bandwidth. MTC devices can include a battery with a battery life above a threshold (e.g., to maintain a very long battery life).
[0168] A WLAN system, such as 802.11n, 802.11ac, 802.11af, and 802.11ah, that may support multiple channels and channel bandwidths, includes a channel that may be designated as a primary channel. The primary channel may have a bandwidth equal to the maximum common operating bandwidth supported by all STAs in the BSS. The bandwidth of the primary channel may be set and / or limited by a STA that supports a minimum bandwidth operating mode among all STAs operating in the BSS. In an 802.11ah example, for a STA (e.g., an MTC type device) that supports (e.g., only supports) the 1 MHz mode, the primary channel may be 1 MHz wide, even if the AP and other STAs in the BSS support 2 MHz, 4 MHz, 8 MHz, 16 MHz, and / or other channel bandwidth operating modes. Carrier sensing and / or network allocation vector (NAV) setting may depend on the status of the primary channel. For example, if the primary channel is busy because a STA (that only supports a 1 MHz mode of operation) is transmitting to the AP, the entire available frequency band may be considered busy, even though most of the frequency band may remain idle and available.
[0169] In the United States, the available frequency bands that can be used by 802.11ah are 902MHz to 928MHz. In South Korea, the available frequency bands are 917.5MHz to 923.5MHz. In Japan, the available frequency bands are 916.5MHz to 927.5MHz. The total available bandwidth for 802.11ah is 6MHz to 26MHz, depending on country regulations.
[0170] 25D is a system diagram illustrating the RAN 113 and the CN 115 according to an embodiment. As mentioned above, the RAN 113 can communicate with the WTRUs 102a, 102b, 102c over the air interface 116 utilizing NR radio technology. The RAN 113 can also communicate with the CN 115.
[0171] The RAN 113 may include gNBs 180a, 180b, 180c, although it will be understood that the RAN 113 may include any number of gNBs while remaining consistent with an embodiment. The gNBs 180a, 180b, 180c may each include one or more transceivers for communicating 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, 108b may utilize beamforming to transmit signals to and / or receive signals from the gNBs 180a, 180b, 180c. Thus, the gNB 180a may transmit wireless signals to and / or receive wireless signals from the WTRU 102a using multiple antennas, for example. In an embodiment, the gNBs 180a, 180b, 180c may implement carrier aggregation techniques. For example, the gNB 180a may transmit multiple component carriers to the WTRU 102a (not shown). 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 multipoint (CoMP) techniques. For example, the WTRU 102a may receive coordinated transmissions from the gNBs 180a and 180b (and / or gNB 180c).
[0172] 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 vary for different transmissions, different cells, and / or different portions of the wireless 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., including different numbers of OFDM symbols and / or lasting for different lengths of absolute time).
[0173] 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., eNodeBs 160a, 160b, 160c). In a standalone configuration, the WTRUs 102a, 102b, 102c may utilize one or more of the gNBs 180a, 180b, 180c as mobility anchor points. In a standalone configuration, the WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c using signals in unlicensed bands. In a non-standalone configuration, the WTRUs 102a, 102b, 102c may communicate / connect to a gNB 180a, 180b, 180c while also communicating / connecting to another RAN, such as the eNodeBs 160a, 160b, 160c. For example, the WTRUs 102a, 102b, 102c may implement the DC principle to communicate with one or more gNBs 180a, 180b, 180c and one or more eNodeBs 160a, 160b, 160c substantially simultaneously. In a non-standalone configuration, the eNodeBs 160a, 160b, 160c may act as mobility anchors for the WTRUs 102a, 102b, 102c, and the gNBs 180a, 180b, 180c may provide additional coverage and / or throughput for serving the WTRUs 102a, 102b, 102c.
[0174] Each of the gNBs 180a, 180b, 180c can be associated with a particular cell (not shown) and can be configured to handle radio resource management decisions, handover decisions, scheduling of users in the UL and / or DL, support for network slicing, dual connectivity, interworking between NR and E-UTRA, routing of user plane data to User Plane Functions (UPFs) 184a, 184b, and routing of control plane information to Access and Mobility Management Functions (AMFs) 182a, 182b, etc. As shown in FIG. 25D, the gNBs 180a, 180b, 180c can communicate with each other over the Xn interface.
[0175] The CN 115 shown in Figure 25D may include at least one AMF 182a, 182b, at least one UPF 184a, 184b, at least one Session Management Function (SMF) 183a, 183b, and possibly a Data Network (DN) 185a, 185b. Although each of the above elements is depicted as part of the CN 115, it will be understood that any of these elements may be owned and / or operated by an entity different from the CN operator.
[0176] The AMF 182a, 182b may be connected to one or more of the gNBs 180a, 180b, 180c in the RAN 113 via an N2 interface and may act as a control node. For example, the AMF 182a, 182b may be responsible for authenticating users of the WTRUs 102a, 102b, 102c, supporting network slicing (e.g., handling different PDU sessions with different requirements), selecting a particular SMF 183a, 183b, managing registration areas, terminating NAS signaling, and mobility management, etc. Network slicing may be used by the AMF 182a, 182b to customize CN support for the WTRUs 102a, 102b, 102c based on the type of service utilized by the WTRUs 102a, 102b, 102c. Different network slices may be established for different use cases, such as, for example, services relying on ultra-reliable low latency (URLLC) access, services relying on eMBB access, and / or services for machine type communications (MTC) access, etc. The AMF 162 may provide a control plane function for switching between the RAN 113 and other RANs (not shown) that employ other radio technologies, such as LTE, LTE-A, LTE-A Pro, and / or non-3GPP access technologies such as WiFi.
[0177] The SMFs 183a, 183b can be connected to the AMFs 182a, 182b in the CN 115 via an N11 interface. The SMFs 183a, 183b can also be connected to the UPFs 184a, 184b in the CN 115 via an N4 interface. The SMFs 183a, 183b can select and control the UPFs 184a, 184b and configure the routing of traffic through the UPFs 184a, 184b. The SMFs 183a, 183b can perform other functions such as managing and assigning UE IP addresses, managing PDU sessions, controlling policy enforcement and QoS, and providing downlink data notification. The PDU session types can be IP-based, non-IP-based, Ethernet-based, etc.
[0178] The UPFs 184a, 184b may connect to one or more of the gNBs 180a, 180b, 180c in the RAN 113 via an N3 interface, 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. The UPFs 184a, 184b may perform other functions, such as routing and forwarding packets, enforcing user plane policies, supporting multi-homing PDU sessions, handling user plane QoS, buffering DL packets, as well as providing mobility anchoring.
[0179] The CN 115 may facilitate communication with other networks. For example, the CN 115 may include or communicate with an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that serves 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 connect to local data networks (DNs) 185a, 185b through the UPFs 184a, 184b via an N3 interface to the UPFs 184a, 184b and an N6 interface between the UPFs 184a, 184b and the DNs 185a, 185b.
[0180] In view of Figures 25A-D and the corresponding description thereof, one or more or all of the functions described herein with respect to one or more of the WTRUs 102a-d, base stations 114a-b, eNodeBs 160a-c, MME 162, SGW 164, PGW 166, gNBs 180a-c, AMFs 182a-b, UPFs 184a-b, SMFs 183a-b, DNs 185a-b, and / or any other devices described herein may be performed by one or more emulation devices (not shown). The emulation devices may be one or more devices configured to emulate one or more or all of the functions described herein. For example, the emulation devices may be used to test other devices and / or to simulate network and / or WTRU functions.
[0181] The emulation device can be designed to perform one or more tests of other devices in a laboratory environment and / or in an operator network environment. For example, the one or more emulation devices can perform one or more or all functions while fully or partially implemented and / or deployed as part of a wired and / or wireless communication network to test other devices in the communication network. The one or more emulation devices can perform one or more or all functions while temporarily implemented / deployed as part of a wired and / or wireless communication network. The emulation device can be directly coupled to another device for testing purposes and / or can perform the tests using over-the-air wireless communication.
[0182] The one or more emulation devices can perform one or more functions, including all functions, without being implemented / deployed as part of a wired and / or wireless communication network. For example, the emulation devices can be utilized in a test lab and / or in a test scenario in a non-deployed (e.g., test) wired and / or wireless communication network to perform testing of one or more components. The one or more emulation devices can be test equipment. Direct RF coupling and / or wireless communication via RF circuitry (which may include, for example, one or more antennas) can be used by the emulation devices to transmit and / or receive data.
[0183] Although features and elements have been described above in certain combinations, one skilled in the art will understand that each feature or element can be used alone or in any combination with other features and elements. In addition, the methods described herein can be implemented in a computer program, software, or firmware contained in a computer-readable medium executed by a computer or processor. Examples of computer-readable media include electronic signals (transmitted over a wired or wireless connection) and 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 optical media such as CD-ROM disks and digital versatile disks (DVDs). A processor associated with software can be used to implement a radio frequency transceiver for use in a WTRU, UE, terminal, base station, RNC, or any host computer.
Claims
1. 1. A method for video decoding, comprising: obtaining a virtual boundary loop filter disable indicator configured to indicate that loop filtering will be disabled across a virtual boundary in a picture; obtaining a virtual boundary position indicator based on the virtual boundary loop filter disable indicator configured to indicate that the loop filtering will be disabled across the virtual boundary in the picture, the virtual boundary position indicator configured to indicate a position along an axis associated with the virtual boundary at which the loop filtering will be disabled in the picture; determining a position of the virtual boundary at which the loop filtering is to be disabled in the picture based on the obtained virtual boundary position indicator; disabling the loop filtering across the determined location of the virtual boundary in the picture; A method for providing the above.
2. The method of claim 1 , wherein the virtual border position indicator is further configured to indicate a number of virtual borders in the picture.
3. The method of claim 1 , wherein the virtual border position indicator is further configured to indicate a number of virtual borders at which the loop filtering is to be disabled in the picture.
4. The method of claim 1 , wherein the virtual boundary position indicator is configured to indicate a beginning and an ending position of at least one virtual boundary.
5. 2. The method of claim 1 , wherein the virtual border position indicator comprises at least one of a vertical virtual border position indicator or a horizontal virtual border position indicator, the vertical virtual border position indicator configured to indicate a position along a horizontal axis associated with a vertical virtual border at which the loop filtering is to be disabled in the picture, and the horizontal virtual border position indicator configured to indicate a position along a vertical axis associated with a horizontal virtual border at which the loop filtering is to be disabled in the picture.
6. The method of claim 1 , wherein the picture comprises a frame-packed picture having multiple faces, and the virtual boundary in the picture comprises a face boundary in the picture.
7. The method of claim 1 , wherein the virtual boundary loop filter disable indicator is obtained at a sequence parameter set (SPS) level.
8. The method of claim 1 , wherein the loop filtering comprises at least one of an adaptive loop filter (ALF), a deblocking filter, or a sample adaptive offset (SAO) filter.
9. The method of claim 1 , wherein the picture is associated with a 360° video.
10. 1. An apparatus for video decoding, comprising: obtaining a virtual boundary loop filter disable indicator configured to indicate that loop filtering is to be disabled across a virtual boundary in a picture; obtaining a virtual boundary position indicator based on the virtual boundary loop filter disable indicator configured to indicate that the loop filtering will be disabled across the virtual boundary in the picture, the virtual boundary position indicator configured to indicate a position along an axis associated with the virtual boundary at which the loop filtering will be disabled in the picture; determining a position of the virtual boundary at which the loop filtering will be disabled in the picture based on the obtained virtual boundary position indicator; disabling the loop filtering across the determined location of the virtual boundary in the picture; Processor configured for An apparatus comprising:
11. The apparatus of claim 10 , wherein the virtual border position indicator is further configured to indicate a number of virtual borders in the picture.
12. The apparatus of claim 10 , wherein the virtual border position indicator is further configured to indicate a number of virtual borders at which the loop filtering is to be disabled in the picture.
13. The apparatus of claim 10 , wherein the virtual boundary position indicator is configured to indicate a beginning and an ending position of at least one virtual boundary.
14. 11. The apparatus of claim 10, wherein the virtual border position indicator comprises at least one of a vertical virtual border position indicator or a horizontal virtual border position indicator, the vertical virtual border position indicator configured to indicate a position along a horizontal axis associated with a vertical virtual border at which the loop filtering is to be disabled in the picture, and the horizontal virtual border position indicator configured to indicate a position along a vertical axis associated with a horizontal virtual border at which the loop filtering is to be disabled in the picture.
15. The apparatus of claim 10 , wherein the picture comprises a frame-packed picture having multiple faces, and the virtual boundary in the picture comprises a face boundary in the picture.
16. The apparatus of claim 10 , wherein the virtual boundary loop filter disable indicator is obtained at a sequence parameter set (SPS) level.
17. The apparatus of claim 10 , wherein the loop filtering comprises at least one of an adaptive loop filter (ALF), a deblocking filter, or a sample adaptive offset (SAO) filter.
18. The apparatus of claim 10 , wherein the picture is associated with a 360° video.
19. 1. A method for video encoding, comprising: determining to disable loop filtering across a virtual boundary in a picture; obtaining a virtual border position associated with the virtual border in the picture; including in the video data a virtual boundary loop filter disabling indicator and a virtual boundary position indicator, the virtual boundary loop filter disabling indicator configured to indicate that the loop filtering will be disabled across the virtual boundary in the picture, and the virtual boundary position indicator configured to indicate a position along an axis associated with the virtual boundary at which the loop filtering will be disabled in the picture. A method for providing the above.
20. The method of claim 19 , wherein the virtual border position indicator is further configured to indicate a number of virtual borders in the picture.
21. 20. The method of claim 19, wherein the virtual border position indicator is further configured to indicate a number of virtual borders at which the loop filtering is to be disabled in the picture.
22. The method of claim 19 , wherein the virtual boundary position indicator is configured to indicate a beginning and an ending position of at least one virtual boundary.
23. 20. The method of claim 19, wherein the virtual border position indicator comprises at least one of a vertical virtual border position indicator or a horizontal virtual border position indicator, the vertical virtual border position indicator configured to indicate a position along a horizontal axis associated with a vertical virtual border at which the loop filtering is to be disabled in the picture, and the horizontal virtual border position indicator configured to indicate a position along a vertical axis associated with a horizontal virtual border at which the loop filtering is to be disabled in the picture.
24. 20. The method of claim 19, wherein the picture comprises a frame packed picture having multiple faces, and the virtual boundary in the picture comprises a face boundary in the picture.
25. The method of claim 19 , wherein the virtual boundary loop filter disable indicator is obtained at a sequence parameter set (SPS) level.
26. 20. The method of claim 19, wherein the loop filtering includes at least one of an adaptive loop filter (ALF), a deblocking filter, or a sample adaptive offset (SAO) filter.
27. The method of claim 19 , wherein the picture is associated with a 360° video.
28. An apparatus for video encoding, comprising: determining to disable loop filtering across a virtual boundary in the picture; obtaining a virtual border position associated with the virtual border in the picture; including in the video data a virtual boundary loop filter disabling indicator and a virtual boundary position indicator, the virtual boundary loop filter disabling indicator configured to indicate that the loop filtering will be disabled across the virtual boundary in the picture, and the virtual boundary position indicator configured to indicate a position along an axis associated with the virtual boundary at which the loop filtering will be disabled in the picture. Processor configured for An apparatus comprising:
29. 30. The apparatus of claim 28, wherein the virtual border position indicator is further configured to indicate a number of virtual borders in the picture.
30. 30. The apparatus of claim 28, wherein the virtual border position indicator is further configured to indicate a number of virtual borders at which the loop filtering is to be disabled in the picture.
31. 30. The apparatus of claim 28, wherein the virtual boundary position indicator is configured to indicate a beginning and an ending position of at least one virtual boundary.
32. 30. The apparatus of claim 28, wherein the virtual border position indicator comprises at least one of a vertical virtual border position indicator or a horizontal virtual border position indicator, the vertical virtual border position indicator configured to indicate a position along a horizontal axis associated with a vertical virtual border at which the loop filtering is to be disabled in the picture, and the horizontal virtual border position indicator configured to indicate a position along a vertical axis associated with a horizontal virtual border at which the loop filtering is to be disabled in the picture.
33. 30. The apparatus of claim 28, wherein the picture comprises a frame packed picture having multiple faces, and the virtual boundary in the picture comprises a face boundary in the picture.
34. 30. The apparatus of claim 28, wherein the virtual boundary loop filter disable indicator is obtained at a sequence parameter set (SPS) level.
35. 30. The apparatus of claim 28, wherein the loop filtering includes at least one of an adaptive loop filter (ALF), a deblocking filter, or a sample adaptive offset (SAO) filter.
36. 30. The apparatus of claim 28, wherein the picture is associated with a 360 degree video.
37. A computer readable medium comprising instructions for video decoding, causing a processor to carry out a method according to any one of claims 1 to 9.
38. A computer readable medium comprising instructions for causing a processor to perform a method according to any one of claims 19 to 27 for video encoding.
Citation Information
Patent Citations
Limited offset compensation and video encoding / decoding method based on loop filter and device therefor
JP2014171227A
Bitstream limits for picture partitions across layers
JP2016529782A
Handling face discontinuities in 360-degree video coding
JP7343487B2
Handling face discontinuities in 360-degree video coding
JP7553671B2
Apparatus and Method for Video Encoding or Decoding
KR1020180042098A
