BACKGROUND

360° video is a rapidly growing format emerging in the media industry. 360° video is enabled by the growing availability of virtual reality (VR) devices. 360° video may provide the viewer a new sense of presence. When compared to rectilinear video (e.g., 2D or 3D), 360° video may pose difficult engineering challenges on video processing and/or delivery. Enabling comfort and/or an immersive user experience may require high video quality and/or very low latency. The large video size of 360° video may be an impediment to delivering the 360° video in a quality manner at scale.

SUMMARY

A video coding device may predictively code a current picture in a 360-degree video based on a reference picture having a different frame packing configuration. The current picture may be a frame-packed picture having one or more faces. The frame packing configuration (e.g., face layout and/or face rotations parameters) for the current picture may be identified, and the frame packing configuration for a reference picture of the current picture may be identified. Whether to convert the frame packing configuration of the reference picture to match the current picture may be determined based on a comparison of the frame packing configuration for the current picture and the frame packing configuration for the reference picture. The device may convert the frame packing configuration of the reference picture to match the frame packing configuration of the current picture when the frame packing configuration of the reference picture is different than the frame packing configuration of the current picture. The device may predict the current picture based on the reference picture.

A video coding device may be configured to determine whether to convert the frame packing configuration (e.g., face layout and/or face rotations parameters) of reference picture used to predict a current picture. The video coding device may determine to convert the frame packing configuration of the reference picture to match the frame packing configuration of the current picture when the frame packing configuration for the current picture and the frame packing configuration for the reference picture are different. The device may determine that the frame packing configuration for the current picture and the frame packing configuration for the reference picture are different based on parameters associated with the current picture and/or the reference picture (e.g., a picture parameter set (PPS) identifier).

A video device may determine a frame packing configuration (e.g., face layout and/or face rotations parameters) associated with a current picture. The frame packing configuration associated with the current picture may be identified based on received frame packing information. The device may determine whether to receive frame packing information associated with the current picture. The device may determine whether to receive frame packing information associated with a current picture based on the frame type of the current picture. For example, the device may determine to receive frame packing information associated with the current picture when the current picture is an intra-coded picture. The device may determine a frame packing configuration based on the received frame packing information. The frame packing configuration may be associated with the current picture and one or more subsequent pictures (e.g., one or more pictures in a random access segment (RAS)).

A video coding device may be configured to periodically select the frame packing configuration (e.g., face layout and/or face rotations parameters) for frames in a 360 video. The device may receive a plurality of pictures, which may each comprise a plurality of faces. The pictures may be grouped into a plurality of RASs. The frame packing information may change from RAS to RAS. The device may select a frame packing configuration for a first RAS. The device may select a frame packing configuration for a second RAS. The frame packing configuration for the first RAS may be different than the frame packing configuration for the second RAS. The frame packing configuration for the first RAS and the frame packing configuration for the second RAS may be signaled in the video bitstream. In an example, a predetermined set of frame packing configurations may be cycled through.

A video coding device may be configured to select a frame packing configuration for a RAS. The device may determine a gradient for the faces in a first picture of the RAS (e.g., an infra coded picture). The gradient may be a dominant gradient. The gradient may be computed on luma samples. The device may determine a potential cost associated with coding the first picture for each of a plurality of frame packing configurations. The potential cost for each of the plurality of frame packing configurations may be based on the gradient of the faces. The device may select a frame packing configuration with the lowest cost.

