Handling face discontinuities in 360-degree video coding

By identifying and managing face discontinuities in 360-degree video coding, the system optimizes decoding processes to improve rendering efficiency and quality in VR systems.

JP2025183343APending Publication Date: 2025-12-16INTERDIGITAL VC HOLDINGS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025151184
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-02-09
Filing Date
2025-09-11
Publication Date
2025-12-16

AI Technical Summary

Technical Problem

Existing 360-degree video coding technologies struggle with face discontinuities, leading to inefficiencies in decoding and rendering due to the non-uniform sampling density and discontinuous boundaries between adjacent blocks in projections like cube-map geometry.

Method used

The system determines face discontinuities by identifying blocks on opposite sides of a boundary and adjusts decoding processes such as intra-prediction, inter-prediction, and filtering methods to handle these discontinuities, ensuring only spatially and temporally correlated samples are used for prediction and filtering.

Benefits of technology

This approach enhances the decoding efficiency and quality of 360-degree video by minimizing the impact of face discontinuities, improving the rendering and viewer experience in VR systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025183343000001_ABST
    Figure 2025183343000001_ABST
Patent Text Reader

Abstract

To provide systems, methods and instrumentalities for discounting reconstructed samples and / or coding information from spatial neighbors across face discontinuities.SOLUTION: Whether a current block is located at a face discontinuity may be determined. The face discontinuity may be a face boundary between two or more adjoining blocks that are not spherical neighbors. The coding availability of a neighboring block of the current block may be determined, e.g., based on whether the neighboring block is on the same side of the face discontinuity as the current block. For example, the neighboring block may 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. The neighboring block may be a spatial neighboring block or a temporal neighboring block.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to handling face discontinuities in 360-degree video coding. [Background technology]

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application No. 62 / 560992, filed September 20, 2017, U.S. Provisional Application No. 62 / 622551, filed January 26, 2018, U.S. Provisional Application No. 62 / 625575, filed February 2, 2018, and U.S. Provisional Application No. 62 / 628752, 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, games, 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 so on. 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, a neighboring block may 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. 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 a 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 a 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 a 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 usability 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 usable 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 including unavailable reconstructed samples can be marked as unavailable.

[0009] The current block can be crossed by a face discontinuity. The current block can be divided into two or more prediction units (PUs). The PUs can be separated by face discontinuities. Motion compensation can 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 cross-component linear model prediction, 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 may include frame packing information identifying an edge corresponding to the face discontinuity. In an example, the face discontinuity indication may include an indication of whether a boundary between two faces is continuous or discontinuous. In an example, the face discontinuity indication may include an indication of endpoint coordinates of the face discontinuity. The determination and / or signaling of the face discontinuity may be performed.

[0012] For intra-prediction and inter-prediction, if a block is located on the right side of a face discontinuity, its left, upper-left, and lower-left frame-packed neighbor blocks may be located on the other side of the face discontinuity and may 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 may be applied to a current block that may be located on the left, above, and / or below the face discontinuity. The coding availability of spatial candidates at the face discontinuity may be determined.

[0013] For intra-prediction and inter-prediction, if a block is located to the right of a face discontinuity, reconstructed samples located to the left of the block may be located on the other side of the face discontinuity and may be uncorrelated with samples of the current block. In this case, the reconstructed samples may be considered unavailable for one or more prediction methods, such as DC, planar, and / or angular modes in intra-prediction, frame rate up-conversion (FRUC) template modes, and local illumination compensation (LIC) modes in inter-prediction. Similar considerations may apply to a current block located to the left, above, and / or below a face discontinuity. The coding availability of reconstructed samples at the face discontinuity may be determined.

[0014] For cross-component linear model prediction, the 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 to the right (or below) of the face discontinuity, the reconstructed samples located to the left (or above) of the face discontinuity can be discarded to estimate the parameters of the linear model. The derivation of the linear model parameters can be performed.

[0015] The template on one side of the face discontinuity can be discarded for the DIMD search. For example, if a block is located near the right (e.g., bottom) or right (e.g., bottom) side of the face discontinuity, and some or all of the samples from the left (e.g., top) template and / or some or all of the samples from the left (e.g., top) reference sample used to predict the left (e.g., top) 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 the DIMD search. The use of the top and left templates near the face discontinuity in the 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 current blocks (or sub-blocks) 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, so 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 to the right of a face discontinuity, the horizontal category and the two diagonal categories in edge offset mode can be disabled for that sample position because the sample used in 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 to the left, above, and / or below the face discontinuity. The SAO process at the face discontinuity can be performed.

[0019] For ALF, if the current luma (or chroma) sample is located within four (or two) samples from a face discontinuity, one or more samples used in the 9x9 (or 5x5) diamond filter may be located on the other side of the face discontinuity and may be uncorrelated with the current sample, so the ALF may be disabled for that sample position. The ALF may be performed at the face discontinuity. [Effects of the Invention]

[0020] This paper provides a method for handling face discontinuities in 360-degree video coding. [Brief explanation of the drawings]

