Sample derivation for 360-degree video coding

Horizontal geometry padding and wraparound motion compensation techniques address the challenges of non-uniform sampling in 360-degree videos, enhancing encoding and decoding efficiency and reducing artifacts in virtual reality systems.

JP2024178160AActive Publication Date: 2024-12-24INTERDIGITAL VC HOLDINGS INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024135664
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-09-27
Filing Date
2024-08-15
Publication Date
2024-12-24
Estimated Expiration
2039-09-26

AI Technical Summary

Technical Problem

Existing video coding technologies struggle to effectively handle 360-degree videos, particularly in virtual reality systems, due to issues with horizontal wraparound motion compensation and projection formats that result in non-uniform sampling and complex motion fields, leading to visual artifacts and inefficiencies in encoding and decoding processes.

Method used

Implementing horizontal geometry padding and wraparound motion compensation techniques, including the use of wraparound enablement indications, guard bands, and projection-specific padding methods to manage sample locations and motion prediction across spherical projections like ERP, EAP, and CMP, ensuring consistent sampling and reduced artifacts.

Benefits of technology

Enhances the encoding and decoding efficiency of 360-degree videos by maintaining consistent sampling density and reducing visual artifacts, thereby improving the user experience in virtual reality applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024178160000001_ABST
    Figure 2024178160000001_ABST
Patent Text Reader

Abstract

To provide a system, a method, and a device for performing horizontal geometry padding on a current sample on the basis of receiving a wraparound enable indication that indicates whether horizontal wraparound motion compensation is enabled.SOLUTION: A video coding device determines, on the basis of the wrap-around enable indication, a wrap-around offset of a reference sample of a current sample in a picture when horizontal wrap-around motion compensation is enabled, determines a reference sample location of the current sample on the basis of a wrap-around offset of the reference sample indicative of a face width of the picture, a picture width of the picture, and the current sample location, predicts the current sample horizontally on the basis of the reference sample location, and uses recursive padding or clipping vertically.SELECTED DRAWING: Figure 14
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] cross reference

[0001] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 737,303, filed September 27, 2018, the contents of which are incorporated herein by reference. [Background technology]

[0002] background

[0002] Virtual reality (VR) is increasingly entering our daily lives. VR has many applications, including healthcare, education, social networking, industrial design / training, games, movies, shopping, entertainment, and so on. VR has attracted the attention of industry and consumers because it can bring about an immersive viewing experience. VR creates a virtual environment that surrounds the viewer, creating a sense that the viewer is really "there". How to provide a completely realistic sensation within the VR environment is important to the user's experience. For example, a VR system can support interaction through posture, gesture, gaze, voice, and so on. VR can provide haptic feedback to the user to enable the user to interact with objects in the VR world in a natural way. Summary of the Invention [Means for solving the problem]

[0003] overview

[0003] Disclosed are systems, methods, and means for performing horizontal geometry padding on a current sample based on receiving a wraparound enable indication that indicates that horizontal wraparound motion compensation is enabled.

[0004]

[0004] A video coding device may receive pictures associated with video content in a bitstream. The video coding device described herein may be or may include an encoder and / or a decoder. The pictures may be or may include frame packed pictures. The video coding device may receive a wraparound enable indication. For example, the video coding device may receive a wraparound enable indication at a sequence level. The wraparound enable indication may indicate whether horizontal wraparound motion compensation is enabled or disabled. The wraparound enable indication may be or may include a wraparound enable flag that indicates whether horizontal wraparound motion compensation is enabled or disabled.

[0005]

[0005] Based on a wraparound enable indication indicating that horizontal wraparound motion compensation is enabled, the video coding device may determine a wraparound offset of a reference sample of a current sample in a picture. In an example, the video coding device may receive an offset indication of a wraparound offset of a reference sample in a bitstream. The wraparound offset of the reference sample may be determined based on the offset indication. The wraparound offset of the reference sample may indicate an area width of the picture. In an example, the video coding device may receive a size indication that represents an area width of the picture. For example, the size indication may be or may include a width of a guard band in luma samples. The video coding device may determine a wraparound offset of a reference sample of a current sample in a picture based on the size indication. In an example, the guard bands may have the same width. In an example, the guard bands may have different widths.

[0006]

[0006] The video coding device can determine a reference sample location for the current sample based on a wrap-around offset of the reference sample, a picture width of the picture, and the current sample location. The video coding device can receive the wrap-around offset of the reference sample at a sequence level.

[0007]

[0007] In an example, the video coding device may determine whether an original reference sample location (e.g., an unprocessed reference sample location) associated with a current sample location is outside the picture. If the original reference sample location is outside the picture, the video coding device may calculate a reference sample location of a horizontal geometry padding. For example, the video coding device may calculate the reference sample location by applying a wrap-around offset of the reference sample to the horizontal sample coordinate associated with the original reference sample location.

[0008]

[0008] In an example, the video coding device can calculate a face width of the picture based on a wrap-around offset of the reference sample and a picture width of the picture. The video coding device can identify a current sample location within the picture. The video coding device can determine whether the original reference sample location is outside the picture. If the original reference sample location is outside the leftmost horizontal boundary of the picture, the video coding device can determine the reference sample location by adding the wrap-around offset of the reference sample to a horizontal sample coordinate associated with the original reference sample location. If the original reference sample location is outside the rightmost horizontal boundary of the picture, the video coding device can determine the reference sample location by subtracting the wrap-around offset of the reference sample from the horizontal sample coordinate associated with the original reference sample location.

[0009]

[0009] A video coding device can predict a current sample based on a reference sample location.

[0010]

[0010] The video coding device may determine whether horizontal wraparound motion compensation is disabled based on the wraparound enable indication. If the wraparound enable indication indicates that horizontal wraparound motion compensation is disabled, the video coding device may identify a current sample location within the picture. The video coding device may determine whether the current sample location is located on a horizontal boundary of the picture. The video coding device may determine whether a reference sample location is located outside the horizontal boundary of the picture. If the video coding device determines that the reference sample location is located outside the horizontal boundary of the picture, the video coding device may identify a reference sample location on the horizontal boundary of the picture. The video coding device may predict the current sample based on the reference sample location.

[0011]

[0011] The picture may be in an equirectangular projection (ERP) format, an equal-area projection (EAP) format, or a scaled The map may be in or include an adjusted equal-area projection (AEP) format.

[0012]

[0012] The video coding device may determine whether to receive an offset indication of the wrap-around offset of the reference sample based on the wrap-around enable indication. If the video coding device determines that the wrap-around enable indication is enabled, the video coding device may parse the bitstream to receive an offset indication of the wrap-around offset of the reference sample. If the video coding device determines that the wrap-around enable indication is disabled, the video coding device may skip parsing the bitstream and skip receiving an offset indication of the wrap-around offset of the reference sample.

[0013]

[0013] An indication may be signaled (e.g., in the bitstream) to enable geometry padding. A correct position of one or more spherical neighbors may be determined. The geometry padding may calculate a correct position of one or more spherical neighbors taking into account the position and / or size of a guard band. The position and / or size of the guard band may have been added when packing one or more surfaces into a picture (e.g., before encoding). One or more indications related to geometry padding may be signaled to indicate whether geometry padding is applied and / or to specify the guard band.

[0014]

[0014] For projected geometries such as ERP, EAP, AEP, and / or similar projected formats that include faces (e.g., single faces), geometry padding can be performed horizontally. When geometry padding is performed horizontally, vertical repetitive padding can be used. Sample positions can be determined because horizontal sample coordinates can be wrapped within the coded picture. Vertical sample coordinates can be clipped to one or more coded picture boundaries, for example, as in the case of repetitive padding. An integer sample derivation process and / or fractional sample interpolation process for inter prediction (e.g., using horizontal geometry padding) associated with a single face-based projected geometry can be determined. [Brief description of the drawings]

[0015] BRIEF DESCRIPTION OF THE DRAWINGS [Figure 1A]

[0015] An example of spherical sampling in longitude and latitude is illustrated. [Figure 1B]

[0016] Illustrates an example of a two-dimensional (2D) plane using equirectangular projection. [Figure 2A]

[0017] 1 illustrates an example of a three-dimensional (3D) geometry structure in cubemap projection (CMP). [Figure 2B]

[0018] 1 illustrates an example of a 2D plan view of six faces of a CMP. [Figure 3A]

[0019] 1 illustrates an example of a picture with a padded border using equirectangular projection (ERP). [Figure 3B]

[0020] 1 illustrates an example of a picture with borders padded using CMP. [Figure 4A]

[0021] 1 illustrates an example of an ERP padding geometry. [Figure 4B]

[0022] 1 illustrates an example of a padded ERP picture. [Figure 5A]

[0023] 1 illustrates an example of a padding geometry for a CMP. [Figure 5B]

[0024] 1 illustrates an example of a padded CMP surface. [Figure 6]

[0025] 1 illustrates an example of a 360-degree video workflow. [Figure 7]

[0026] 1 illustrates an example of a video encoder. [Figure 8]

[0027] 1 illustrates an example of a video decoder. [Figure 9]

[0028] 1 illustrates an example of reference samples used in intra prediction. [Figure 10]

[0029] 1 illustrates an example of a display of intra-prediction direction. [Figure 11]

[0030] 1 illustrates an example of inter prediction (eg, uni-prediction) using motion vectors. [Figure 12]

[0031] 1 illustrates an example of padding reference samples outside a picture boundary. [Figure 13]

[0032] 1 illustrates an example of spatial neighbors used in determining spatial merge candidates. [Figure 14]

[0033] 13 illustrates an example of caching of reconstructed samples for inter prediction when using horizontal geometry padding. [Figure 15]

[0034] 1 illustrates an example of the locations of integer samples (eg, shaded blocks with uppercase letters) and fractional samples (eg, unshaded blocks with lowercase letters) for quarter-sample luminance interpolation. [Figure 16A]

[0035] FIG. 1 is a system diagram of an example communication system in which one or more disclosed embodiments may be implemented. [Figure 16B]

[0036] FIG. 16B is a system diagram of an example wireless transmit / receive unit (WTRU) that may be used within the communication system illustrated in FIG. 16A. [Figure 16C]

