Abstract:
A video processing method includes: receiving a current input frame having a 360-degree image/video content represented in a 360-degree Virtual Reality (360 VR) projection format, applying content-oriented rotation to the 360-degree image/video content in the current input frame to generate a content-rotated frame having a rotated 360-degree image/video content represented in the 360 VR projection format, encoding the content-rotated frame to generate a bitstream, and signaling at least one syntax element via the bitstream, wherein the at least one syntax element is set to indicate rotation information of the content-oriented rotation.
Abstract:
A video processing method includes receiving a bitstream, and decoding, by a video decoder, the bitstream to generate a decoded frame. The decoded frame is a projection-based frame that has a 360-degree image/video content represented by triangular projection faces packed in an octahedron projection layout. An omnidirectional image/video content of a viewing sphere is mapped onto the triangular projection faces via an octahedron projection of the viewing sphere. An equator of the viewing sphere is not mapped along any side of each of the triangular projection faces.
Abstract:
A video processing method includes: receiving an omnidirectional image/video content corresponding to a viewing sphere, generating a sequence of projection-based frames according to the omnidirectional image/video content and an octahedron projection layout, and encoding, by a video encoder, the sequence of projection-based frames to generate a bitstream. Each projection-based frame has a 360-degree image/video content represented by triangular projection faces packed in the octahedron projection layout. The omnidirectional image/video content of the viewing sphere is mapped onto the triangular projection faces via an octahedron projection of the viewing sphere. An equator of the viewing sphere is not mapped along any side of each of the triangular projection faces.
Abstract:
A method and system for encoding a group of coding blocks and packetizing the compressed data into slices/packets with hard-limited packet size are disclosed. According to the present invention, a packetization map for at least a portion of a current picture is determined. The packetization map associates coding blocks in at least a portion of the current picture with one or more packets by identifying a corresponding group of coding blocks for each packet of said one or more packets. The corresponding group of coding blocks for each packet is then encoded according to the packetization map and the size of each packet is determined. The packet size is checked. If any packet size exceeds a constrained size, a new packetization map is generated and the corresponding group of coding blocks for each packet is encoded according to the new packetization map.
Abstract:
Apparatus and methods are disclosed for partially decoding video frames when a sub-region of the video is selected for viewing. The method identifies and decodes data units and pixel blocks of video frames needed to display the sub-region while bypassing data units and pixel blocks that are identified as unnecessary for displaying the sub-region. A video encoder receives a video frame comprising a plurality of cubic surfaces in a first configuration corresponding to a full sized 360VR image. Each cubic surface corresponds to a different surface of a cube. The encoder reformats the received video frame by rearranging the plurality of cubic surfaces according to a second configuration that is different than the first configuration. The second configuration re-arranges the six surfaces of a cubic 360VR image in order to fully utilize the line buffer and allow the line buffer to be narrower than the full sized 360VR image.
Abstract:
A method for encoding a frame divided into a plurality of tiles includes: storing encoding-related information derived from blocks in a last block row of a first tile of the frame into a storage device; reading the encoding-related information from the storage device; and performing entropy encoding upon blocks in a first block row of a second tile of the frame based at least partly on the encoding-related information read from the storage device. The first block row of the second tile is vertically adjacent to the last block row of the first tile. The entropy encoding of the first block row of the second tile is started before entropy encoding of the last block row of the first tile is accomplished.
Abstract:
Methods and apparatus of processing cube face images are disclosed. According to embodiments of the present invention, one or more discontinuous boundaries within each assembled cubic frame are determined and used for selective filtering, where the filtering process is skipped at said one or more discontinuous boundaries within each assembled cubic frame when the filtering process is enabled. Furthermore, the filtering process is applied to one or more continuous areas in each assembled cubic frame.
Abstract:
A projection-based frame is generated according to an omnidirectional video frame and a triangle-based projection layout. The projection-based frame has a 360-degree image content represented by triangular projection faces assembled in the triangle-based projection layout. A 360-degree image content of a viewing sphere is mapped onto the triangular projection faces via a triangle-based projection of the viewing sphere. One side of a first triangular projection face has contact with one side of a second triangular projection face, one side of a third triangular projection face has contact with another side of the second triangular projection face. One image content continuity boundary exists between one side of the first triangular projection face and one side of the second triangular projection face, and another image content continuity boundary exists between one side of the third triangular projection face and another side of the second triangular projection face.
Abstract:
A video processing method includes receiving a bitstream, and decoding, by a video decoder, the bitstream to generate a decoded frame. The decoded frame is a projection-based frame that has a 360-degree image/video content represented by triangular projection faces packed in a triangle-based projection layout. An omnidirectional image/video content of a viewing sphere is mapped onto the triangular projection faces via a triangle-based projection of the viewing sphere. An equator of the viewing sphere is not mapped along any side of each of the triangular projection faces.
Abstract:
A projection-based frame is generated according to an omnidirectional video frame and a triangle-based projection layout. The projection-based frame has a 360-degree image content represented by triangular projection faces assembled in the triangle-based projection layout. A 360-degree image content of a viewing sphere is mapped onto the triangular projection faces via a triangle-based projection of the viewing sphere. One side of a first triangular projection face has contact with one side of a second triangular projection face, one side of a third triangular projection face has contact with another side of the second triangular projection face. One image content continuity boundary exists between one side of the first triangular projection face and one side of the second triangular projection face, and another image content continuity boundary exists between one side of the third triangular projection face and another side of the second triangular projection face.