[0021] [Figure 1a] FIG. 1 illustrates 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. 1 illustrates an example picture generated using ERP. [Figure 2A] FIG. 1 illustrates an exemplary 3D geometry structure in cube map projection (CMP). [Figure 2B] FIG. 1 illustrates an example 2D plane with 6 faces in a 3x2 frame packing. [Figure 2C] FIG. 1 illustrates an example picture generated using cube map projection. [Figure 3] FIG. 1 illustrates an exemplary 360-degree video processing. [Figure 4] FIG. 2 is a block diagram of an exemplary block-based encoder. [Figure 5] FIG. 2 is a block diagram of an exemplary block-based decoder. [Figure 6] FIG. 1 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. 10 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 exemplary inter prediction (uni-prediction) using one motion vector. [Figure 10] 1 is a diagram of example spatial neighbors used in deriving spatial merge candidates in the HEVC merging process. [Figure 11a] FIG. 10 illustrates sample examples involved in deblocking filter (DBF) on / off decision, filter selection, and filtering. [Figure 11b] FIG. 10 illustrates sample examples involved in deblocking filter (DBF) on / off decision, filter selection, and filtering. [Figure 12] 1A-1D show 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. 10 illustrates exemplary locations of samples used for the derivation of α and β in cross-component linear model prediction. [Figure 14] FIG. 1 illustrates an exemplary overlapped block motion compensation. [Figure 15] FIG. 10 illustrates an example associated with local illumination compensation. [Figure 16] 1A-1C illustrate examples of adaptive loop filter (ALF) shapes: (a) 5x5 diamond, (b) 7x7 diamond, and (c) 9x9 diamond filter shapes. [Figure 17] FIG. 1 illustrates an example with target, template, and reference samples in decoder-side intra-mode derivation (DIMD). [Figure 18] 1A-1B illustrate an exemplary CMP, (a) a 3D representation, and (b) a 3x2 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 the current block. [Figure 20a] FIG. 10 illustrates exemplary availability of reconstructed samples when a face discontinuity is located above the current block (a). [Figure 20b] FIG. 10 illustrates exemplary availability of reconstructed samples when a face discontinuity is located below the current block (b). [Figure 20c] FIG. 10 illustrates exemplary availability of reconstructed samples when a face discontinuity is located to the (c) left of the current block. [Figure 20d] FIG. 10 illustrates exemplary availability of reconstructed samples when a face discontinuity is located to the right of the current block (d). [Figure 21a] FIG. 1(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. 1(a) illustrates an exemplary comparison of motion compensation. [Figure 22b] (b) An exemplary comparison of motion compensation near a face discontinuity. [Figure 23a] FIG. 10 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. 10 illustrates an exemplary availability of reconstructed samples used for cross-component linear model prediction when a face discontinuity is located to the (b) left of the current block. [Figure 24a]FIG. 1 shows an example comparison of outer overlapped block motion compensation (OBMC) based motion compensation based on (a) OBMC design. [Figure 24b] (b) An exemplary comparison of outer overlapped block motion compensation (OBMC) based motion compensation based on row / column based sub-block merging. [Figure 24c] (c) An exemplary comparison of outer 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] 25B is a system diagram of an exemplary wireless transmit / receive unit (WTRU) that can be used within the communication system illustrated in FIG. 25A according to an embodiment. [Figure 25C] 25B is a system diagram of an exemplary radio access network (RAN) and core network (CN) that can be used within the communication system of FIG. 25A according to an embodiment. [Figure 25D] FIG. 25B is a system diagram of a further exemplary RAN and CN that can be used within the communication system illustrated in FIG. 25A according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION

[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] A 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 horizontally and a 180-degree angle vertically. VR systems and 360-degree videos can be used for media consumption beyond ultra-high definition (UHD) services. Free viewpoint TV (FTV) can test the performance of solutions. For example, FTV can test the performance of 360-degree video (or, e.g., omnidirectional video)-based systems and / or multi-view-based systems.

[0024] The VR system may include a processing chain. The processing chain may include capturing, processing, display, and / or application. Regarding capturing, the VR system may use one or more cameras to capture a scene from a variety of different 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 visibility) the image displayed within the HMD. The head tracking sensor may keep track (e.g., constantly track) of the viewer's head orientation. 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, the HMD display, and / or the head tracking sensor. The spatial resolution of the HMD can be, for example, 2160 x 1200. The refresh rate can be, for example, 90 Hz. The field of view (FOV) can be, for example, approximately 110 degrees.The sampling rate for the head tracking sensor can be, for example, 1000 Hz 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. It can provide one or more 360-degree video streaming services.