[0037] A system diagram of an example radio access network (RAN) and an example core network (CN) that may be used within the communication system illustrated in FIG. 16A. [Figure 16D]

[0038] 16B is a system diagram of a further example of a RAN and a further example of a CN that may be used within the communication system illustrated in FIG. 16A. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] Detailed Description

[0039] A detailed description of exemplary 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.

[0017]

[0040] The 360-degree video described herein may be or may include spherical video, omnidirectional video, virtual reality (VR) video, panoramic video, immersive video (e.g., light field video, which may include six degrees of freedom), point cloud video, and / or the like.

[0018]

[0041] VR systems can use 360-degree video to provide users with the ability to view a scene from a 360-degree angle horizontally and a 180-degree angle vertically. VR systems and / or 360-degree video can be considered a direction for media consumption beyond ultra high definition (UHD) services. The requirements of the media application format and the approach to promising technologies can be implemented to improve the quality of 360-degree video in VR systems and / or standardize the processing chain of client interoperability. Free view TV (FTV) can test the performance of one or more of the following: (1) 360-degree video (e.g., omnidirectional video)-based systems, (2) multi-view-based systems.

[0019]

[0042] The VR system may include a processing chain. The processing chain may be or may include capture, processing, display, and / or application. With respect to capture, 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, taken together, The 360-degree videos may be stitched together to form a high-resolution (e.g., 4K or 8K) 360-degree video. On the client side and / or user side, 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 and / or generate a viewport for display. Two pictures may be rendered for the viewport, one for each eye. The two pictures may be displayed on the HMD (e.g., for stereo viewing). Lenses may be used to magnify the image displayed on the HMD for a better view. The head tracking sensor may keep track (e.g., keep tracking continuously) of the orientation of the viewer's head and / or send orientation information to the system to display the viewport picture in that orientation.

[0020]

[0043] The VR system provides a touch device, allowing the viewer to interact with objects in the virtual world. The VR system can be driven by a workstation with GPU support. The VR system can use a smartphone as the computing platform, the HMD display, and / or the head tracking sensor. The spatial HMD resolution can be 2160x1200, the refresh rate can be 90Hz, and / or the field of view (FOV) can be 110 degrees. The sampling density of the head tracking sensor can be 1000Hz, allowing fast motion to be captured. The VR system can include lenses and / or cardboard, and / or can be driven by a smartphone.

[0021]

[0044] 360-degree video can be compressed and / or delivered, for example, using dynamic adaptive streaming over HTTP (DASH)-based video streaming techniques. For example, 360-degree video delivery can be implemented using spherical geometry structures to represent 360-degree information. For example, synchronized views captured by multiple cameras can be stitched together (e.g., as a monolithic structure) on a sphere. The spherical information can be projected onto a 2D plane by a geometry transformation (e.g., equirectangular projection and / or cubemap projection).

[0022]

[0045] Equirectangular projection can be performed. FIG. 1A shows an example of spherical sampling in longitude (φ) and latitude (θ). FIG. 1B shows an example of a sphere being projected onto a 2D plane using equirectangular projection (ERP). In aviation, a longitude φ in the range [-π,π] may be called yaw, and a latitude θ in the range [-π / 2,π / 2] may be called pitch. π may be the ratio of a circle's circumference to its diameter. The coordinates (x,y,z) may represent the coordinates of a point in 3D space. The coordinates (ue,ve) may represent the coordinates of a point in a 2D plane after ERP. ERP can be expressed mathematically, for example, as shown in (1) and (2). ue=(φ / (2*π)+0.5)*W(1) ve=(0.5-θ / π)*H(2) W and H can be the width and height of the 2D planar picture. As seen in FIG. 1A, point P, which is the intersection between longitude L4 and latitude A1 on the sphere, can be mapped to a unique point q in the 2D plane of FIG. 1B using (1) and / or (2). Point q in the 2D plane shown in FIG. 1B can be projected back to point P on the sphere shown in FIG. 1A, for example, by back projection. The field of view (FOV) in FIG. 1B shows an example where the FOV in the sphere is mapped to the 2D plane with a viewing angle along the X-axis of about 110 degrees.

[0023]

[0046] One or more 360-degree videos can be mapped to a 2D video. The mapped video can be encoded in a video codec (e.g., H.264, HEVC, and / or or the like) and / or delivered to the client. At the client side, the equirectangular video can be decoded and / or rendered based on the user's viewport (e.g., by projecting and / or displaying the part of the equirectangular projection picture that belongs to the FOV on the HMD). The spherical video can be converted to a 2D planar picture for encoding in the ERP. The characteristics of an equirectangular 2D picture may be different from a non-equirectangular 2D picture (e.g., a rectilinear video). The top of the picture, which may correspond to the north pole, and the bottom of the picture, which may correspond to the south pole, may be stretched (e.g., compared to the center of the picture, which may correspond to the equator). The stretching may indicate that the equirectangular sampling in the 2D spatial region may be non-uniform. The motion field in the 2D equirectangular picture may be complex along the time direction.

[0024]

[0047] The left and / or right boundaries of the ERP picture can be coded (e.g., coded independently). For example, when the reconstructed video is used to render a viewport that is then displayed to a user via an HMD or via a 2D screen, undesirable visual artifacts in the form of surface seams in the reconstructed video may be created. Padding of N (e.g., 8) luminance samples can be applied on the left and / or right side of the picture. The padded ERP picture, including the padding samples, can be encoded. The ERP reconstructed with padding can be transformed back. For example, the ERP reconstructed with padding can be transformed back (e.g., after decoding) by blending the duplicated samples and / or clipping the edges of the padded area.

[0025]

[0048] The Lambert Cylindrical Equal Area Projection (EAP) can use the same sampling in longitude as the ERP. The Lambert Cylindrical EAP can compensate for the increased horizontal sampling density near the poles by decreasing the vertical sampling density. In the EAP, the vertical sampling density can be set to cos(φ), making the combined sampling density constant across the sphere. The Adjusted Equal Area Projection (AEP) can be a generalization of the EAP. The AEP can introduce a parameter that can control the line resampling rate in the projection.

[0026]

[0049] A cube map projection can be performed. The top and bottom of the ERP picture may correspond to the north and south poles, respectively, but they may be elongated (e.g., compared to the center of the picture). This may indicate that the spherical sampling density of the picture may be non-uniform. The motion field, which may describe the time correlation between adjacent ERP pictures, may be complex. Certain video codecs (e.g., MPEG-2, H.264, and / or HEVC) may use a translational motion model to describe the motion field and may not be able to represent shape-changing motion in a planar ERP picture.

[0027]

[0050] A geometry projection format can be used to map 360-degree video onto multiple faces. For example, cube map projection (CMP) can be used. FIG. 2A illustrates an example of a CMP geometry. As seen in FIG. 2A, a CMP can include six square faces, which can be labeled PX, PY, PZ, NX, NY, and / or NZ. P can stand for positive and N can stand for negative. X, Y, and Z can refer to the axes. The faces can be labeled using numbers 0-5. For example, the faces can be labeled PX(0), NX(1), PY(2), NY(3), PZ(4), NZ(5). If the radius of the tangent sphere is 1, the side length of each face can be 2. The six faces of the CMP format can be packed together (e.g., frame-packed together) into a picture (e.g., a single picture). In one embodiment, the frame packing method may include a 3x2 layout (e.g., as shown in FIG. 2B). The faces may be rotated by an amount (e.g., a certain amount) that may affect (e.g., maximize) the continuity between adjacent faces. FIG. 2B illustrates an example of packing that arranges six faces into a rectangular picture. The face indexes may be arranged in a direction that is aligned with the corresponding rotation of the faces. For example, face #3 and face #1 may be rotated by 180 degrees and 270 degrees counterclockwise, respectively. The remaining faces may not be rotated. In an example, the frame packing method may include a 3x2 layout (e.g., as shown in FIG. 2B). As seen in FIG. 2B, the upper row of three faces may be spatially adjacent faces in the 3D geometry and may have a continuous texture. As seen in FIG. 2B, the lower row of three faces may be spatially adjacent faces in the 3D geometry and may have a continuous texture. The upper row of faces and the lower row of faces may not be spatially continuous in the 3D geometry, and there may be a seam, such as a discontinuous boundary, between the two rows of faces.

[0028]

[0051] In CMP, if the sampling density is 1 at the center of a face, the sampling density may increase towards the edge. Compared to the texture at the center, the texture around the edge may be stretched. For example, cubemap-based projections (e.g., equi-angular cubemap projection (EAC), adjusted cubemap projection (ACP), and / or the like) may rectify a face (e.g., each face) using a nonlinear warping function in the vertical and / or horizontal directions. In EAC, for example, the rectification may be performed using a tangent function. In ACP, the rectification may be performed using a second order polynomial function.

[0029]

[0052] Hybrid cubemap projection (HCP) ) can be performed. In HCP, the adjustment function and its parameters can be adjusted individually for faces and / or directions. Cubemap-based projection formats can include hybrid equi-angular cubemap projection (HEC) formats. Cube-based projections can be packed. For example, cube-based projections can be packed similarly to CMP. Cube-based projections can result in discontinuous faces in a frame-packed picture.

[0030]

[0053] It is possible to perform geometry padding for 360-degree video coding.

[0031]

[0054] The video codec can consider 2D video captured on a plane. When motion compensation prediction uses samples outside the boundary of the reference picture, padding can be performed by copying one or more sample values from the picture boundary. This type of padding may be known as repetitive padding. FIGS. 3A and 3B respectively illustrate examples of expanding the original picture (the boundary of which is indicated by a dotted line frame, for example) using repetitive padding of ERP and CMP.

[0032]

[0055] 360-degree video can include video information regarding a sphere (for example, the entire sphere) and / or can have cyclicity. The reference picture of 360-degree video may not have a boundary. For example, the reference picture of 360-degree video can be wrapped around the sphere (for example, may not have a boundary). Cyclicity may exist when representing 360-degree video on a 2D plane. Cyclicity may exist regardless of which projection format and / or which frame packing implementation is used. Geometric padding can be performed for 360-degree video coding by padding samples.

[0033]

