Sample Derivation for 360-Degree Video Coding

Horizontal geometry padding and wraparound motion compensation address boundary issues in 360-degree video coding, enhancing rendering quality and efficiency by managing sample positions and motion prediction across spherical projections.

JP7825677B2Active Publication Date: 2026-03-06INTERDIGITAL VC HOLDINGS INC
View PDF 3 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing video coding technologies struggle to effectively handle 360-degree videos due to issues with boundary wraparound and non-uniform sampling, leading to visual artifacts and inefficiencies in motion compensation.

Method used

Implementing horizontal geometry padding and wraparound motion compensation, using wraparound enable indications and guard bands to manage sample positions and enable seamless motion prediction across spherical projections like ERP and CMP.

Benefits of technology

Enhances the quality of 360-degree video rendering by reducing visual artifacts and improving motion compensation efficiency, ensuring consistent sampling density and continuous texture across projections.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007825677000012
    Figure 0007825677000012
  • Figure 0007825677000013
    Figure 0007825677000013
  • Figure 0007825677000014
    Figure 0007825677000014
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 becoming part of our daily lives. VR has many application areas, 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 provide an immersive viewing experience. VR creates a virtual environment that surrounds the viewer, creating the feeling that the viewer is truly "there." How to provide a completely realistic sensation within a VR environment is important to the user's experience. For example, VR systems 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] A system, method, and means are disclosed 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] 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 aspect width of the picture. In an example, the video coding device may receive a size indication representing an aspect 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. The picture's face width can be calculated using the quantization function, and the calculated face width can be used as the wrap-around offset of the reference sample. In an example, the guard bands can have the same width. In an example, the guard bands can have different widths.

[0006]

[0006] The video coding device can determine the reference sample location of the current sample based on the wrap-around offset of the reference sample, the 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, a 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 for 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, a video coding device may calculate a picture's face width based on a reference sample's wrap-around offset and a picture width of the picture. The video coding device may identify a current sample location within the picture. The video coding device may determine whether an 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 may determine the reference sample location by adding the reference sample's wrap-around offset 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 may determine the reference sample location by subtracting the reference sample's wrap-around offset 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, based on the wraparound enable indication, whether horizontal wraparound motion compensation is disabled. 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 equirectangular projection (ERP) format, equal-area projection (EAP) format, or adjusted 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 the 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. The correct positions of one or more spherical neighbors may be determined. The geometry padding may calculate the correct positions of one or more spherical neighbors taking into account the position and / or size of guard bands. The position and / or size of guard bands 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 bands.

[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. Horizontal sample coordinates can be wrapped within the coded picture, so that sample positions can be determined. 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 explanation 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] 1 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 padded borders 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 padding geometry for an ERP. [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] 12 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 the picture boundary. [Figure 13]

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

[0033] 10 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] 16B is 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 shown in FIG. 16A. DETAILED DESCRIPTION OF THE INVENTION

[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 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 media application formats and promising technologies can be addressed to improve the quality of 360-degree videos in VR systems and / or standardize the processing chain for 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 can include a processing chain. The processing chain can be or include capture, processing, display, and / or application. With respect to capture, the VR system can use one or more cameras to capture a scene from a variety of different views (e.g., 6-12 views). The views, together The images can 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 can include a computing platform, a head-mounted display (HMD), and / or one or more head tracking sensors. The computing platform can receive and / or decode the 360-degree video and / or generate a viewport for display. Two pictures, one for each eye, can be rendered for the viewport. The two pictures can be displayed on the HMD (e.g., for stereo viewing). Lenses can be used to magnify the image displayed on the HMD for a better view. The head tracking sensor can keep track (e.g., continuously track) 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 viewers 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, HMD display, and / or 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 for fast motion capture. The VR system can include lenses and / or cardboard and / or be driven by a smartphone.

[0021]

[0044] 360-degree video can be compressed and / or delivered using, for example, 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 on a sphere (e.g., as a monolithic structure). The spherical information can be projected onto a 2D plane by a geometric 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. Coordinates (x,y,z) may represent the coordinates of a point in 3D space. 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 may 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 spherical surface, 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 spherical surface shown in FIG. 1A, for example, by back projection. The field of view (FOV) in FIG. 1B shows an example where the FOV on the spherical surface is mapped to a 2D plane with a viewing angle along the X-axis of approximately 110 degrees.

[0023]

[0046] One or more 360-degree videos can be mapped to 2D videos. The mapped videos can be encoded using a video codec (e.g., H.264, HEVC, and / or or the like) and / or delivered to the client. On 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 portion of the equirectangular projection picture that belongs to the FOV on the HMD). The spherical video can be converted into a 2D planar picture for encoding with the ERP. The characteristics of an equirectangular 2D picture may differ 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 a 2D equirectangular picture may be complex along the time direction.