[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 2160x1200 resolution 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 can be enhanced by combining the visual effects of a 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 video can be compressed and delivered using, for example, Dynamic Adaptive Streaming over HTTP (DASH)-based video streaming techniques. 360-degree video content can be represented using a spherical geometry structure. For example, multiple synchronized views can be captured by multiple cameras and stitched together on a spherical surface. The synchronized views can be stitched together on a spherical surface as a (e.g., one) monolithic structure. Spherical information can be projected onto a 2D plane through a geometric transformation process. For example, spherical information can be projected onto a 2D plane using equirectangular projection (ERP). Figure 1a shows exemplary spherical sampling in longitude (φ) and latitude (θ). Figure 1b shows an exemplary sphere projected onto a 2D plane using ERP. A longitude φ in the range [-π,π] is sometimes referred to as yaw (e.g., in aeronautics), and a latitude θ in the range [-π / 2,π / 2] is sometimes 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 after the ERP. The ERP can be expressed mathematically, for example, as shown in Equation (1) and / or Equation (2).

[0027] ue=(φ / (2×π)+0.5)×W (1) ve=(0.5-θ / π)×H (2) where 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 spherical surface. 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 spherical surface shown in the figure, for example, via back projection. The field of view (FOV) in FIG. 1b shows an example of an FOV in a sphere mapped to a 2D plane, such that the field of view angle along the X-axis is approximately 110 degrees.

[0028] One or more 360-degree videos can be mapped to 2D videos. For example, 360-degree videos can be mapped to 2D videos using ERP. The 360-degree videos can be encoded and delivered to a client using a video codec such as H.264 or High Efficiency Video Coding (HEVC). For example, 360-degree videos can be mapped to 2D videos, and the 2D videos can be encoded and delivered to a client. On 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 a portion of the equirectangular view picture that belongs to the FOV on an HMD. The characteristics of an equirectangular view 2D picture can differ from those of a non-equirectangular view 2D picture (e.g., a 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 Figure 1c, the top and bottom of the ERP picture, which may correspond to the North Pole and South Pole, respectively, may be elongated compared to the center of the picture. For ERP formats, the spherical sampling density may be non-uniform. Various geometry projection formats can be used to map 360-degree video onto multiple faces. Figure 2A shows an example of cube-map projection (CMP) geometry. CMP may include six square faces, which may be labeled PX, PY, PZ, NX, NY, and NZ, where P may represent positive, N may represent negative, and X, Y, and Z may refer to the axes. These faces may also be labeled using numbers 0 through 5, such as PX(0), NX(1), PY(2), NY(3), PZ(4), and NZ(5). For example, if the radius of the inscribed sphere is 1, the horizontal length of each face may be 2. Six faces in the CMP format may be packed together within a single picture. Some faces may be rotated by an angle, for example, to maximize continuity between neighboring faces. FIG. 2B illustrates an exemplary packing method for arranging six faces within a rectangular picture, with the face indexes (e.g., each face index) aligned with the corresponding rotation of the face (e.g., for better visualization). For example, face #3 and face #1 may be rotated 270 and 180 degrees counterclockwise, respectively, while the other faces may not be rotated. An exemplary picture using CMP is provided 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 and bottom face rows may not be spatially contiguous in the 3D geometry, and a seam (e.g., a discontinuous boundary) may exist 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 a sampling density equal to 1 at the center of a face (e.g., each face), the sampling density may increase toward the edge, meaning that the texture around the edge may be stretched compared to that in the center. In different cube-map-based projections, such as conformal cube-map projection (EAC) and / or adjusted cube-map projection (ACP), faces (e.g., each face) can be adjusted using a nonlinear distortion function in the vertical and / or horizontal directions to achieve a more uniform sampling density. In EAC, the adjustment can be performed using a tangent function, while in ACP, the adjustment can be performed using a quadratic polynomial function. A generalization of EAC and ACP, sometimes called hybrid cube-map projection (HCP), can be used. In HCP, the adjustment function and its parameters are adjusted individually for faces (e.g., each face) and directions, which can provide better coding efficiency. Cube-based projections can be packed in a manner similar to that for CMP.

[0031] FIG. 3 illustrates an exemplary 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 view geometry structure. The equirectangular view geometry structure can be converted to another geometry structure, such as a cube-map geometry, for encoding (e.g., encoding with a video codec). The encoded video can be delivered 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 view geometry. The geometry can be used for rendering. For example, the geometry can be used for rendering via viewport projection according to a user's viewing angle.

[0032] FIG. 4 shows a block diagram of an exemplary block-based hybrid video encoding system 600. An input video signal 602 can be processed block by block. Extended block sizes (e.g., referred to as coding units or CUs) can be used (e.g., in HEVC) to compress high-resolution (e.g., 1080p and / or higher) video signals. A CU can have up to 64×64 pixels (e.g., in HEVC). A CU can be partitioned into prediction units or PUs, to which separate predictions can be applied. Spatial prediction 660 or temporal prediction 662 can be performed on input video blocks (e.g., macroblocks (MBs) or CUs). Spatial prediction (or, e.g., intra prediction) can predict a current video block using pixels belonging to already-encoded neighboring blocks within the same video picture and / or slice. Spatial prediction can reduce spatial redundancy inherent in a video signal. Temporal prediction (e.g., referred to as inter prediction or motion-compensated prediction) can predict a current video block using pixels belonging to already-encoded video pictures. Temporal prediction can reduce temporal redundancy inherent in a video signal. A temporal prediction signal for a given video block may be conveyed by a motion vector, which indicates the amount and / or direction of motion between the 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 may be conveyed to the decoder. The reference index may be used to identify which reference picture in the reference picture store 664 the temporal prediction signal can come from.

[0033] After spatial and / or temporal prediction, a mode decision 680 within the encoder may select a prediction mode based on, for example, 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] Figure 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 a sample value 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 neighboring reconstructed samples to the left and / or above, as indicated by the shaded boxes in Figure 6.

[0036] FIG. 7 illustrates an exemplary indication of angular intra prediction modes. 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. A planar prediction mode can, for example, generate a first-order approximation for the current block using reconstructed samples above and to the left. An angular prediction mode can be designed (e.g., specially designed) to predict directional texture. An intra prediction mode can be selected (e.g., at the encoder side). For example, an intra prediction mode 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. An intra prediction mode can be selected based on minimizing the rate-distortion cost using rate-distortion optimization. An intra prediction mode can be encoded, for example, using a most probable mode for intra coding (MPM). MPM can reuse the intra angular mode of spatially neighboring PUs. Figure 8 illustrates an example of spatial neighbors used to derive an MPM in the HEVC intra-angle process. Figure 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. Motion vector information can be coded, for example, by using motion vector prediction and / or merge mode for inter coding. Motion vector prediction can use a motion vector from a spatially neighboring PU or a temporally co-located PU as a predictor for 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 use an entry with the signaled index as a predictor for the MV of the current PU. The merge mode can reuse 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 examples 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 on the decoder side (e.g., in the same manner as in the encoder). The entry with the signaled merge candidate index can be used as the MV for 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) can be applied to one or more reconstructed samples. The DBF can be configured to reduce blocking artifacts resulting from block-based coding. The DBF can 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. Horizontal filtering can be applied (e.g., applied first) to vertical boundaries, and vertical filtering can be applied to horizontal boundaries. Figures 11a and 11b illustrate example 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 boundary can be filtered with horizontal (or vertical) filtering, depending on the filter strength, as shown in Figures 11a and 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 lookup table sent by the encoder. SAO can have one or more (e.g., two) operating modes: 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, which can be conveyed for each coding tree unit (CTU). In edge offset mode, horizontal gradients, vertical gradients, and two diagonal gradients can be used for classification, as shown in FIG. 12. FIG. 12 illustrates four example 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. An RGB to YUV color conversion 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. (e.g., given a chroma block consisting of NxN samples), the value of a given chroma sample 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 exemplary locations of samples used for deriving α and β in cross-component linear model prediction. For example, Figure 13 provides the locations of neighboring reconstructed samples above and to the left used for deriving α 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] Overlapping block motion compensation (OBMC) can be used to remove one or more blocking artifacts in the motion compensation stage. OBMC can be performed on one or more (e.g., all) inter-block boundaries except the right and bottom boundaries of a block. When a video block is coded in a sub-block mode (e.g., advanced temporal motion vector prediction (ATMVP) and / or spatio-temporal motion vector prediction (STMVP)), OBMC can be performed on sub-block boundaries (e.g., each of the sub-block boundaries). Figure 14 illustrates an exemplary concept of OBMC. When OBMC is applied to a sub-block (e.g., sub-block A in Figure 14), the motion vector of the current sub-block as well as the motion vector of up to four neighboring sub-blocks can be used to derive a prediction signal for the current sub-block. Multiple prediction blocks using the motion vectors of the neighboring sub-blocks can be averaged to generate a final prediction signal for the current sub-block.