[0056] Geometric padding of ERP can be performed. ERP can be defined on the sphere using longitude and latitude. For the padded point (u, v) (which is outside the ERP picture, for example), the padded sample can be derived using the point (u', v'). This can be obtained by the following equation. (When u < 0 or u ≧ W) and (0 ≦ v < H), u' = u % W, v' = v(3)

Equation

[0034]

[0057] FIG. 4A illustrates an example of geometry padding of the ERP. The padding can be performed outside the left boundary of the picture. For example, as seen in FIG. 4A, samples A, B, and C located outside the left boundary of the picture can be padded with samples A', B', and C' that may be located inside the right boundary of the picture. The padding can be performed outside the right boundary of the picture. For example, as seen in FIG. 4A, samples D, E, and F can be padded with samples D', E', and F' that may be located inside the left boundary of the picture. The padding can be performed outside the top boundary of the picture. For example, as seen in FIG. 4A, samples G, H, I, and J can be padded with samples G', H', I', and J' that may be located inside the top boundary of the picture with a shift of half the width. The padding can be performed outside the bottom boundary of the picture. For example, as seen in FIG. 4A, samples K, L, M, and N can be padded with samples K′, L′, M′, and N′ that may be shifted half the width and located inside the bottom boundary of the picture. FIG. 4B shows an example of an extended ERP picture using geometry padding. As seen in FIG. 4B, geometry padding can provide continuity between adjacent samples in areas outside the ERP picture boundary. The geometry padding of the ERP can be simplified. For example, the left and / or right boundaries of the picture can be padded using geometry padding, and the top and bottom boundaries of the picture can be padded using repetitive padding. It may be desirable to geometry pad the left and / or right boundaries of the picture as well as repetitively pad the top and bottom boundaries of the picture. For example, areas around the equator, such as the left and / or right boundaries, may contain more interesting video content and / or may be viewed more frequently by users compared to polar areas, such as the top and bottom boundaries.

[0035]

[0058] When a coded picture is in CMP format, geometry padding can be used to pad one or more faces of the CMP. FIG. 5A illustrates an example of geometry padding performed on a given face of a 3D geometry. As seen in FIG. 5A, point P can be on face F1 and can be outside the boundary of face F1′. Point P can be padded. As seen in FIG. 5A, point O can be on the center of the sphere. As seen in FIG. 5A, R can be the left boundary point, closest to P, and can be inside face F1. As seen in FIG. 5A, point Q can be the projection of point P on face F2 from center point O. Geometry padding can be performed using the sample value at point Q to fill the sample value at point P. FIG. 5B illustrates an example of an extended face using geometry padding for a CMP 3x2 picture. As shown in FIG. 5B, padding can be performed on each face individually. Geometry padding can provide samples for areas outside the boundary of a CMP face.

[0036]

[0059] Hybrid video encoding can be performed. An example of a 360-degree video distribution implementation is illustrated in FIG. 6. As seen in FIG. 6, an example 360-degree video distribution implementation can include 360-degree video capture, and can capture video covering a spherical space (e.g., the entire spherical space) using multiple cameras. The videos can be stitched together in a native geometry structure. For example, the videos can be stitched together in an ERP format. The native geometry structure can be converted into a projection format for one or more encodings, for example, based on a video codec. At the receiver, the video can be decoded and / or the decompressed video can be converted into a geometry for display. The video can be used to render by a viewport projection according to the user's viewing angle.

[0037]

[0060] 7 illustrates an example of a block-based hybrid video coding system 600. An input video signal 602 can be processed block by block. High resolution video signals (e.g., 1080p and / or beyond) can be compressed (e.g., as used in HEVC) using extended block sizes (e.g., called coding units (CUs)). A CU can have up to 64x64 pixels (e.g., in HEVC). The CU is partitioned into prediction units (PUs). Input video blocks (e.g., macroblocks (MBs) or CUs) may be segmented into a set of pixels, for which separate predictions may be applied. Spatial prediction 660 or motion prediction 662 may be performed on the input video blocks (e.g., macroblocks (MBs) or CUs). Spatial prediction (or, e.g., intra prediction) may predict a current video block using pixels from previously coded neighboring blocks in the same video picture and / or slice. Spatial prediction may reduce spatial redundancy inherent in a video signal. Motion prediction (e.g., referred to as inter prediction or temporal prediction) may predict a current video block using pixels from previously coded video pictures. Motion prediction may reduce temporal redundancy inherent in a video signal. A motion prediction signal for a given video block may be signaled 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, HEVC, and / or the like), a reference picture index for the video block may be signaled to the decoder. The reference index may be used to identify from which reference picture in the reference picture store 664 the temporal prediction signal may come.

[0038]

[0061] After spatial prediction and / or motion prediction, a mode decision 680 in the encoder may select a prediction mode based, for example, on rate-distortion optimization. The prediction block may be subtracted from the current video block at 616. The prediction residual may be decorrelated using transform module 604 and quantization module 606 to achieve a target bit rate. The quantized residual coefficients may be inverse quantized at 610 and inverse transformed at 612 to form a reconstructed residual. The reconstructed residual may be added back to the prediction block at 626 to form a reconstructed video block. An in-loop filter, such as a deblocking filter and / or an adaptive loop filter, may be applied to the reconstructed video block at 666, which is then placed in a reference picture store 664. The reference pictures in the reference picture store 664 may be used to code future video blocks. The output video block may be generated based on the prediction block. The coding mode (e.g., inter or intra coding mode), prediction mode information, motion information, and / or quantized residual coefficients may be sent to an entropy coding unit 608 for compression and packing to form a bitstream 620.

[0039]

[0062] FIG. 8 illustrates an example of a block-based video decoder. A video bitstream 202 may be received, unpacked, and / or entropy decoded at 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 at 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. At 226, the prediction block and the residual block may be summed. 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 predict future video blocks.

[0040]

[0063] Video codecs such as H.264 and / or HEVC can be used to code 2D planar rectilinear videos. Video coding can exploit spatial and / or temporal correlation, for example, to eliminate information redundancy. One or more prediction techniques can be applied during video coding, such as intra prediction and / or inter prediction. Intra prediction can predict a sample value using its neighboring reconstructed samples. Figure 9 shows examples of reference samples that can be used to intra predict a current transform unit (TU). The reference samples may be or include reconstructed samples located above and / or to the left of the current TU. The reference samples may be or include neighboring reconstructed samples from the left and / or above.

[0041]

[0064] FIG. 10 illustrates an example of an indication of intra prediction direction in HEVC. For example, HEVC can specify 35 intra prediction modes including planar (0), DC (1), and / or angular prediction (2-34) as shown in FIG. 10. An appropriate intra prediction mode can be selected. For example, an appropriate intra prediction mode can be selected on the encoder side. Predictions generated by multiple candidate intra prediction modes can be compared. A candidate intra prediction mode that minimizes distortion between predicted samples and original samples can be selected. The selected intra prediction mode can be coded into a bitstream.

[0042]

[0065] Angular prediction can be used to predict directional texture. FIG. 11 shows an example of inter prediction using motion vectors (MVs). Blocks B0' and B1' in the current picture may be reference blocks for blocks B0 and B1 of the current picture, respectively. Reference block B0' may be partially outside the boundary of the reference picture. Padding may be used to fill the missing samples outside the picture boundary. FIG. 12 shows an example of padding for reference samples outside the picture boundary. For example, an example of padding for block B0' may have four portions P0, P1, P2, and P3. Portions P0, P1, and P2 may be outside the picture boundary and may be filled, for example, by padding. Portion P0 may be filled with the top left sample of the reference picture. Portion P1 may be filled with vertical padding using the top row of the reference picture. Portion P2 may be filled with horizontal padding using the leftmost column of the picture.

[0043]

[0066] The merge mode may use (e.g., reuse) MV information of spatially and / or temporally neighboring PUs. The motion vector for a PU (e.g., the current PU) may not be coded. The encoder and / or decoder may form a motion vector merge candidate list. For example, the list may be created using MV information of spatially and / or temporally neighboring PUs. FIG. 13 illustrates an example of spatial neighbors (e.g., bottom left, left, top right, top, and / or top left) used to derive merge candidates. The index of the selected merge candidate may be coded and / or signaled. The merge candidate list may be constructed by the decoder. The list construction by the decoder may be similar (e.g., the same as) the list construction by the encoder. The entry of the signaled merge candidate index may be used as the MV of the PU (e.g., the current PU).

[0044]

[0067] Geometry padding for 360-degree video coding may be implemented. For example, geometry padding for 360-degree video coding may be implemented based on 2D to 3D and 3D to 2D mapping functions. The 2D to 3D and 3D to 2D mapping functions may use division and / or trigonometric functions such as sine, cosine, tangent, and / or the like. The implementation of geometry padding may utilize computing resources such as a CPU and / or memory. The geometry padding may be hardware implemented. Division with a constant denominator may be implemented. For example, division with a constant denominator may be implemented using bit shifting operations. Division with a variable denominator may be difficult to implement. One or more functions may be implemented using a look-up table (LUT). The LUT may not be available on the decoding platform. The encoder and / or decoder may store the LUT in memory.

[0045]

[0068] Geometry padding can be implemented by creating a reference picture. Samples in the reference picture can be pre-padded around a picture boundary. One or more of the pre-padded samples may be unused. For example, one or more of the pre-padded samples may be omitted and may not be used when a motion vector in the bitstream does not reference the padded samples. The reference picture and / or the pre-padded samples may be stored. For example, the reference picture and / or the pre-padded samples may be stored in a memory.

[0046]

[0069] In an example, geometry padding may be implemented based on deriving one or more samples when fetching a spherical neighbor, e.g., as described herein. For example, one or more samples may be derived from a single-plane based projection geometry, such as ERP, EAP, AEP, and / or similar formats, when horizontal geometry padding is used. A clipping operation may be used to constrain the samples in the decoded picture.

[0047]

[0070] In an example, a block can be divided into one or more sub-blocks. For example, a block can be divided into one or more sub-blocks based on its motion vector. Predictions of the sub-blocks from different parts of the projected video can be fetched. For example, if the motion vector occupies a left part of the block that is outside the left edge of the ERP picture, the block can be divided into multiple parts, such as two parts. The parts can be inside or outside the edge of the ERP picture. The part that is outside the left edge can be fetched from the right side of the ERP picture, and the part that is inside the left edge can be fetched from the left side of the ERP picture.