[0024]

[0047] The left and / or right boundaries of the ERP picture may be coded (e.g., coded independently). For example, when the reconstructed video is used to render a viewport that is subsequently displayed to a user via an HMD or via a 2D screen, objectionable visual artifacts in the form of surface seams in the reconstructed video may be created. Padding of N (e.g., 8) luminance samples may be applied on the left and / or right side of the picture. The padded ERP picture, including the padding samples, may be encoded. The ERP reconstructed with padding may be transformed back. For example, the ERP reconstructed with padding may be transformed back (e.g., after decoding) by blending 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 reducing the vertical sampling density. In the EAP, the vertical sampling density can be set to cos(φ), making the combined sampling density constant across the entire 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 temporal 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 within a planar ERP picture.

[0027]

[0050] A geometry projection format can be used to map 360-degree video onto multiple surfaces. For example, cube map projection (CMP) can be used. Figure 2A illustrates an example of CMP geometry. As seen in Figure 2A, a CMP can include six square surfaces, 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 axes. Numbers 0 through 5 can be used to label the surfaces. For example, the surfaces can be labeled PX(0), NX(1), PY(2), NY(3), PZ(4), and NZ(5). If the radius of the tangent sphere is 1, the horizontal length of each surface can be 2. The six surfaces in the CMP format can be packed (e.g., frame-packed) together into a picture (e.g., a single picture). The faces may be rotated by an amount (e.g., a certain degree) that may affect (e.g., maximize) the continuity between adjacent faces. FIG. 2B illustrates an example of packing six faces into a rectangular picture. The face indices may be arranged in a direction aligned with the corresponding rotation of the faces. For example, face #3 and face #1 may be rotated 180 degrees and 270 degrees counterclockwise, respectively. The remaining faces may not be rotated. In an example, a 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 contiguous in the 3D geometry, and a seam, such as a discontinuous boundary, may exist between 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 toward 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 adjust a face (e.g., each face) using a vertical and / or horizontal nonlinear warping function. In EAC, for example, the adjustment may be performed using a tangent function. In ACP, the adjustment may be performed using a quadratic 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. Cube-map-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 within 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 videos 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 iterative 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 iterative padding of ERP and CMP.

[0032]