[0048] In OBMC, a weighted average can be used to generate a prediction signal for 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 at the same positions 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 a 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 a 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 a 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 the 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 the PC. When the current block is coded in subblock mode, the first two rows / columns of the PN and PC can be averaged. In this case, one or more weighting factors (e.g., {1 / 4, 1 / 8}) can be used for the PN, and one or more weighting factors (e.g., {3 / 4, 7 / 8}) can be used for the 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 inter-coded blocks (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., a template) of the current block and their corresponding reference samples in a 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, shaded samples (e.g., only shaded samples) may be used to derive a and b.

[0051] An adaptive loop filter (ALF) can be used. For the luma component, one or more (e.g., up to three) diamond filter shapes can be selected, for example, 5x5, 7x7, and 9x9, as shown in Figures 16(a), 16(b), and 16(c), respectively. Figure 16 illustrates exemplary ALF filter shapes. The selected filter can be signaled at the picture level. For the chroma components, the 5x5 diamond shape can be used (e.g., always used). For the luma component, 2x2 blocks (e.g., each 2x2 block) can be classified into one of 25 categories to select appropriate filter coefficients for that block. For the chroma components, classification may not be performed; for example, one set of coefficients can be used for one or more (e.g., all) chroma samples. Classification can be performed by analyzing the gradient activity and directionality in the neighborhood around each 2x2 block. The horizontal gradient, gradient, and two diagonal gradients can be calculated using a 1-D Laplacian in a 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., in an encoder and / or decoder) from neighboring samples of a block (e.g., neighboring reconstructed samples of a 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 diagonal pattern area in Figure 17) can indicate a set of samples (e.g., already reconstructed samples). The samples can be used to derive the 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 base 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 each 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 a frame-packed picture (e.g., despite a compact face arrangement). For example, FIG. 2C illustrates a 3×2 CMP example. 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 the discontinuities, neighboring blocks in a 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 may be a frame-packed neighbor located above block A. A frame-packed neighbor may be or include a block neighboring a current block in a frame-packed picture. A spherical neighbor may be or include a block neighboring a current block in 3D geometry. A frame-packed neighbor may also be a spherical neighbor. Considering 3D geometry, block E may be a spherical neighbor located above block A. When a video codec designed for 2D video is used, frame-packed neighbor D may be used to predict 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 appropriate for predicting A (e.g., due to the inherent discontinuity between D and A), which may result in poor coding efficiency. To predict a current block (e.g., block A), a spherical neighbor (e.g., block E) can 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 the sample level (e.g., for intra-prediction and / or to derive reference samples for cross-component linear models). To derive the 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 can be processed in raster scan order. Information from a limited number of frame-packed neighboring blocks can 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 Figure 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 neighboring block can be used to predict a current block if (e.g., only if) the frame-packed neighboring block is a spherical neighboring block of the current block. For the example shown in Figures 18(a)-18(b), block B can be a frame-packed spherical neighbor of block A, while blocks C and D can be frame-packed neighbors of 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), information can be inferred using left (L), top (A), top right (AR), top left (AL), and bottom left (BL) neighbors (see, e.g., FIGS. 8 and 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 neighboring blocks can be located on the other side of the face discontinuity and can be considered unavailable for inferring attributes, such as deriving a list of most probable modes in intra prediction, deriving motion vector prediction and / or motion vector candidates in merge mode, 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., Figures 6 and 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., Figures 6 and 13) may be located on the other side of the face discontinuity and may be uncorrelated with samples of the current block. In this case, the reconstructed samples may be considered unusable 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 can 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 3D geometry.