[0048]

[0071] The video coding device may perform geometry padding. The video coding device described herein may be or may include an encoder and / or a decoder. For example, the video coding device may perform geometry padding based on deriving one or more samples when fetching one or more spherical neighbors.

[0049]

[0072] An indication may be signaled to enable geometry padding, such as horizontal geometry padding. For example, a wraparound enable indication may be signaled to indicate that geometry padding is enabled. The wraparound enable indication may indicate whether horizontal wraparound motion compensation is enabled. The wraparound enable indication may be or may include a wraparound enable flag, which may indicate whether horizontal wraparound motion compensation is enabled. Indications such as the wraparound enable indication may be signaled in the bitstream.

[0050]

[0073] A correct position of one or more spherical neighbors may be determined. For example, the video coding device may determine a correct position of one or more spherical neighbors associated with the current sample based on a wrap-around offset of a reference sample of the current sample. The video coding device may take into account an offset, such as a wrap-around offset of a reference sample, due to geometry padding, and may calculate a correct position of one or more spherical neighbors. For example, the wrap-around offset of the reference sample may be or may include information representing an areal width of a picture, such as a frame-packed picture, associated with the video content. The video coding device may calculate a correct position of one or more spherical neighbors based on a size indication representing an areal width of the frame-packed picture. The size indication may be or may include a guard band size, such as a width of a guard band in a luma sample. Based on the size indication, which may be or may include a width of the guard band size, the video coding device may calculate a correct position of one or more spherical neighbors associated with the current sample. The position and / or size of the guard bands may be (e.g., may have been) added when packing one or more surfaces into a picture. The guard bands may be added when packing one or more surfaces into a picture, such as a frame-packed picture. For example, the guard bands may be added when packing one or more surfaces into a picture prior to encoding. As described herein, one or more indications related to geometry padding may be signaled to indicate whether geometry padding, such as horizontal geometry padding, is applied and / or to specify the guard bands.

[0051]

[0074] For projected geometries that include faces, such as a single face, such as ERP, EAP, AEP, and / or similar projected formats, geometry padding can be performed horizontally. When geometry padding is performed horizontally, vertical repetitive padding can be used. The horizontal sample coordinates can be wrapped within the coded picture, so that the sample positions can be determined (e.g., see equation (3)). The vertical sample coordinates can be clipped to one or more coded picture boundaries, as in the case of repetitive padding. An integer sample derivation process and / or fractional sample interpolation process for inter prediction (e.g., using horizontal geometry padding) for face (e.g., single face) based projected geometries can be described.

[0052]

[0075] One or more indications related to geometry padding may be signaled. A wraparound enable indication may be signaled as described herein. The wraparound enable indication may indicate whether horizontal wraparound motion compensation is enabled. The wraparound enable indication may be signaled at a sequence and / or picture level. For example, a wraparound enable indication indicating geometry padding may be signaled at a sequence level, such as a sequence parameter set (SPS).

[0053]

[0076] One or more frame packing parameters are signaled in the bitstream. For example, one or more frame packing parameters may be signaled using high level syntax (HLS) elements in the sequence and / or may be signaled at the picture level. The position and / or orientation of the faces of the frame packed picture may be signaled in the bitstream. An indication representing the face width associated with the frame packed picture may be signaled in the bitstream. An indication of one or more offsets, such as a size indication representing the width of the guard band and / or the presence of one or more guard bands, may be signaled in the bitstream. For example, a size indication and / or the presence of a guard band of one or more pixels (e.g., additional pixels) at the face edge may be signaled in the bitstream. The location of the guard band, such as an offset, may be based on the projection format. For example, in the case of a single face based projection geometry, the guard band may be located at the left face boundary and / or the right face boundary. In an example, the size of the guard band located at the left face boundary and the right face boundary may be the same. In an example, the size of the guard band located at the left face boundary and the right face boundary may be different. A size indication indicating the width of the guard band may include the width of the guard band, such as the left and right guard bands. For a multi-faceted based projection format, such as a CMP format, guard bands may be located around groups of consecutive faces and / or rows of faces. If the guard bands are different sizes in a multi-faceted based projection format, the size indication may include the width of each guard band.

[0054]

[0077] One or more of the guard band and / or geometry padding syntax elements described herein may be signaled. For example, a wraparound enable indication may be signaled to indicate whether horizontal wraparound motion compensation is enabled. The indication may be or include a wraparound enable flag. The indication may include or be signaled a size indication representing the face width of the frame packed picture. As described herein, to indicate the width of the guard band, the size indication (e.g., representing the face width) may be or include a parameter such as guard_bands_param_present_flag. Table 1 shows an example of geometry padding and guard band syntax elements. The geometry padding and / or guard band syntax elements may be signaled at the sequence level and / or picture level.

[0055] [Table 1]

[0056]

[0078] In an example, the parameters in Table 1 may have the following semantics:

[0057]

[0079] The syntax element projection_geometry may be or may include a mapping index (eg, as shown in Table 2) of the projection geometry used.

[0058]

[0080] The syntax element guard_bands_param_present_flag may indicate whether the syntax element guard_bands_size_in_luma_samples is present. If the syntax element guard_bands_size_in_luma_samples is not present, the value of the syntax element guard_bands_param_present_flag may be inferred to be equal to 0.

[0059]

[0081] An offset presence indication, such as an indication indicating whether an offset is present, may include information about the offset. For example, an offset presence indication, such as guard_bands_param_present_flag, may be used to determine whether an offset is present in the bitstream. If the offset presence indication indicates that an offset is present in the bitstream, a video coding device, such as a decoder, may parse the bitstream to receive the offset. If the offset presence indication indicates that an offset is not present in the bitstream, the video coding device may skip parsing the bitstream to receive the offset. For example, if an offset presence indication, such as guard_bands_param_present_flag, indicates that an offset is not present, the video coding device may skip using guard bands. The leftmost and rightmost boundaries of a projected surface may be connected in a spherical surface, and in a frame-packed picture, the boundaries may not be connected. Filled / extended samples within the guard bands may be coded in the bitstream. For example, the left guard band information may be from the rightmost region inside the surface, and the right guard band information may be from the leftmost region inside the surface. The reconstructed samples at the leftmost and rightmost boundaries may be contiguous (e.g., because they are treated as adjacent samples during coding). Samples within the guard band may be discarded in rendering (e.g., because the samples are not physically present).

[0060]

[0082] A size indicator can be received that represents the face width of a picture (e.g., a frame-packed picture). For example, the size indicator can be guard_bands_siz The frame packed picture may include syntax elements such as e_in_luma_samples. The face width of the frame packed picture may be calculated based on the size indication. The calculated face width may be used as a wrap-around offset of the reference sample. For example, the syntax element guard_bands_size_in_luma_samples may express the size of one or more luma samples of the guard bands used in the frame packed picture. The location (e.g., offset) of the guard bands may be defined relative to the projection format. For example, for a single face based projection geometry such as ERP, EAP, AEP and / or similar formats, one or more guard bands may be defined at the left face boundary and / or the right face boundary. In an example, the guard bands at the left face boundary and the right face boundary may have the same width. In an example, the guard bands at the left face boundary and the right face boundary may have different widths. For a multi-face based projection geometry such as the CMP format, one or more guard bands may be defined around a group of faces (e.g., each group of consecutive faces or each row of faces). The syntax element guard_bands_size_in_luma_samples may not be equal to 0. The syntax element guard_bands_size_in_luma_samples may be an integer multiple of MinCbSizeY.

[0061]

[0083] If the syntax element geometry_padding_enabled_flag is equal to 1, the syntax element geometry_padding_enabled_flag may indicate that geometry padding of the reference picture is applied for one or more samples located outside the picture boundary. If the syntax element geometry_padding_enabled_flag is equal to 0, the syntax element geometry_padding_enabled_flag may indicate that geometry padding is skipped (e.g., not applied). If the syntax element geometry_padding_enabled_flag is not present, the value of the syntax element geometry_padding_enabled_flag may be inferred to be equal to 0.

[0062]

[0084] Table 2 shows an example of a projected geometry index.

[0063] [Table 2]

[0064]

[0085] The actual size of the face, such as face width without guard bands, can be calculated from the information signaled in Table 1 and / or the size of the coded picture. For example, for single face based projection geometries with guard bands on the left and / or right side of the coded picture, such as ERP, EAP, AEP, and / or similar formats, the actual face width can be calculated, for example, using Equation (6). As described herein, a parameter indicating the face width of a frame packed picture, such as a size indication, may be or include pic_width_in_luma_samples. A parameter such as size indication or pic_width_in_luma_samples indicates the width of the decoded picture in units of luma samples. The parameter pic_width_in_luma_samples can be signaled at the sequence level. The plane height may be inferred from the coded picture height, e.g. in the absence of upper and / or lower guard bands. face_width_in_luma_samples=pic_width_in_luma_samples-2*guard_bands_size_in_luma_samples(6)

[0065]

[0086] In an example, the left and right guard bands can have the same size. In an example, the left and right guard bands can have different sizes. When the left and right guard bands have different sizes, the size of the guard bands (e.g., individual sizes) can be signaled, for example, according to Table 3. Table 3 shows an example of geometry padding and guard band syntax.

[0066] [Table 3]

[0067]

[0087] The syntax element guard_bands_param_present_flag may express whether at least one of the syntax elements left_guard_band_width_in_luma_samples, right_guard_band_width_in_luma_samples, or guard_bands_size_in_luma_samples is present. If at least one of the syntax elements left_guard_band_width_in_luma_samples, right_guard_band_width_in_luma_samples, or guard_bands_size_in_luma_samples, etc. is not present, the value of the syntax element guard_bands_param_present_flag may be inferred to be equal to 0.

[0068]

[0088] The syntax element left_guard_band_width_in_luma_samples may represent the width of the guard band luma samples used in frame-packed pictures at the left plane boundary of pictures associated with a single plane-based projection (e.g., ERP, EAP, and / or AEP pictures). s can be an integer multiple of MinCbSizeY.