[0055] A 360-degree video can include video information regarding a spherical surface (for example, the entire spherical surface) and / or can have cyclicity. The reference picture of a 360-degree video may have no boundary. For example, the reference picture of a 360-degree video can be wrapped around the spherical surface (for example, it may have no boundary). Cyclicity may exist when representing a 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 spherical surface using longitude and latitude. For a padded point (u, v) (which is outside the ERP picture, for example), the padding 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 in the ERP. Padding can be performed outside the left boundary of a picture. For example, as seen in FIG. 4A, samples A, B, and C, which are located outside the left boundary of a picture, can be padded with samples A', B', and C', which may be located inside the right boundary of the picture. Padding can be performed outside the right boundary of a picture. For example, as seen in FIG. 4A, samples D, E, and F can be padded with samples D', E', and F', which may be located inside the left boundary of the picture. Padding can be performed outside the top boundary of a picture. For example, as seen in FIG. 4A, samples G, H, I, and J can be padded with samples G', H', I', and J', which may be located inside the top boundary of the picture, shifted by half their width. Padding can be performed outside the bottom boundary of a picture. For example, as seen in FIG. 4A, samples K, L, M, and N can be padded with samples K', L', M', and N', which may be offset half their 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 boundaries of the ERP picture. 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 and to 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 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. Figure 5B illustrates an example of an extended face using geometry padding for a CMP 3x2 picture. As shown in Figure 5B, padding can be performed on each face individually. Geometry padding can provide samples for areas outside the boundary of the 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 exemplary 360-degree video distribution implementation can include 360-degree video capture, where multiple cameras can be used to capture video covering a spherical space (e.g., the entire spherical space). 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 one or more projection formats for encoding, 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 for rendering by 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. Extended block sizes (e.g., called coding units (CUs)) can be used (e.g., as used in HEVC) to compress high-resolution video signals (e.g., 1080p and / or above). 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, to 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, for example, intra prediction) may predict the current video block using pixels from previously coded neighboring blocks within the same video picture and / or slice. Spatial prediction may reduce spatial redundancy inherent in a video signal. Motion prediction (e.g., called inter prediction or temporal prediction) may predict the current video block using pixels from previously coded video pictures. Motion prediction may reduce temporal redundancy inherent in a video signal. The motion prediction 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), the reference picture index of the video block may be signaled to the decoder. The reference index can 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 on, for example, rate-distortion optimization. The prediction block may be subtracted from the current video block at 616. The prediction residual may be decorrelated using the transform module 604 and the 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. At 626, the reconstructed residual may be added back to the prediction block 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, after which it is placed in a reference picture store 664. Reference pictures in the reference picture store 664 may be used to code future video blocks. The output video The coding mode (e.g., inter- or intra-coding mode), prediction mode information, motion information, and / or quantized residual coefficients may be sent to entropy coding unit 608 for compression and packing to form bitstream 620.

[0039]

[0062] Figure 8 illustrates an example of a block-based video decoder. A video bitstream 202 may be received, unpacked, and / or entropy decoded by 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 by 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 video. Video coding can exploit spatial and / or temporal correlation, for example, to eliminate information redundancy. One or more prediction techniques, such as intra prediction and / or inter prediction, can be applied during video coding. 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, the 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. Figure 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 in the current picture, respectively. Reference block B0' may be partially outside the boundary of the reference picture. Padding may be used to fill missing samples outside the picture boundary. Figure 12 shows an example of padding for reference samples outside the picture boundary. For example, the example 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 to (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 a 2D-to-3D and 3D-to-2D mapping function. The 2D-to-3D and 3D-to-2D mapping function 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 a bit-shift operation. 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. Multiple samples in the reference picture can be pre-padded around a picture boundary. One or more pre-padded samples may be unused. For example, one or more pre-padded samples may be omitted and may not be used when no motion vector in the bitstream references the padded samples. The reference picture and / or the pre-padded samples can be stored. For example, the reference picture and / or the pre-padded samples can be stored in a memory.

[0046]

[0069] In an example, geometry padding may be implemented based on deriving one or more samples when fetching spherical neighbors, 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 can be fetched from different parts of the projected video. For example, if the motion vector occupies a left portion 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 outside the left edge can be fetched from the right side of the ERP picture, and the part 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 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 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] The correct positions of one or more spherical neighbors may be determined. For example, the video coding device may determine the correct positions 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 offsets, such as the wrap-around offset of the reference sample, due to geometry padding and calculate the correct positions 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 the correct positions of one or more spherical neighbors based on a size indication representing the areal width of the frame-packed picture. The size indication may be or may include a guard band size, such as a guard band width in luma samples. Based on the size indication, which may be or may include the guard band size width, the video coding device may calculate the correct positions of one or more spherical neighbors associated with the current sample. The position and / or size of the guard bands can be (e.g., may have been) added when packing one or more surfaces into a picture. The guard bands may have been added when packing one or more surfaces into a picture, such as a frame-packed picture. For example, the guard bands may have been added when packing one or more surfaces into a picture before 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 projection formats, geometry padding can be performed horizontally. When geometry padding is performed horizontally, vertical repetitive padding can be used. Horizontal sample coordinates can be wrapped within the coded picture, so that sample positions can be determined (e.g., see equation (3)). 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 the sequence and / or picture level. For example, a wraparound enable indication indicating geometry padding may be signaled at the sequence level, such as in 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 a sequence and / or may be signaled at the picture level. The position and / or orientation of a face of a frame-packed picture may be signaled in the bitstream. An indication representing a face width associated with a frame-packed picture may be signaled in the bitstream. An indication of one or more offsets, such as a size indication indicating the width of a 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 a face edge may be signaled in the bitstream. The location of the guard bands, such as offsets, may be based on the projection format. For example, in the case of a single-face-based projection geometry, the guard bands may be located at the left and / or right face boundaries. In an example, the sizes of the guard bands located at the left and right face boundaries may be the same. In an example, the sizes of the guard bands located at the left and right face boundaries may be different. A size indication indicating the width of the guard bands may include the width of the guard bands, such as left and right guard bands. For a multi-facet-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-facet-based projection format, the size indication may include the width of each guard band.