[0062] Face discontinuities within a frame-packed picture can be determined. In an example, frame packing information can be conveyed in a bitstream to identify one or more faces (e.g., each face) within the frame-packed picture. For one or more (e.g., every) pairs of neighboring faces within a frame-packed picture, if the two faces share the same edge in their 3D geometry, the shared edge can be defined as continuous. If the two faces do not share the same edge in their 3D geometry, the edge can 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), and (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 contiguous. 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 arranged 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 face rows 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 face columns 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 endpoints of one or more face discontinuities (e.g., each face discontinuity) in a frame-packed picture may be conveyed (e.g., explicitly conveyed). Endpoints for horizontal and / or vertical discontinuities may be conveyed. Endpoints for diagonal discontinuities may be conveyed. Diagonal discontinuities may be used, for example, for triangle-based geometries (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 within 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 within 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 within 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 within the frame-packed picture of the end point of the ith 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 can be signaled (e.g., instead of and / or in addition to) at the sequence and / or picture level. A fixed-length encoding of a syntax element can be used (e.g., instead of ue(v)). The bit length of a syntax element can be determined by ceil(log2(picture_width)), or ceil(log2(picture_height)).

[0079] When one or more example 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 and a list of L horizontal face discontinuities, which can be denoted as: d and B dTwo corner points in the frame-packed picture can be determined, which can be denoted as C. A block can be identified by 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 whether 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 below, to the left, and / or to the 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 block can be of a predetermined size, e.g., 4x4. During encoding / decoding for the current block, it can be determined whether a discontinuity exists.

[0083] 2B illustrates an exemplary 3x2 cube map frame packing. In FIG. 2C, a horizontal discontinuity may occur in the center of the picture, and a vertical discontinuity may not exist. Blocks bordering the discontinuity line and / or samples located above the discontinuity line may have their discontinuity flags set to true. One or more other blocks (e.g., all other blocks) and / or samples may have their discontinuity flags set to false.

[0084] The locations of face boundaries (e.g., the locations of all face boundaries in a frame-packed picture) can be signaled. The locations of discontinuous face boundaries in a frame-packed picture can be signaled (e.g., only signaled). For face boundaries (e.g., each face boundary), a flag can be signaled. The flag can indicate whether the face boundary is continuous or discontinuous.

[0085] Spatial candidates at face discontinuities can be identified.

[0086] For example, information about the most probable mode in intra prediction, spatio-temporal motion vector prediction (STMVP), OBMC, and / or merge mode in inter prediction can be inferred from neighboring blocks. Neighboring blocks can be spatial neighboring blocks or temporal neighboring blocks. Whether a 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 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 that are 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 neighboring blocks. The decoding function may include deriving a merge mode for the current block. For example, if a 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 a neighboring block is determined to be unavailable, the neighboring block 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)) of the current block. Blocks depicted using diagonal patterns 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 upper-left, upper, and / or upper-right neighboring blocks may be considered unavailable. As shown in FIG. 19(b), if the face discontinuity is located below the current block, the lower-left neighboring block may be considered unavailable. If the face discontinuity is located to the left of the current block, the upper-left, left, and / or lower-left neighboring blocks can be considered unavailable, as shown in Figure 19(c). If the face discontinuity is located to the right of the current block, the upper-right neighboring block can be considered unavailable, as shown in Figure 19(d).

[0089] Whether a reconstructed sample at a face discontinuity can be used to predict a current block can be determined, for example, based on 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, for example, based on 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). Reconstructed samples that are considered unavailable can be padded with available reconstructed samples. For example, reconstructed samples that are 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 shown using diagonal patterns in FIGS. 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. As shown in FIG. 20b, if a face discontinuity is located below the current block, 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 on a different face.

[0093] Motion compensation can be performed at face discontinuities. Inter-prediction modes (e.g., FRUC, alternate temporal motion vector prediction (ATMVP), spatial-temporal motion vector prediction (STMVP), and / or affine motion compensation prediction) can utilize sub-block-based motion vector prediction. For example, if a group of sub-blocks has the same motion information, motion compensation can be applied (e.g., directly) to the group of sub-blocks (e.g., the entire group of sub-blocks). When one or more sub-blocks are merged into a larger sub-block group (e.g., as a motion compensation unit), sub-blocks 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 Figures 21a-21c, if a coding block is crossed 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 Figure 21c). For example, motion compensation can be applied separately to one or more groups on each side of the face discontinuity. As illustrated in Figures 21a-21c, if a coding block is not crossed 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 Figure 21b). For example, motion compensation can be applied to each side of the coding block together.

[0095] Motion compensation can be applied taking into account the faces to which the merged sub-blocks belong. For example, if geometry padding is used, motion compensation can be applied using the corresponding padded faces. Motion compensation using the corresponding padded faces can derive one or more reference samples for interpolation.