[0069]

[0089] The syntax element right_guard_band_width_in_luma_samples may express the width of the guard band luma samples used in frame packed pictures at the right plane boundary of pictures associated with a single plane based projection (e.g., ERP, EAP, and / or AEP pictures). The syntax element right_guard_band_width_in_luma_samples may be an integer multiple of MinCbSizeY.

[0070]

[0090] As described herein, the face width of a frame packed picture may be calculated based on a size representation indicative of the face width of the frame packed picture, such as left_guard_band_width_in_luma_samples and / or right_guard_band_width_in_luma_samples. For example, using the representations described herein, the face width may be calculated, for example, based on use of Equation (7). face_width_in_luma_samples=pic_width_in_luma_samples-(left_guard_band_width_in_luma_samples+right_guard_band_width_in_luma_samples)(7)

[0071]

[0091] In an example, the value of the guard band width may be a multiple of MinCbSizeY. When the value of the guard band width is a multiple of MinCbSizeY, the syntax element may be specified in units of MinCbSizeY, for example, instead of or in addition to units of luma samples.

[0072]

[0092] The single-plane-based projection geometry may be a padded geometry based on one or more samples. In inter prediction, a current block in a current picture may be predicted from a reference block in a reference picture. For example, a current block in a current picture may be predicted from a reference block in a reference picture using a MV corresponding to a translational motion from a current block position to a reference block position. For a sample position (x, y) in a current block, a prediction signal Ipred(x, y) may be obtained from a reference picture Iref and a MV(Δx, Δy), for example, using equation (8). Ipred(x,y)=Iref(x+Δx,y+Δy)(8)

[0073]

[0093] The MV can use fractional precision p. For example, the MV can use ½, ¼, ⅛, or 1 / 16 pixel precision. The fractional precision can use interpolation from one or more available integer sample positions. The sample positions in the reference picture can be expressed as integer and fractional parts, for example, using equations (9)-(12). s=−log2(p), ≫, and ≪ can represent arithmetic right and left shifts, respectively. & can represent the bitwise “and” operator. xInt = x + (Δx≫s) (9) xFrac=Δx&[(1≪s)-1](10) yInt = y + (Δy≫s) (11) yFrac=Δy&[(1≪s)-1](12)

[0074]

[0094] The prediction signal can be obtained by interpolating one or more adjacent samples at integer positions. To determine values ​​at fractional positions, the prediction signal can be obtained. The samples at integer positions (xInt, yInt) are frame-packed. If the sample is outside the reference picture boundary, such as outside the picture, clipping can be used to constrain the sample position to be within the coded picture boundary. This may be similar (e.g., equivalent) to performing repeated padding. For luma samples, the xInt and yInt coordinates can be clipped, for example, using equations (13) and (14), respectively.

number

[0075]

[0095] For example, if the wraparound enable indication indicates that horizontal wraparound motion compensation is disabled, clipping and / or repetitive padding may be performed. A current sample location located within the frame packed picture may be identified. The video coding device may determine whether the current sample location is located on a horizontal boundary of the frame packed picture. The video coding device may determine whether a reference sample location is located outside of a horizontal boundary of the frame packed picture. A reference sample location on a horizontal boundary of the frame packed picture may be identified. For example, as described herein, a reference sample location on a horizontal boundary of the frame packed picture may be identified based on clipping. The current sample may be predicted based on the reference sample location.

[0076]

[0096] For the luma component, when using horizontal geometry padding, the xInt coordinate can be wrapped into the coded picture to account for the cyclic nature of the 360-degree video, e.g., using equation (15), where WL=pic_width_in_luma_samples, FL=face_width_in_luma_samples, and mod(x,n)=xn[x / n]. As described herein, an indication, such as a wraparound enabled indication, can provide information that horizontal geometry padding is used.

number

[0077]

[0097] As described herein, a video coding device may determine whether an original reference sample location (e.g., an unprocessed reference sample location) is outside a frame-packed picture. If the original reference sample location is outside the frame-packed picture, the reference sample location may be calculated by applying a wrap-around offset of the reference sample to a horizontal sample coordinate associated with the original reference sample location.

[0078]

[0098] In an example, the face width of the frame packed picture may be determined based on the wrap-around offset of the reference sample. The current sample location may be identified within the frame packed picture. The video coding device may determine whether the original reference sample location (e.g., the unprocessed reference sample location) is outside the frame packed picture. If the original reference sample location is outside the leftmost horizontal boundary of the frame packed picture, the reference sample location may be determined by adding the wrap-around offset of the reference sample to the horizontal sample coordinate (e.g., the xInt coordinate) associated with the original reference sample location (e.g., as shown in Equation 15). If the original reference sample location is outside the rightmost horizontal boundary of the frame packed picture, the reference sample location may be determined by subtracting the wrap-around offset of the reference sample from the horizontal sample coordinate associated with the original reference sample location (e.g., as shown in Equation 15).

[0079]

[0099] For single-plane based projection geometry (e.g., ERP, EAP, AEP, and / or similar formats), the luma sample locations can be derived, for example, as shown in Table 4. Table 4 shows an example of a technique for deriving the luma sample locations. For example, Table 4 shows an example of an integer sample derivation process and / or fractional sample interpolation process for inter prediction.

[0080] [Table 4]

[0081]

[0100] In the case of one or more chrominance samples, when repetitive padding is used, the xInt and yInt coordinates may be clipped, for example, using equations (16) and (17), respectively.

number

[0082]

[0101] For chrominance components, when using horizontal geometry padding, the xint coordinate is e.g. Wc=pic_width_in_luma_samples / SubWid thC, and equation (18), where Fc=face_width_in_luma_samples / SubWidthC, can be used to wrap the coded picture to take into account the cyclic nature of the 360 ​​degree video.

number

[0083]

[0102] For single-plane based projection geometry (e.g., ERP, EAP, AEP, and / or similar formats), the chrominance sample locations can be derived, for example, as shown in Table 5. Table 5 shows an example of a technique for deriving the chrominance sample locations. For example, Table 5 shows an example of an integer sample derivation process and / or a fractional sample interpolation process for inter prediction.

[0084] [Table 5]

[0085]

[0103] The wrap-around of sample locations using modulo arithmetic described herein can be applied to horizontal geometry padding when the projection format used to represent the 360-degree video is a single-plane projection format (e.g., ERP, EAP, AEP, and / or similar projection formats). For other projection formats, such as multi-plane projection formats (e.g., CMP, and / or CMP-based projection formats), 2D to 3D and 3D to 2D mapping functions can be implemented. The modulo arithmetic described herein can be applied as an approximation to multi-plane projection formats (e.g., CMP, and / or CMP-based projection formats).

[0086]

[0104] The video coding device may determine the location of the sample position within the current CU and / or perform motion compensation at the sample level. For standard dynamic range (SDR) video and / or similar video, motion compensation may be performed at the block level (e.g., a block may be a CU or a sub-CU). The CU may be split into multiple parts (e.g., two parts) and / or geometry padding may be used to perform motion compensation on each of the multiple parts (e.g., two parts).

[0087]

[0105] FIG. 14 illustrates an example of caching of reconstructed samples for inter prediction when using horizontal geometry padding. In inter prediction, a sample in a reference picture may be accessed more than once since the same area may be referenced by several blocks, interpolation processes, and / or refinement processes. When accessing the image buffer, a portion of the reference picture may be cached in a memory (e.g., a local memory) for fast read access when performing inter prediction as shown in FIG. 14. The cached area may be a neighborhood centered on the current block position and / or the current CTU position. The size of the cached area may be limited. When geometry padding is used and the current block is at and / or near the first face boundary of the first face, the cached area may be divided into two sub-areas: a first sub-area located around the current block position of the first face and a second sub-area located on the other side of the first face boundary, e.g., on a second face adjacent to the first face. For example, considering an ERP picture as depicted in FIG. 12, in the reference picture the cached data may include two sub-areas, namely a first area located around the current block position (e.g., for prediction of the two sub-parts P1 and P3 areas of FIG. 12) and a second area corresponding to data that is wrapped around, e.g., taking into account the cyclic nature of 360 degree video (e.g., for prediction of the two sub-parts P0 and P2 areas of FIG. 12).

[0088]

[0106] To predict the portions corresponding to the P1 and P3 regions shown in Figure 12, one or more prediction samples may come from the left side of the picture. If the motion vectors are of fractional sample accuracy, interpolation may be implemented and / or the neighbors may be adjusted to come from the right side of the picture (e.g., the areas corresponding to the P0 and P2 regions shown in Figure 12). Repetitive padding may be applied to obtain one or more sample values ​​used in the interpolation for prediction of the P1 and P3 regions shown in Figure 12.

[0089]

[0107] When an interpolation is required, one or more adjacent samples may be obtained by repeated padding (e.g., by repeating one or more samples at the right edge of the picture using the cyclicity of the 360-degree video). The fetching of one or more samples from the left edge of the picture may be skipped. To obtain two motion vectors for each of the two parts, for the first part corresponding to the P1 and P3 regions, the motion vector may remain unchanged. For the second part corresponding to the P0 and P2 regions, a modulo operation may be applied to the horizontal component of the motion vector to achieve, for example, a wraparound effect as described herein.

[0090]

[0108] Data may be accessed from outside the cache. In the case of horizontal geometry padding, the wrapping operation may be limited to skip fetching one or more samples located outside the cached data. For example, horizontal geometry padding may be performed within a given range SL (SL≦face_width_in_luma_samples, Sc=SL / SubWidthC), which may be related to the cache size. In the case of one or more samples located outside the cached data, repetitive padding may be applied outside this range. Equations (15) and (18) may be replaced by equations (19) and (20), respectively.

number

[0091]

[0109] When interpolating one or more samples at a fractional sample location, the one or more samples at the full sample location used by the interpolation filter can be derived, for example, as shown in Table 4 and / or Table 5 for the luma and chroma components, respectively. For example, considering the situation depicted in FIG. 15, luma samples ao,o to ro,o at the fractional sample locations can be interpolated using luma sample Ai,j at the full sample location (xAi,j, yAi,j). For luma sample Ai,j at the full sample location, the xAi,j and yAi,j coordinates can be derived, for example, as shown in Table 4 and / or Table 5 for the luma and chroma components, respectively.