[0054]

[0077] One or more 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 as a size indication representing the face width of the frame-packed picture. To indicate the width of the guard bands as described herein, 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 contain the mapping index (for example, 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 the 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_presnt_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 by a sphere, 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 guard_bands_size_in_luma_samples. The face width of a frame-packed picture may be calculated based on the size indication. The calculated face width may be used as a wraparound offset for 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 single-facet-based projection geometries such as ERP, EAP, AEP, and / or similar formats, one or more guard bands may be defined at the left and / or right face boundaries. In examples, the guard bands at the left and right face boundaries may have the same width. In examples, the guard bands at the left and right face boundaries may have different widths. For multi-facet-based projection geometries 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 to 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 sides 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 indicator, may be or include pic_width_in_luma_samples. A parameter such as size indicator 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, for example, 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 may have the same size. In an example, the left and right guard bands may have different sizes. When the left and right guard bands have different sizes, the size of the guard bands (e.g., individual sizes) may 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 can express 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 luma samples of the guard band used in frame-packed pictures at the right plane boundary of pictures associated with single-plane-based projections (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 indicating 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 based on, for example, 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 can be a padded geometry based on one or more samples. In inter-prediction, a current block in a current picture can be predicted from a reference block in a reference picture. For example, a current block in a current picture can be predicted from a reference block in a reference picture using an MV corresponding to a translational motion from the current block position to the reference block position. For a sample position (x, y) in the current block, a prediction signal Ipred(x, y) can be obtained from the reference picture Iref and 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 1 / 2, 1 / 4, 1 / 8, 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 neighboring 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 to (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 the 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 cyclical nature of 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, a display, such as a wraparound enablement display, 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 reference sample wrap-around offset to the 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 a wrap-around offset of the reference sample. A 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., an 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 reference sample wrap-around offset to the horizontal sample coordinate (e.g., 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 reference sample wrap-around offset 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 geometries (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 can 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 and take into account the cyclic nature of the 360-degree video.

number

[0083]

[0102] For single-plane-based projection geometries (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 fractional sample interpolation process for inter prediction.

[0084] [Table 5]

[0085]

[0103] The wraparound 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] 14 illustrates an example of caching reconstructed samples for inter prediction when using horizontal geometry padding. In inter prediction, samples in a reference picture may be accessed more than once because 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 memory (e.g., local memory) for fast read access when performing inter-prediction, as shown in Figure 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 on 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: a first area located around the current block position (e.g., for prediction of the two sub-portions 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-portions 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 at 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). Recursive padding may be applied to obtain one or more sample values ​​used in the interpolation for the prediction of the P1 and P3 regions shown in Figure 12.

[0089]

[0107] When interpolation is needed, to predict the portions corresponding to the P0 and P2 regions, one or more adjacent samples may be obtained by repetitive padding (e.g., by repeating one or more samples at the right edge of the picture using the cyclical nature of 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 portions, for the first portion corresponding to the P1 and P3 regions, the motion vector may remain unchanged. For the second portion 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 can be accessed from outside the cache. In the case of horizontal geometry padding, the wrapping operation can be limited to skip fetching one or more samples located outside the cached data. For example, horizontal geometry padding can 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 can be applied outside this range. Equations (15) and (18) can be replaced by equations (19) and (20), respectively.

number

[0091]

[0109] When interpolating one or more samples at fractional sample locations, the one or more samples at full sample locations used by the interpolation filter may 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 through ro,o at fractional sample locations may be interpolated using luma sample Ai,j at full sample locations (xAi,j, yAi,j). For luma sample Ai,j at full sample locations, the xAi,j and yAi,j coordinates may 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 the 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 multicarrier (FBMC), and the like.

[0093]

[0111] 16A, communications system 100 may include wireless transmit / receive units (WTRUs) 102a, 102b, 102c, 102d, RANs 104 / 113, CNs 106 / 115, 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. 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 user equipment (UE), mobile stations, fixed or mobile subscriber units, subscription-based units, pagers, cellular phones, personal digital assistants (PDAs), smartphones, laptops, netbooks, PCs, etc. The WTRUs 102a, 102b, 102c, and 102d may include, for example, personal computers, wireless sensors, hotspot or Mi-Fi devices, Internet of Things (IoT) devices, watches or other wearables, head-mounted displays (HMDs), vehicles, drones, medical devices and applications (e.g., remote surgery), industrial devices and applications (e.g., robots and / or other wireless devices operating in industrial and / or automated processing chain situations), consumer electronics devices, 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 communications system 100 may also include a base station 114a and / or a base station 114b. Each of the base stations 114a, 114b may be any type of device configured to wirelessly interface with at least one of the WTRUs 102a, 102b, 102c, 102d to facilitate access to one or more communications networks, such as the CN 106 / 115, the Internet 110, and / or other networks 112. By way of example, the base stations 114a, 114b may be a base transceiver station (BTS), a Node-B, an eNode-B, a Home Node-B, a Home eNode-B, a gNB, an NR Node-B, a site controller, an access point (AP), a wireless router, and the like. While 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, etc. The base station 114a and / or base station 114b may be configured to transmit and / or receive wireless signals on one or more carrier frequencies, sometimes referred to as a cell (not shown). These frequencies may be in 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, utilizing multiple transceivers for each sector of the cell, e.g., using beamforming to transmit and / or receive signals in desired spatial directions.

[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. For example, the base station 114a and the WTRUs 102a, 102b, 102c, 102d, 102e, 113a, 113b, 113c, 113d ... 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). It is possible to implement radio technologies such as NR radio access, which is supported by LTE.

[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] 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 local 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 using a cellular-based RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR, etc.). As shown in FIG. 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 through 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. 16A, it will be understood 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 in the communications system 100 may include multi-mode capabilities (e.g., the WTRUs 102a, 102b, 102c, 102d may include multiple transceivers for communicating with different wireless networks over different wireless links.) For example, the WTRU 102c shown in Figure 16A may be configured to communicate with a base station 114a that can use cellular-based wireless technology and with a base station 114b that can use IEEE 802 wireless technology.

[0106]

[0124] 16B is a system diagram illustrating an example of a WTRU 102. As shown in FIG. 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. While 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 signals, UV signals, or visible light signals. In yet another embodiment, the transmit / receive element 122 may be configured to transmit and / or receive both RF signals and light signals. It will be understood 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 techniques. 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. Additionally, the processor 118 may access information from and store data in any type of suitable memory, such as non-removable memory 130 and / or removable memory 132. The non-removable memory 130 may include random access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 132 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like. In other embodiments, the processor 118 may access information from and store data in memory that is not physically located on the WTRU 102, such as on a server or home computer (not shown).

[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 cells (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 instead 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 position 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), 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, a direction 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 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 on either 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, and 160c, although the RAN 104 may include any number of eNode-Bs 160a, 160b, and 160c while remaining consistent with an embodiment. It will be understood 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 is depicted as part of the CN 106, it will be understood that any of these elements may be owned and / or operated by an entity 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. The 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 communication 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 may be in communication 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 communication interface (e.g., temporarily or permanently) with the communication 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 BSS 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 delivered to the STA. Traffic originating from a STA to a destination outside the BSS may be sent to the AP for delivery to the respective destination. Traffic between STAs within a BSS may be sent through the AP, for example, where the source STA may send traffic to the AP, and the AP may deliver the traffic to the destination STA. Traffic between STAs within 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 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 within or using an IBSS (e.g., all of the STAs) can communicate directly with each other. IBSS mode communication is sometimes referred to herein as "ad hoc" mode communication.

[0127]

[0145] When using the 802.11ac infrastructure mode of operation or a similar mode of operation, an AP may transmit beacons 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 the 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., all STAs), including the AP, may sense the primary channel. If a particular STA senses / detects and / or determines that the primary channel is busy, the particular STA may back off. One STA (e.g., only one station) may transmit in a given BSS at any given time.

[0128]

[0146] High Throughput (HT) STAs are, for example, primary 40 MHz wide channels may be formed by combining 20 MHz channels with adjacent or non-adjacent 20 MHz channels to form 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, after channel coding, the data 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 the TV White Space (TVWS) spectrum, while 802.11ah supports 1 MHz, 2 MHz, 4 MHz, 8 MHz, and 16 MHz bandwidths using non-TVWS spectrum. According to representative embodiments, 802.11ah can support meter-type control / machine-type communication, such as MTC devices in macro coverage areas. MTC devices may have limited functionality, including certain features, such as support for certain bandwidths and / or limited bandwidths (e.g., support for only that bandwidth). MTC devices may include batteries with above-threshold battery life (e.g., to maintain 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 may be 1 MHz wide for STAs (e.g., MTC-type devices) that support (e.g., only support) 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) may be used to set and / or limit the bandwidth of the primary channel. ) setting may depend on the status of the primary channel. For example, if the primary channel is busy due to STAs (that only support 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 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. Hz to 923.5 MHz. In Japan, 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 may 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, and 180c, although it will be understood that the RAN 113 may include any number of gNBs while remaining consistent with an embodiment. The gNBs 180a, 180b, and 180c may each include one or more transceivers for communicating with the WTRUs 102a, 102b, and 102c over the air interface 116. In one embodiment, the gNBs 180a, 180b, and 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, and 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 unlicensed spectrum, while the remaining component carriers may be on 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 the gNBs 180a and 180b (and / or 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 RANs (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 spectrum. In a non-standalone configuration, the WTRUs 102a, 102b, 102c may communicate / connect with the gNBs 180a, 180b, 180c while also communicating / connecting with another RAN, such as eNode-Bs 160a, 160b, 160c. For example, the WTRUs 102a, 102b, 102c may implement DC principles to communicate with one or more gNBs 180a, 180b, 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 gNB 180a, 180b, 180c can be associated with a particular cell (not shown) and is responsible for radio resource management decisions, handover decisions, scheduling of users in the UL and / or DL, supporting 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 Function (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 may 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 and 183b can be connected to the AMFs 182a and 182b in the CN 115 via an N11 interface. The SMFs 183a and 183b can also be connected to the UPFs 184a and 184b in the CN 115 via an N4 interface. The SMFs 183a and 183b can select and control the UPFs 184a and 184b and configure the routing of traffic through the UPFs 184a and 184b. The SMFs 183a, 183b may perform other functions such as managing and assigning IP addresses for UEs, managing PDU sessions, controlling policy enforcement and QoS, providing downlink data notification, and the like. PDU session types can 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 communication 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 policy, 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 one embodiment, the WTRUs 102a, 102b, 102c may connect to local data networks (DNs) 185a, 185b through the UPFs 184a, 184b via an N3 interface to the UPFs 184a, 184b and an N6 interface between the UPFs 184a, 184b and the DNs 185a, 185b.

[0143]

[0161] 16A-16D and the corresponding descriptions 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 simulate network and / or WTRU functions.

[0144]

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

[0145]

[0163] The one or more emulation devices 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 devices may be utilized in test labs and / or test scenarios in undeplicated (e.g., test) wired and / or wireless communications networks to perform testing of one or more components. The one or more emulation devices 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 devices to transmit and / or receive data.

[0146]

[0164] The processes and techniques described herein may be implemented in a computer program, software, and / or firmware embodied in a computer-readable medium for execution by a computer and / or processor. Examples of computer-readable media include, but are not limited to, electronic signals (transmitted 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 video decoding, comprising: obtaining a location of a current block within a current picture, the location of the current block being associated with the current block; obtaining a location of a co-located block based on the location of the current block, the co-located block location being associated with a co-located block, the co-located block being adjacent to the current block, and the co-located block including a first sub-area and a second sub-area; determining that the second sub-area is located outside a boundary of the current picture; obtaining a location of a second sub-area based on a determination that the second sub-area is located outside the boundary of the current picture, the location of the second sub-area being located on another side of the boundary of the current picture; determining whether a first sample value from the first sub-area is cached; and determining whether a second sample value from the second sub-area is cached. based on a determination that the first sample value from the first sub-area is cached and based on a determination that the second sample value from the second sub-area is cached, decoding the current block based on the cached first sample value and the cached second sample value; A method comprising:

2. obtaining the second sample values ​​from locations in the second sub-area; The method of claim 1 , comprising:

3. The method of claim 2 , wherein the location of the second sub-area is obtained based on a wrap-around display.

4. Determining whether the first sample value is cached and determining whether the second sample value is cached include:

2. The method of claim 1, comprising determining whether a first plurality of samples in the first sub-area are cached in memory and determining whether a second plurality of samples in the second sub-area are cached in memory.

5. The method of claim 1 , wherein the first sub-area is located inside a boundary of the current picture and the second sub-area is located outside the boundary of the current picture.

6. The method of claim 1 , wherein the first sub-area is associated with a location of the current block and the second sub-area is associated with a location of the co-located block.

7. The method comprises:

2. The method of claim 1, comprising at least one of performing iterative padding to obtain the first sample value based on a determination that the first sample value from the first sub-area is not cached, or performing iterative padding to obtain the second sample value based on a determination that the second sample value from the second sub-area is not cached.

8. The method of claim 1 , wherein the current picture is associated with at least one of an equirectangular projection format, an equal-area projection format, or an adjusted equal-area projection format.

9. The method of claim 1 , wherein the current picture is associated with 360-degree video content.

10. 1. An apparatus for video decoding, comprising: a processor, the processor comprising: obtaining a location of a current block within a current picture, the location of the current block being associated with the current block; obtaining a location of a co-located block based on the location of the current block, the co-located block location being associated with a co-located block, the co-located block being adjacent to the current block, and the co-located block including a first sub-area and a second sub-area; determining that the second sub-area is located outside a boundary of the current picture; obtaining a location of a second sub-area based on a determination that the second sub-area is located outside the boundary of the current picture, the location of the second sub-area being located on another side of the boundary of the current picture; determining whether a first sample value from the first sub-area is cached; and determining whether a second sample value from the second sub-area is cached. based on a determination that the first sample value from the first sub-area is cached and based on a determination that the second sample value from the second sub-area is cached, decoding the current block based on the cached first sample value and the cached second sample value; An apparatus configured to:

11. The processor: obtaining the second sample values ​​from locations in the second sub-area; The apparatus of claim 10 configured to:

12. The apparatus of claim 11 , wherein the location of the second sub-area is obtained based on a wraparound display.

13. The processor being configured to determine whether the first sample value is cached and to determine whether the second sample value is cached means that the processor:

11. The apparatus of claim 10, further configured to: determine whether a first plurality of samples in the first sub-area are cached in memory; and determine whether a second plurality of samples in the second sub-area are cached in memory.

14. The apparatus of claim 10 , wherein the first sub-area is located inside a boundary of the current picture and the second sub-area is located outside the boundary of the current picture.

15. The apparatus of claim 10 , wherein the first sub-area is associated with a location of the current block and the second sub-area is associated with a location of the co-located block.

16. The processor:

11. The apparatus of claim 10, further comprising at least one of: performing iterative padding to obtain the first sample value based on a determination that the first sample value from the first sub-area is not cached; or performing iterative padding to obtain the second sample value based on a determination that the second sample value from the second sub-area is not cached.

17. The apparatus of claim 10 , wherein the current picture is associated with at least one of an equirectangular projection format, an equal-area projection format, or an adjusted equal-area projection format.

18. The device of claim 10 , wherein the current picture is associated with 360-degree video content.

19. 10. A non-transitory computer readable medium comprising instructions for palette decoding video data, the instructions causing a processor to perform the method of any one of claims 1 to 9.

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