[0096] When a face discontinuity crosses a block / sub-block and the block / sub-block 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 coding units and / or prediction units. 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). Motion-compensated prediction can be performed using the prediction units. 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 a coding unit is not crossed by a vertical and / or horizontal face discontinuity, motion compensation can be applied jointly (e.g., corresponding to MC0 in Figure 22a). For example, motion compensation can be applied jointly to each side of a prediction unit.

[0097] Partitioning can be applied based on face discontinuities. For example, the partitioning can be implicit and / or explicit. The partitioning can align block boundaries with face discontinuities, which can prevent blocks from being crossed by the face discontinuities.

[0098] Cross-component linear model prediction (CCLMP) at face discontinuities can be performed. Whether to enable or disable CCLMP for a block can be determined, for example, based on the location of the block. For cross-component linear model prediction, the correlation between reconstructed samples and samples of the current block can be improved. For example, one or more reconstructed samples can be used to estimate parameters of a 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 indicated using diagonal patterns may be located on the other side of the face discontinuity and may be considered unusable (e.g., determined to be unusable 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 the linear model). In this case, the linear model parameters may be calculated as shown in Equations (7) and (8).

[0100]

number

[0101]

number

[0102] As shown in Figure 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 can be placed on the other side of the face discontinuity, and cross-component linear model prediction can be disabled for that block.

[0106] The same principles as 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 specific 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 located 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 can be placed on the other side of the face discontinuity that the current block abuts. The left template can 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 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. 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 block's location relative to a 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] Overlapping block motion compensation at face discontinuities can be performed. 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 adjacent to the current block (or sub-block) can 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 can 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 can be skipped. If the face discontinuity is located to the left 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 can 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. When the boundary of a current block or sub-block is crossed by a face discontinuity, OBMC may be applied. For example, OBMC may be applied separately to portions (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, OBMC may be applied (e.g., directly) to the group of sub-blocks (e.g., the entire group of sub-blocks).

[0118] Sub-blocks may be merged into one or more larger sub-block groups based on their location relative to the face discontinuity. When one or more sub-blocks are merged into a larger sub-block group, sub-blocks (e.g., only sub-blocks) belonging to the same face may be merged together. For example, if a block is crossed by a horizontal face discontinuity and the sub-blocks (e.g., all sub-blocks) on the left side of the block have the same motion information, adjacent sub-blocks may be grouped together (e.g., into two groups). The adjacent sub-blocks grouped together may be used to perform external OBMC-based motion compensation. As shown in Figure 24c, these sub-block groups may correspond to motion compensation (e.g., MC2 and MC3 in Figure 24c). As shown 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 relative to face discontinuities. 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 on a current block or sub-block using MVs of neighboring blocks or sub-blocks. When neighboring MVs come 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 neighboring MVs 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., which may come from the same face as the current block or sub-block) and / or uses samples 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 can be disabled (e.g., completely disabled). In an example, OBMC for a block (or sub-block) traversed by a face discontinuity can be disabled (e.g., completely disabled).

[0123] At face discontinuities, a deblocking filter can be applied.

[0124] Deblocking of a block boundary within the vicinity of a face discontinuity can 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 within 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 across this block boundary can be disabled. If there is a horizontal block boundary within 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 across this block boundary can be disabled.

[0125] At face discontinuities, a sample adaptive offset (SAO) filter can be applied. One or more categories of edge offset mode in SAO can be disabled where the samples used in the gradient calculation are on two different sides of the face discontinuity. For example, if a face discontinuity is located above or below the current sample position, the vertical and two diagonal categories can be disabled for that sample position. If a face discontinuity is located to the left or right of the current sample position, the horizontal and two diagonal categories can be disabled for that sample position. In an example, the edge offset mode in SAO can 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 largest filter crosses the face discontinuity. For example, the ALF can skip sample locations where 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 9x9 diamond filter (e.g., see FIG. 16(c)), the ALF can be disabled for samples located within four samples of the face discontinuity. For a chroma component that can use (e.g., only use) a 5x5 diamond filter (e.g., see FIG. 16(a)), the ALF can be disabled for samples located within two samples of the face discontinuity.

[0127] In an example, ALF can be disabled (e.g., completely disabled) for blocks located next to a face discontinuity and / or for blocks that contain a face discontinuity. Disabling ALF can allow a decoder to make a block-level decision (e.g., whether ALF is on or off). ALF can be adapted (e.g., turned on / off) at the picture level and / or block level. For example, ALF can 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 can be skipped for a block, and ALF can be inferred to be off for that block.

[0128] The ALF classification process can skip one or more sample locations and / or blocks of sample locations, which can disable ALF filtering. For example, the ALF classification can 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 the face discontinuity). The ALF classification can skip a block if one or more samples within the block are affected by the face discontinuity. The ALF classification can be performed on 2x2 block units.

[0129] 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 the 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 multicarrier (FBMC).

[0130] 25A, communications system 100 may include wireless transmit / receive units (WTRUs) 102a, 102b, 102c, 102d, RANs 104 / 113, CNs 106 / 115, public switched telephone networks (PSTNs) 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 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, hotspot 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. Any of the WTRUs 102a, 102b, 102c, 102d may be referred to interchangeably as a UE.