[0092]

[0110] 16A illustrates an example of a communication system 100 in which one or more disclosed embodiments can be implemented. The communication system 100 can be a multiple access system that provides content, such as voice, data, video, messaging, broadcast, and the like, to multiple wireless users. The communication system 100 can enable the multiple wireless users to access such content through sharing of system resources, including wireless bandwidth. For example, the communication system 100 can use one or more channel access methods, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal FDMA (OFDMA), Single Carrier FDMA (SC-FDMA), Zero-Tailed Unique Word DFT Spread OFDM (ZT UW DTS-s OFDM), Unique Word OFDM (UW-OFDM), Resource Block Filtered OFDM, Filter Bank Multi-Carrier (FBMC), and the like.

[0093]

[0111] 16A, the communications system 100 may include wireless transmit / receive units (WTRUs) 102a, 102b, 102c, 102d, a RAN 104 / 113, a CN 106 / 115, a public switched telephone network (PSTN) 108, the Internet 110, and other networks 112, although it will be understood that the disclosed embodiments contemplate any number of WTRUs, base stations, networks, and / or network elements. The WTRUs 102a, 102b, 102c, 102d may each 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 be implemented as user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a subscription-based unit, a pager, a cellular phone, a personal digital assistant (PDA), a smartphone, a laptop, a netbook, a personal digital assistant (PDA), a personal digital assistant (PDA), a personal digital assistant (PDAS ... The WTRUs 102a, 102b, 102c, and 102d may include any of the following: 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 process chain situations), consumer electronics devices, devices operating on commercial and / or industrial wireless networks, and the like. The WTRUs 102a, 102b, 102c, and 102d may all be referred to interchangeably as UEs.

[0094]

[0112] The communication system 100 may also include a base station 114a and / or a base station 114b. Each of the base stations 114a, 114b may be any type of device configured to wirelessly interface with at least one of the WTRUs 102a, 102b, 102c, 102d to facilitate access to one or more communication networks, such as the CN 106 / 115, the Internet 110, and / or other networks 112. By way of example, the base stations 114a, 114b may be a base transceiver station (BTS), a Node-B, an eNode-B, a Home Node-B, a Home eNode-B, a gNB, a NR Node-B, a site controller, an access point (AP), a wireless router, and the like. Although the base stations 114a, 114b are each depicted as a single element, it will be understood that the base stations 114a, 114b may include any number of interconnected base stations and / or network elements.

[0095]

[0113] 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, and so on. The base station 114a and / or the base station 114b may be configured to transmit and / or receive wireless signals on one or more carrier frequencies, which may be referred to as cells (not shown). These frequencies may be in licensed spectrum, unlicensed spectrum, or a combination of licensed and unlicensed spectrum. A cell may provide wireless service coverage for 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, e.g., one for each sector of the cell. In one embodiment, the base station 114a may employ multiple-input multiple-output (MIMO) technology and may utilize multiple transceivers for each sector of the cell, e.g., using beamforming to transmit and / or receive signals in a desired spatial direction.

[0096]

[0114] The base stations 114a, 114b may communicate with one or more of the WTRUs 102a, 102b, 102c, 102d over an air interface 116, which may be any suitable wireless communications 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).

[0097]

[0115] More specifically, as mentioned above, the communication system 100 may be a multiple access system and may use one or more channel access schemes, such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, and the like. 2b, 102c may implement a radio technology such as Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA), which may establish the air interface 115 / 116 / 117 using Wideband Code Division Multiple Access (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 ​​UL Packet Access (HSUPA).

[0098]

[0116] In one 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).

[0099]

[0117] In one embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may establish the air interface 116 using New Radio (NR). The LTE-5000 Series can implement radio technologies such as NR radio access, which supports LTE-5000 Series ...

[0100]

[0118] In one 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).

[0101]

[0119] In other embodiments, the base station 114a and the WTRUs 102a, 102b, 102c may implement a wireless technology such as IEEE 802.11 (e.g., Wireless Fidelity (WiFi)), IEEE 802.16 (e.g., 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), GSM EDGE (GERAN), and the like.

[0102]

[0120] The base station 114b in FIG. 16A may be, for example, a wireless router, a Home Node B, a Home eNode B, or an access point, and may utilize any suitable RAT to facilitate wireless connectivity in a localized area, such as a workplace, a home, a vehicle, a campus, an industrial facility, an air corridor (e.g., used by drones), a roadway, and the like. In one embodiment, the base station 114b and the WTRUs 102c, 102d may implement a radio technology, such as IEEE 802.11, to establish a wireless local area network (WLAN). In one embodiment, the base station 114b and the WTRUs 102c, 102d may implement a radio 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 utilizing a cellular-based RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR, etc.). As shown in Figure 16A, the base station 114b may have a direct connection to the Internet 110. Thus, the base station 114b may not need to access the Internet 110 via the CN 106 / 115.

[0103]

[0121] The RAN 104 / 113 may be in communication with the CN 106 / 115, which may be any type of network configured to provide voice, data, application, and / or Voice over Internet Protocol (VoIP) services to one or more of the WTRUs 102a, 102b, 102c, 102d. The data may have various Quality of Service (QoS) requirements, such as different throughput requirements, latency requirements, error tolerance requirements, reliability requirements, data throughput requirements, mobility requirements, and the like. The CN 106 / 115 may provide call control, billing services, mobile location-based services, prepaid calling, Internet connectivity, video distribution, and / or perform high-level security functions, such as user authentication. Although not shown in FIG. 16A , it will be appreciated that the RAN 104 / 113 and / or the CN 106 / 115 may be in direct or indirect communication with other RANs that use 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 be in communication with another RAN (not shown) that uses GSM, UMTS, CDMA2000, WiMAX, E-UTRA, or WiFi radio technology. But that's also good.

[0104]

[0122] 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 communication 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 communication 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 use the same RAT as the RAN 104 / 113 or a different RAT.

[0105]

[0123] Some or all of the WTRUs 102a, 102b, 102c, 102d of 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. 16A may be configured to communicate with a base station 114a that may use a cellular-based radio technology and with a base station 114b that may use an IEEE 802 radio technology.

[0106]

[0124] Figure 16B is a system diagram illustrating an example of a WTRU 102. As shown in Figure 16B, 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 sub-combination of the above elements while remaining consistent with an embodiment.

[0107]

[0125] 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 associated with a DSP core, a controller, a microcontroller, a specific The processor 118 may be an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) circuit, any other type of integrated circuit (IC), a state machine, and the like. The processor 118 may perform signal coding, data processing, power control, input / output processing, and / or any other functionality that enables the WTRU 102 to operate in a wireless environment. The processor 118 may be coupled to the transceiver 120, which may be coupled to the transmit / receive element 122. Although FIG. 16B 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.

[0108]

[0126] The transmit / receive element 122 may 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 may be an antenna configured to transmit and / or receive RF signals. In one embodiment, the transmit / receive element 122 may be an emitter / detector configured to transmit and / or receive, for example, IR, UV, or visible light signals. In yet another embodiment, the transmit / receive element 122 may be configured to transmit and / or receive both RF and light signals. It will be appreciated that the transmit / receive element 122 may be configured to transmit and / or receive any combination of wireless signals.

[0109]

[0127] 16B, 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 employ 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.

[0110]

[0128] The transceiver 120 may be configured to modulate signals 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.

[0111]

[0129] The processor 118 of the WTRU 102 may be coupled to and may receive user input data from a speaker / microphone 124, a keypad 126, and / or a display / touchpad 128 (e.g., a liquid crystal display (LCD) display unit or an organic light emitting diode (OLED) display unit). The processor 118 may also output user data to the speaker / microphone 124, the keypad 126, and / or the display / touchpad 128. In addition, the processor 118 may access information from and store data in any type of suitable memory, such as a non-removable memory 130 and / or a removable memory 132. The non-removable memory 130 may include a random access memory (RAM), a read only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 132 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like. In other embodiments, the processor 118 may access information from memory that is not physically located on the WTRU 102, such as on a server or home computer (not shown), and may store data therein.

[0112]

[0130] The processor 118 may receive power from the power source 134 and may be configured to distribute and / or control the 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, and the like.

[0113]

[0131] The processor 118 may also be coupled to a GPS chipset 136, which may be configured to provide position information (e.g., longitude and latitude) regarding the current location of the WTRU 102. In addition to, or in lieu of, information from the GPS chipset 136, the WTRU 102 may receive position information from a base station (e.g., base stations 114a, 114b) over the air interface 116 and / or 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 position information by way of any suitable location determination method while remaining consistent with an embodiment.

[0114]

[0132] 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, peripherals 138 may include an accelerometer, an electronic 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, Bluetooth (registered trademark), a The peripherals 138 may include a wireless communication device (wireless terminal) 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, a magnetometer, 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.

[0115]

[0133] The WTRU 102 may include a full-duplex radio, for example, where transmission and reception of some or all of the signals associated with a particular subframe on both the UL (e.g., for transmission) and downlink (e.g., for reception) may be parallel and / or simultaneous. The full-duplex radio may include an interference management unit that reduces and / or substantially eliminates self-interference, either through hardware (e.g., a choke) or signal processing by a processor (e.g., by a separate processor (not shown) or by the processor 118). In one embodiment, the WTRU 102 may include a half-duplex radio, where transmission and reception of some or all of the signals (e.g., associated with a particular subframe) may be either on the UL (e.g., for transmission) or downlink (e.g., for reception).

[0116]

[0134] 16C is a system diagram illustrating the RAN 104 and the CN 106 according to one embodiment. As mentioned above, the RAN 104 may communicate with the WTRUs 102a, 102b, 102c over the air interface 116 using E-UTRA radio technology. The RAN 104 may also communicate with the CN 106.

[0117]