[0131] The communications 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 communications 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 eNodeB, a Home Node B, a Home eNodeB, a gNB, an NR Node B, a site controller, an access point (AP), a wireless router, etc. 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 base station 114b may be configured to transmit and / or receive wireless signals on one or more carrier frequencies, sometimes referred to as a cell (not shown). These frequencies may be in the licensed spectrum, the unlicensed spectrum, or a combination of the licensed and unlicensed spectrum. A cell may provide coverage for a wireless service 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 the 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 and the WTRUs 102a, 102b, and 102c in the RAN 104 / 113 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 jointly implement LTE radio access and NR radio access, 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., Worldwide 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] 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 a business, 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 through the CN 106 / 115.

[0140] The RAN 104 / 113 can communicate with the CN 106 / 115, which can 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, and 102d. The data can have various quality of service (QoS) requirements, such as different throughput, delay, error resilience, reliability, data throughput, and mobility requirements. The CN 106 / 115 can 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 understood that the RAN 104 / 113 and / or the CN 106 / 115 can 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 cellular-based wireless technology and with a base station 114b that may utilize IEEE 802 wireless technology.

[0143] 25B is a system diagram illustrating an example WTRU 102. As shown in FIG. 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 may 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 may perform signal coding, data processing, power control, input / output processing, and / or any other functionality that enables the WTRU 102 to operate in a wireless environment. The processor 118 may be coupled to the transceiver 120, which may be coupled to the transmit / receive element 122. While 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 may 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 IR, UV, or visible light signals, for example. 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 understood 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. Additionally, the processor 118 may obtain information from and store data in any type of suitable memory, such as non-removable memory 130 and / or removable memory 132. The non-removable memory 130 may include random access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 132 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, etc. In other embodiments, the processor 118 may obtain information from and store data in memory that is not physically located on the WTRU 102, such as located on a server or 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 base stations (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 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)) can 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 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 using E-UTRA radio technology. The RAN 104 can also communicate with the CN 106.

[0154] The RAN 104 may include eNodeBs 160a, 160b, and 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, and 160c may each include one or more transceivers for communicating with the WTRUs 102a, 102b, and 102c over the air interface 116. In one embodiment, the eNodeBs 160a, 160b, and 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 FIG. 25C, the eNodeBs 160a, 160b, 160c may communicate with one another over the 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, and 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 communication 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 communication 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 communication interface (e.g., temporary or permanent) with the communication network.

[0162] In a representative 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 to or interface with a distribution system (DS) or another type of wired / wireless network that carries traffic within and / or outside the BSS. Traffic originating from outside the BSS to a STA 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 its respective destination. Traffic between STAs within the BSS may be sent through the AP; for example, a source STA may send traffic to the AP, and the AP may deliver the traffic to the destination STA. Traffic between STAs within the BSS may be considered and / or referred to as peer-to-peer traffic. Peer-to-peer traffic may be sent (e.g., directly) between a source STA and a destination STA using a direct link setup (DLS). In one exemplary 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 within or using an IBSS (e.g., all of the STAs) may communicate directly with each other. IBSS mode communication is sometimes referred to herein as "ad hoc" mode communication.

[0164] When using the 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., a 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 exemplary embodiment, for example, in an 802.11 system, carrier sense multiple access with 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 40 MHz wide channels for communication, for example, by combining a primary 20 MHz channel with adjacent or non-adjacent 20 MHz channels to form 40 MHz wide channels.

[0166] A Very High Throughput (VHT) STA can support 20 MHz, 40 MHz, 80 MHz, and / or 160 MHz wide channels. A 40 MHz and / or 80 MHz channel can be formed by combining contiguous 20 MHz channels. A 160 MHz channel can be formed by combining eight contiguous 20 MHz channels or two non-contiguous 80 MHz channels, sometimes referred to as an 80+80 configuration. For the 80+80 configuration, after channel encoding, the data can pass through a segment parser that can split the data into two streams. Separate inverse fast Fourier transform (IFFT) and time-domain processing can be performed on 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 the TV White Space (TVWS) spectrum, while 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 for a certain bandwidth and / or limited bandwidths (e.g., only support for those bandwidths). MTC devices can include batteries with above-threshold battery life (e.g., to maintain very long battery life).

[0168] WLAN systems, such as 802.11n, 802.11ac, 802.11af, and 802.11ah, that can support multiple channels and channel bandwidths include a channel that can be designated as a primary channel. The primary channel can have a bandwidth equal to the largest common operating bandwidth supported by all STAs in the BSS. The bandwidth of the primary channel can be set and / or limited by a STA that supports the smallest bandwidth operating mode among all STAs operating in the BSS. In the example of 802.11ah, for a STA (e.g., an MTC-type device) that supports (e.g., only supports) the 1 MHz mode, the primary channel can 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 can depend on the status of the primary channel. For example, if the primary channel is busy because a STA (that only supports 1 MHz operating mode) 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 showing the RAN 113 and the CN 115, according to an embodiment. As mentioned above, the RAN 113 can communicate with the WTRUs 102a, 102b, and 102c over the air interface 116 using NR radio technology. The RAN 113 can also communicate with the CN 115.