[0135] The RAN 104 may include eNode-Bs 160a, 160b, 160c, although the RAN 104 may include any number of eNode-Bs 160a, 160b, 160c while remaining consistent with an embodiment. It will be appreciated that the eNode-Bs 160a, 160b, 160c may each include one or more transceivers for communicating with the WTRUs 102a, 102b, 102c over the air interface 116. In one embodiment, the eNode-Bs 160a, 160b, 160c may implement MIMO technology. Thus, the eNode-B 160a, for example, may use multiple antennas to transmit wireless signals to and / or receive wireless signals from the WTRU 102a.

[0118]

[0136] Each of the eNode-Bs 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 on the UL and / or DL, and the like. As shown in Figure 16C, the eNode-Bs 160a, 160b, 160c may communicate with each other via an X2 interface.

[0119]

[0137] The CN 106 shown in Figure 16C 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 are 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 other than the CN operator.

[0120]

[0138] The MME 162 may be connected to each of the eNode-Bs 162a, 162b, 162c in the RAN 104 via an S1 interface and may 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, and the like. 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.

[0121]

[0139] The SGW164 communicates with the eNode in the RAN104 via the S1 interface. An SGW 164 may be connected to each of the eNode Bs 160a, 160b, 160c. 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-eNode B handover, triggering paging when DL data is available to the WTRUs 102a, 102b, 102c, managing and storing the status of the WTRUs 102a, 102b, 102c, and the like.

[0122]

[0140] The SGW 164 may be connected to a PGW 166, which may provide the WTRUs 102a, 102b, 102c with access to packet-switched networks, such as the Internet 110, to facilitate communications between the WTRUs 102a, 102b, 102c and IP-enabled devices.

[0123]

[0141] The CN 106 may facilitate communications with other networks. For example, the CN 106 may provide the WTRUs 102a, 102b, 102c with access to circuit-switched networks, such as the PSTN 108, to facilitate communications between the WTRUs 102a, 102b, 102c and traditional land-line communications devices. For example, the CN 106 may include an IP gateway (e.g., an IP multimedia subsystem (IMS)) that serves as an interface between the CN 106 and the PSTN 108. ) server) or capable of communicating with such an IP gateway. 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.

[0124]

[0142] Although the WTRU is described in Figures 16A-16D as a wireless terminal, it is contemplated that in certain representative embodiments such a terminal may use a wired communications interface (e.g., temporarily or permanently) with the communications network.

[0125]

[0143] In an exemplary embodiment, the other network 112 may be a WLAN.

[0126]

[0144] Infrastructure Basic Service Set (BSS) model A WLAN in a mode may have an access point (AP) for a BSS and one or more stations (STAs) associated with the AP. The AP may have access or interface to a distribution system (DS) or another type of wired / wireless network that carries traffic into and / or from outside the BSS. Traffic to a STA originating from outside the BSS may arrive through the AP and be distributed to the STA. Traffic originating from a STA to a destination outside the BSS may be sent to the AP for distribution to the respective destination. Traffic between STAs in a BSS may be sent through the AP, for example, where a source STA may send traffic to the AP, which may distribute the traffic to the destination STA. Traffic between STAs in a BSS may be considered and / or referred to as peer-to-peer traffic. Peer-to-peer traffic may be sent between (e.g., directly between) a source STA and a destination STA using a direct link setup (DLS). In certain representative embodiments, the DLS may use 802.11e DLS or 802.11z tunneled DLS (TDLS). A WLAN using an Independent BSS (IBSS) mode may not have an AP, and STAs (e.g., all of the STAs) in or using an IBSS may communicate directly with each other. IBSS mode communication is sometimes referred to herein as an "ad-hoc" mode of communication.

[0127]

[0145] When using 802.11ac infrastructure mode of operation or a similar mode of operation, an AP may transmit a beacon on a fixed channel, such as a primary channel. The primary channel may be a fixed width (e.g., a 20 MHz wide bandwidth) or a width that is dynamically set via signaling. The primary channel may be an operating channel of the BSS and may be used by STAs to establish a connection with the AP. In certain representative embodiments, for example, in an 802.11 system, carrier sense multiple access with collision avoidance (CSMA / CA) may be implemented. With CSMA / CA, STAs (e.g., every STA), including the AP, may sense the primary channel. If the primary channel is sensed / detected and / or determined to be busy by a particular STA, the particular STA may back off. One STA (e.g., only one station) may transmit at any given time in a given BSS.

[0128]

[0146] A high throughput (HT) STA is, for example, a primary 40 MHz wide channels may be formed by combining 20 MHz channels with adjacent or non-adjacent 20 MHz channels to provide 40 MHz wide channels for communication. can be used.

[0129]

[0147] A Very High Throughput (VHT) STA can support 20 MHz, 40 MHz, 80 MHz, and / or 160 MHz wide channels. 40 MHz and / or 80 MHz channels can be formed by combining contiguous 20 MHz channels. A 160 MHz channel can be formed by combining eight contiguous 20 MHz channels or by combining two non-contiguous 80 MHz channels, sometimes referred to as an 80+80 configuration. For the 80+80 configuration, the data, after channel coding, can be passed through a segment parser that can split the data into two streams. Inverse Fast Fourier Transform (IFFT) processing and time domain processing can be performed separately 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 sent to the Medium Access Control (MAC).

[0130]

[0148] Sub-1 GHz modes of operation are supported by 802.11af and 802.11ah. Channel operating bandwidths and carriers are reduced in 802.11af and 802.11ah compared to those used in 802.11n and 802.11ac. 802.11af supports 5 MHz, 10 MHz, and 20 MHz bandwidths in TV White Space (TVWS) spectrum, and 802.11ah supports 1 MHz, 2 MHz, 4 MHz, 8 MHz, and 16 MHz bandwidths using non-TVWS spectrum. According to a representative embodiment, 802.11ah can support meter-type control / machine-type communication, such as MTC devices in macro coverage areas. MTC devices may have limited capabilities, including certain features, such as support for certain bandwidths and / or limited bandwidths (e.g., support for only that bandwidth). MTC devices may include a battery with a battery life above a threshold (e.g., to maintain a very long battery life).

[0131]

[0149] WLAN systems that can support multiple channels and channel bandwidths, such as 802.11n, 802.11ac, 802.11af, and 802.11ah, include a channel that can be designated as a primary channel. The primary channel may have a bandwidth equal to the largest common operating bandwidth supported by all STAs in the BSS. The bandwidth of the primary channel can be set and / or limited by the STA that supports the smallest bandwidth operating mode among all STAs operating in the BSS. In the example of 802.11ah, the primary channel can be 1 MHz wide for STAs (e.g., MTC type devices) that support (e.g., only) the 1 MHz mode, even if the AP and other STAs in the BSS support 2 MHz, 4 MHz, 8 MHz, 16 MHz, and / or other channel bandwidth operating modes. Carrier sensing and / or Network Allocation Vector (NAV) ) setting may depend on the status of the primary channel. For example, if the primary channel is busy due to STAs (that only support the 1 MHz mode of operation) transmitting to the AP, the entire available frequency band may be considered busy even though most of the frequency band may remain idle and be available for use.

[0132]

[0150] 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 928MHz. In the US, the available frequency bands are 916.5 MHz to 927.5 MHz. The total available bandwidth for 802.11ah is 6 MHz to 26 MHz depending on the country code.

[0133]

[0151] 16D is a system diagram illustrating the RAN 113 and the CN 115 according to one embodiment. As mentioned above, the RAN 113 can communicate with the WTRUs 102a, 102b, 102c over the air interface 116 using NR radio technology. The RAN 113 may also be in communication with the CN 115.

[0134]

[0152] The RAN 113 may include gNBs 180a, 180b, 180c, although it will be understood that the RAN 113 may include any number of gNBs consistent with an embodiment. The gNBs 180a, 180b, 180c may each include one or more transceivers for communicating with the WTRUs 102a, 102b, 102c over the air interface 116. In an embodiment, the gNBs 180a, 180b, 180c may implement MIMO technology. For example, the gNBs 180a, 180b may utilize beamforming to transmit signals to and / or receive signals from the gNBs 180a, 180b, 180c. Thus, the gNB 180a may transmit wireless signals to and / or receive wireless signals from the WTRU 102a using, for example, multiple antennas. In one embodiment, the gNBs 180a, 180b, 180c may implement carrier aggregation technology. 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 one embodiment, the gNBs 180a, 180b, 180c may implement Coordinated Multi-Point (CoMP) technology. For example, the WTRU 102a may receive coordinated transmissions from gNB 180a and gNB 180b (and / or gNB 180c).

[0135]

[0153] WTRU102a, 102b, and 102c are scalable numerology gNB180a, 180b, 180c and 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).

[0136]

[0154] The gNBs 180a, 180b, 180c may be configured to communicate with the WTRUs 102a, 102b, 102c in a standalone configuration and / or a non-standalone configuration. In a standalone configuration, the WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c without accessing any other RAN (e.g., eNode-Bs 160a, 160b, 160c). In a standalone configuration, the WTRUs 102a, 102b, 102c may utilize one or more of the gNBs 180a, 180b, 180c as mobility anchor points. In a standalone configuration, the WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c using signals in unlicensed bands. In a non-standalone configuration, the WTRUs 102a, 102b, 102c may communicate / connect with a gNB 180a, 180b, 180c while also communicating / connecting with another RAN, such as an eNode-B 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. In a non-standalone configuration, the eNode-Bs 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.

[0137]

[0155] Each of the gNBs 180a, 180b, 180c may be associated with a particular cell (not shown) and may perform 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 towards User Plane Functions (UPFs) 184a, 184b. routing of control plane information towards the Access and Mobility Management Functions (AMF) 182a, 182b, and As shown in FIG. 16D, gNBs 180a, 180b, 180c can communicate with each other via an Xn interface.

[0138]

[0156] The CN 115 shown in FIG. 16D includes at least one AMF 182a, 182b, at least one UPF 184a, 184b, at least one Session Management Function (SMF) 183a, 183b, and possibly can include Data Networks (DNs) 185a, 185b. Although each of the above elements is depicted as part of the CN 115, it will be understood that any of these elements may be owned and / or operated by an entity other than the CN operator.

[0139]