[0171] The RAN 113 may include gNBs 180a, 180b, and 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, and 180c each may include one or more transceivers for communicating with the WTRUs 102a, 102b, and 102c over the air interface 116. In one embodiment, the gNBs 180a, 180b, and 180c may implement MIMO technology. For example, the gNB 180a, 180b may utilize beamforming to transmit signals to and / or receive signals from the gNBs 180a, 180b, and 180c. Thus, the gNB 180a may, for example, use multiple antennas to transmit wireless signals to and / or receive wireless signals from the WTRU 102a. In an embodiment, the gNBs 180a, 180b, and 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, and 180c may implement coordinated multipoint (CoMP) techniques. For example, the WTRU 102a may receive coordinated transmissions from the gNBs 180a and 180b (and / or 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 can 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 can communicate with the gNBs 180a, 180b, 180c without accessing another RAN (e.g., eNodeBs 160a, 160b, 160c). In a standalone configuration, the WTRUs 102a, 102b, 102c can utilize one or more of the gNBs 180a, 180b, 180c as mobility anchor points. In a standalone configuration, the WTRUs 102a, 102b, 102c can communicate with the gNBs 180a, 180b, 180c using signals in unlicensed bands. In a non-standalone configuration, the WTRUs 102a, 102b, 102c may communicate with / connect to a gNB 180a, 180b, 180c while also communicating with / connecting to another RAN, such as an eNodeB 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. While 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 can 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. For example, different network slices may be established for different use cases, such as services relying on Ultra-Reliable Low-Latency (URLLC) access, services relying on 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 like WiFi.

[0177] The SMFs 183a and 183b can be connected to the AMFs 182a and 182b in the CN 115 via an N11 interface. The SMFs 183a and 183b can also be connected to the UPFs 184a and 184b in the CN 115 via an N4 interface. The SMFs 183a and 183b can select and control the UPFs 184a and 184b and configure the routing of traffic through the UPFs 184a and 184b. The SMFs 183a and 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. 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 multihoming PDU sessions, handling user plane QoS, buffering DL packets, and 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] 25A-25D 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 functionality.

[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, 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. 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 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 test scenarios in a test lab and / or in an undeployed (e.g., test) wired and / or wireless communication network to perform tests 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, for example, include 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 particular combinations, those skilled in the art will understand that each feature or element can be used alone or in any combination with the 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 wired or wireless connections) 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 in association 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. obtaining at least a syntax element configured to indicate a number of discontinuous face boundaries in a picture; For each discontinuous face boundary in the picture: obtaining a discontinuous face boundary position indicator configured to indicate a position along an axis associated with the discontinuous face boundary between two discontinuous faces in the picture, the picture representing a 360-degree video and including a frame-packed picture having a plurality of faces; determining the location of the discontinuous face boundary between the two discontinuous faces in the picture based on the obtained discontinuous face boundary location indicator; disabling loop filtering across the determined location of the discontinuous face boundary between the two discontinuous faces in the picture; A method for providing the above.

2. The method of claim 1 , wherein the discontinuous face boundary position indicator is configured to indicate a start position and an end position of at least one discontinuous boundary.

3. 2. The method of claim 1, wherein the discontinuity face boundary position indicator comprises at least one of a vertical discontinuity boundary position indicator or a horizontal discontinuity boundary position indicator, the vertical discontinuity boundary position indicator configured to indicate a position along a horizontal axis associated with a vertical discontinuity face boundary in the picture, and the vertical discontinuity boundary position indicator configured to indicate a position along a vertical axis associated with a horizontal discontinuity face boundary in the picture.

4. The method of claim 1 , wherein a face boundary between two faces in the picture is discontinuous if the two faces do not share a common edge in 3D geometry.

5. The method of claim 1 , wherein the discontinuous face boundary position indicators are obtained at a sequence parameter set (SPS) level.

6. 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.

7. Obtaining at least a syntax element configured to indicate a number of discontinuous face boundaries in a picture; For each discontinuous face boundary in the picture: acquiring a discontinuous face boundary position indicator configured to indicate a position along an axis associated with the discontinuous face boundary between two discontinuous faces in the picture, the picture representing a 360-degree video and including a frame-packed picture having a plurality of faces; determining the position of the discontinuous face boundary between the two discontinuous faces in the picture based on the obtained discontinuous face boundary position indicator; Disabling loop filtering across the determined location of the discontinuous face boundary between the two discontinuous faces in the picture. Processor configured to A device comprising:

8. The apparatus of claim 7 , wherein the discontinuous face boundary position indicator is configured to indicate a start position and an end position of at least one discontinuous boundary.

9. 8. The apparatus of claim 7, wherein the discontinuity face boundary position indicator comprises at least one of a vertical discontinuity boundary position indicator or a horizontal discontinuity boundary position indicator, the vertical discontinuity boundary position indicator configured to indicate a position along a horizontal axis associated with a vertical discontinuity face boundary in the picture, and the vertical discontinuity boundary position indicator configured to indicate a position along a vertical axis associated with a horizontal discontinuity face boundary in the picture.

10. The apparatus of claim 7 , wherein a face boundary between two faces in the picture is discontinuous if the two faces do not share a common edge in 3D geometry.

11. The apparatus of claim 7 , wherein the discontinuous face boundary position indicator is obtained at a sequence parameter set (SPS) level.

12. The apparatus of claim 7 , wherein the loop filtering comprises at least one of an adaptive loop filter (ALF), a deblocking filter, or a sample adaptive offset (SAO) filter.

Citation Information

Patent Citations

  • System and method for use in playing back panorama video content

    US20160012855A1

  • Method and Apparatus for Selective Filtering of Cubic-Face Frames

    US20170366808A1

  • Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus

    US20180054613A1

  • 360-degree video coding using face continuities

    WO2018191224A1