[0157] 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, mobility management, and the like. Network slicing may be used by the AMF 182a, 182b to customize the CN support of the WTRUs 102a, 102b, 102c based on the type of service being utilized by the WTRUs 102a, 102b, 102c. For example, services that rely on ultra-reliable low latency (URLLC) access, services that rely on enhanced massive mobile broadband (eMBB) access, Different network slices may be established for different use cases, such as services that reside on the RAN 113, services for machine type communication (MTC) access, and / or the like. The AMF 162 may provide a control plane function for switching between the RAN 113 and other RANs (not shown) that employ other radio technologies, such as LTE, LTE-A, LTE-A Pro, and / or non-3GPP access technologies, such as WiFi.

[0140]

[0158] The SMFs 183a, 183b can be connected to the AMFs 182a, 182b in the CN 115 via an N11 interface. The SMFs 183a, 183b can also be connected to the UPFs 184a, 184b in the CN 115 via an N4 interface. The SMFs 183a, 183b can select and control the UPFs 184a, 184b and configure the routing of traffic through the UPFs 184a, 184b. The SMF 183a, 183b may perform other functions such as managing and allocating IP addresses for UEs, managing PDU sessions, controlling policy enforcement and QoS, providing downlink data notification, and the like. PDU session types may be IP-based, non-IP-based, Ethernet-based, and the like.

[0141]

[0159] The UPFs 184a, 184b may connect to one or more of the gNBs 180a, 180b, 180c in the RAN 113 via an N3 interface, which may provide the WTRUs 102a, 102b, 102c with access to packet-switched networks, such as the Internet 110, to facilitate communications between the WTRUs 102a, 102b, 102c and IP-enabled devices. The UPFs 184a, 184b may perform other functions, such as routing and forwarding packets, enforcing user plane policies, supporting multi-homed PDU sessions, handling user plane QoS, buffering downlink packets, providing mobility anchoring, and the like.

[0142]

[0160] 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 an 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.

[0143]

[0161] 16A-16D 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, eNode-Bs 160a-c, MME 162, SGW 164, PGW 166, gNBs 180a-c, AMFs 182a-b, UPFs 184a-b, SMFs 183a-b, DNs 185a-b, and / or any other devices described herein may be performed by one or more emulation devices (not shown). The emulation devices may be one or more devices configured to emulate one or more, or all of the functions described herein. For example, the emulation devices may be used to test other devices and / or to simulate network and / or WTRU functions.

[0144]

[0162] The emulation device may be designed to perform one or more tests of other devices in a lab environment and / or an operator network environment. For example, the emulation device or devices may perform one or more functions, or all functions, while fully or partially implemented and / or deployed as part of a wired and / or wireless communication network to test other devices in the communication network. The emulation device or devices may perform one or more functions, or all functions, while temporarily implemented / deployed as part of a wired and / or wireless communication network. The emulation device may be directly coupled to another device for testing purposes and / or may perform testing using over-the-air wireless communication.

[0145]

[0163] The emulation device(s) may perform one or more functions, including all functions, without being implemented / deployed as part of a wired and / or wireless communications network. For example, the emulation device(s) may be utilized in a test lab and / or in a test scenario in a non-deployed (e.g., test) wired and / or wireless communications network to perform testing of one or more components. The emulation device(s) may be test equipment. Direct RF coupling and / or wireless communication via RF circuitry (which may include, for example, one or more antennas) may be used by the emulation device to transmit and / or receive data.

[0146]

[0164] The processes and techniques described herein may be implemented in computer programs, software, and / or firmware embodied in a computer-readable medium for execution by a computer and / or a processor. Examples of computer-readable media include, but are not limited to, electronic signals (transmitted over wired and / or wireless connections) and / or computer-readable storage media. Examples of computer-readable storage media include, but are not limited to, read only memory (ROM), random access memory (RAM), registers, cache memory, semiconductor memory devices, magnetic media such as, but not limited to, internal hard disks, and removable disks, magneto-optical media, and / or optical media such as CD-ROM disks, and / or digital versatile disks (DVDs). A processor associated with software may be used to implement a radio frequency transceiver for use in a WTRU, a terminal, a base station, an RNC, and / or any host computer.

Claims

1. 1. A method for encoding video content, comprising: receiving pictures associated with the video content in a bitstream; receiving a wraparound enable indication indicating whether horizontal wraparound motion compensation is enabled; determining a wrap-around offset of a reference sample of a current sample in the picture based on the wrap-around enable indication indicating that the horizontal wrap-around motion compensation is enabled; determining a reference sample location of the current sample based on a wraparound offset of the reference sample, a picture width of the picture, and a current sample location; predicting the current sample based on the reference sample location; The method includes:

2. 2. The method of claim 1, further comprising: determining whether to receive an offset indication of a wrap-around offset of the reference sample based on the wrap-around enable indication; and, when determining that the wrap-around enable indication is enabled, parsing the bit stream to receive the offset indication of the wrap-around offset of the reference sample; and, when determining that the wrap-around enable indication is disabled, skipping parsing the bit stream and receiving the offset indication of the wrap-around offset of the reference sample.

3. The method of claim 1 , wherein the wraparound enable indication comprises a wraparound enable flag that indicates whether the horizontal wraparound motion compensation is enabled.

4. Determining a wrap-around offset of the reference sample of the current sample in the picture, 2. The method of claim 1, comprising receiving an offset indication of a wrap-around offset of the reference sample in the bitstream, and wherein the wrap-around offset of the reference sample is determined based on the offset indication, the wrap-around offset of the reference sample representing a face width of the picture.

5. Determining a wrap-around offset of the reference sample of the current sample in the picture, receiving a size indication representing a face width of the picture, the size indication including a width of a guard band in luma samples; calculating the face width of the picture based on the size indication; The method of claim 1 , comprising:

6. 6. The method of claim 5, wherein the width of the guard band is a first width of the guard band, and the size indication representing the area width of the picture further includes a second width of the guard band in luma samples, and the area width of the picture is calculated based on the first width of the guard band and the second width of the guard band in luma samples.

7. The method of claim 1 , wherein the wraparound enable indication and the wraparound offset of the reference sample are received at a sequence level.

8. Determining the reference sample location comprises: calculating a face width of the picture based on a wrap-around offset of the reference sample and the picture width of the picture; identifying the current sample location within the picture; determining that an original reference sample location is outside the picture; upon determining that the original reference sample location is outside a leftmost horizontal boundary of the picture, determining the reference sample location by adding a wraparound offset of the reference sample to a horizontal sample coordinate associated with the original reference sample location; upon determining that the original reference sample location is outside a rightmost horizontal boundary of the picture, determining the reference sample location by subtracting a wraparound offset of the reference sample from the horizontal sample coordinate associated with the original reference sample location; The method of claim 1 , comprising:

9. determining that an original reference sample location is outside the picture; calculating the reference sample location by applying a wrap-around offset of the reference sample to a horizontal sample coordinate associated with the original reference sample location; The method of claim 1 , comprising:

10. identifying the current sample location within the picture; determining that the current sample location is at a horizontal boundary of the picture; determining that the reference sample location is outside the horizontal boundary of the picture; identifying the reference sample location on the horizontal boundary of the picture based on the wraparound enable indication, the wraparound enable indication indicating that the horizontal wraparound motion compensation is disabled; predicting the current sample based on the reference sample location; The method of claim 1 , comprising:

11. The method of claim 1 , wherein the picture is associated with an equirectangular projection (ERP) format, an equal area projection (EAP) format, or an adjusted equal area projection (AEP) format.

12. 1. A device for coding video content, comprising: a processor, the processor comprising: receiving pictures associated with the video content in a bitstream; receiving a wraparound enable indication indicating whether horizontal wraparound motion compensation is enabled; determining a wrap-around offset of a reference sample of a current sample in the picture based on the wrap-around enable indication indicating that the horizontal wrap-around motion compensation is enabled; determining a reference sample location of the current sample based on a wrap-around offset of the reference sample, a picture width of the picture, and a current sample location; and predicting the current sample based on the reference sample location The device is configured to:

13. The processor, further configured to determine whether to receive an offset indication of a wraparound offset of the reference sample based on the wraparound enable indication; 13. The device of claim 12, further comprising: upon determining that the wraparound enable indication is enabled, parsing the bitstream to receive the offset indication of the wraparound offset of the reference sample; and upon determining that the wraparound enable indication is disabled, skipping parsing the bitstream and receiving the offset indication of the wraparound offset of the reference sample.

14. Determining a wrap-around offset of the reference sample of the current sample in the picture comprises:

13. The device of claim 12, configured to receive an offset indication of a wrap-around offset of the reference sample in the bitstream, the wrap-around offset of the reference sample being determined based on the offset indication, and the wrap-around offset of the reference sample representing an area width of the picture.

15. Determining a wrap-around offset of the reference sample of the current sample in the picture comprises: receiving a size indication representing a face width of a frame packed picture, the size indication including a width of a guard band in luma samples; and The device of claim 12 configured to calculate the face width of the picture based on the size representation.

16. Determining the reference sample location comprises: Calculating an area width of a frame-packed picture based on the wrap-around offset of the reference sample and the picture width of the picture; identifying the current sample location within the frame packed picture; determining that an original reference sample location is outside the picture; upon determining that the original reference sample location is outside a leftmost horizontal boundary of the picture, determining the reference sample location by adding a wraparound offset of the reference sample to a horizontal sample coordinate associated with the original reference sample location; and 13. The device of claim 12, configured to, upon determining that the original reference sample location is outside a rightmost horizontal boundary of the picture, determine the reference sample location by subtracting a wraparound offset of the reference sample from the horizontal sample coordinate associated with the original reference sample location.

17. The processor, identifying the current sample location within the picture; determining that the current sample location is at a horizontal boundary of the picture; determining that the reference sample location is outside the horizontal boundary of the picture; based on the wraparound enable indication indicating that the horizontal wraparound motion compensation is disabled, the reference sample location on the horizontal boundary of the picture. Identify the The device of claim 12 , configured to predict the current sample based on the reference sample location.

Citation Information

Patent Citations

  • Moving image data decoding device and decoding program

    JP2006041898A

  • Motion estimation and compensation of panoramic video

    JP2008510358A

  • 360-degree video coding using geometry projection

    WO2018009746A1