Video encoding method and related video decoding method
By applying mapping functions to adjust the sampling distribution in cube map projection, the problem of uneven sampling distribution in conventional cube map projection is solved, and the efficiency of video encoding and decoding is improved, and it is especially suitable for high-resolution omnidirectional videos.
Patent Information
- Application Number
- CN202080041191.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-06-11
- Filing Date
- 2020-07-02
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2040-07-02
AI Technical Summary
When the prior art projects the 360-degree content of the sphere onto the six faces of the cube, the sampling distribution is uneven, resulting in the sampling rate near the center of the projection surface being much lower than the boundary of the projection surface, affecting the efficiency of video encoding and decoding.
A modified cube map projection design is adopted to adjust the sampling distribution of conventional cube map projections by applying a mapping function on (u, v) coordinates to make it more uniform. The design sends syntax elements associated with the cube projection through a bitstream to determine the sample location of each projection surface.
A more uniform sampling rate is achieved, improving the efficiency of video encoding and decoding, especially when dealing with high-resolution omnidirectional video, reducing the bit rate requirement.
Smart Images

Figure CN114303381B_ABST
Abstract
Description
[0001] Related references
[0002] The claims of the present invention claim priority to the following applications: Application No. 62 / 869,627 filed on July 2, 2019, Application No. 62 / 871,840 filed on July 9, 2019, and Application No. 62 / 903,056 filed on September 20, 2019. The entire contents of the above-mentioned U.S. Provisional Applications, including Application No. 62 / 869,627, Application No. 62 / 871,840 and Application No. 62 / 903,056, are incorporated herein by reference. Technical Field
[0003] The present invention relates to video encoding and video decoding, and in particular to a video encoding method with a syntax element and a related video decoding method, wherein the syntax element sends a mapping function adopted by a cube-based projection. Background Art
[0004] Virtual reality (VR) with a head-mounted display (HMD) is associated with various applications. The ability to display wide field of view content to the user can be used to provide an immersive visual experience. The real-world environment must be captured in all directions, resulting in omnidirectional video corresponding to a sphere. With the advancement of camera equipment and HMD, the delivery of VR content may soon become a bottleneck due to the high bit rate required to represent such 360-degree image content. When the resolution of omnidirectional video is 4K or higher, data compression / encoding is critical to reducing the bit rate.
[0005] Typically, omnidirectional video corresponding to a sphere is converted into frames having 360-degree image content represented by projection surfaces arranged in a 360-degree virtual reality (360VR) projection layout, and the resulting frames are then encoded into a bitstream for transmission. Assume that a conventional cubemap projection (CMP) is used to project the 360-degree content on the sphere onto the six faces of a cube. Due to the inherent characteristics of the conventional CMP, the sampling rate near the center of the projection surface is much lower than the boundary of the projection surface. Therefore, a modified cubemap projection design is needed that can adjust the sampling distribution of the conventional CMP to achieve a more uniform sampling rate, and syntax elements associated with the modified cubemap projection can be sent to a video decoder. Summary of the invention
[0006] One of the objects of the claimed invention is to provide a video encoding method and a related video decoding method having a syntax element that signals a mapping function adopted for a cube-based projection.
[0007] According to a first aspect of the present invention, an exemplary video encoding method is disclosed. The exemplary video encoding method includes: encoding a projection-based frame to generate a portion of a bitstream, wherein at least a portion of a 360-degree content of a sphere is mapped to a plurality of projection surfaces by a cube-based projection, and the projection-based frame has a plurality of projection surfaces packed in a cube-based projection layout; sending at least one syntax element through the bitstream, wherein the at least one syntax element is associated with a mapping function adopted by the cube-based projection to determine a sample position for each of the plurality of projection surfaces.
[0008] According to a second aspect of the present invention, an exemplary video decoding method is disclosed. The exemplary video decoding method includes: decoding a portion of a bitstream to generate a decoded frame, wherein the decoded frame is a projection-based frame having a plurality of projection surfaces packed in a cube-based projection layout, and at least a portion of a spherical 360-degree content is mapped to the plurality of projection surfaces through a cube-based projection; parsing at least one syntax element from the bitstream, wherein the at least one syntax element is associated with a mapping function adopted by the cube-based projection to determine a sample position for each of the plurality of projection surfaces.
[0009] These and other objects of the present invention will no doubt become apparent to those of ordinary skill in the art after reading the following detailed description of the preferred embodiments illustrated in the various drawings and figures. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 A 360-degree virtual reality (360VR) system according to an embodiment of the present invention.
[0011] Figure 2 A cube-based projection according to an embodiment of the present invention is shown.
[0012] Figure 3 A mapping between a square projection surface of a cube in a 3D space and a square projection surface on a 2D plane according to an embodiment of the present invention is shown. DETAILED DESCRIPTION
[0013] Throughout the following description and claims, specific terms are used that refer to specific elements. As will be understood by one of ordinary skill in the art, electronic device manufacturers may refer to the same element by different names. This document is not intended to distinguish between elements that have different names but the same function. In the following description and claims, the terms "include" and "comprise" are used in an open-ended manner and should therefore be interpreted to mean "including but not limited to...". Moreover, the term "coupled" is intended to mean an indirect or direct electronic connection. Therefore, if one device is coupled to another device, the connection may be through a direct electronic connection, or through an indirect electronic connection through other devices and links.
[0014] Figure 1 A diagram of a 360VR system according to an embodiment of the present invention is shown. The 360VR system 100 includes two video processing devices (e.g., a source electronic device 102 and a target electronic device 104). The source electronic device 102 includes a video acquisition device 112, a conversion circuit 114, and a video encoder 116. For example, the video acquisition device 112 can be an omnidirectional camera. The conversion circuit 114 generates a projection-based frame IMG with a 360-degree virtual reality (360VR) projection layout L_VR based on an omnidirectional video frame S_IN corresponding to a sphere, wherein the omnidirectional video frame S_IN contains 360-degree content of the sphere. The video encoder 116 is an encoding circuit that encodes the projection-based frame IMG (which has multiple projection surfaces packaged in the 360VR projection layout L_VR) to generate a portion of a bitstream BS, and outputs the bitstream BS to the target electronic device 104 through a transmission device 103 such as a wired / wireless communication link or a storage medium.
[0015] The target electronic device 104 may be a head-mounted display (HMD) device. Figure 1As shown, the target electronic device 104 includes a video decoder 122, a graphics rendering circuit 124 and a display device 126. The video decoder 122 is a decoding circuit that receives a bitstream BS from a transmission device 103 (e.g., a wired / wireless communication link or a storage medium), and decodes a portion of the received bitstream BS to generate a decoded frame IMG'. In this embodiment, the projection-based frame IMG encoded by the video encoder 116 has a 360VR projection layout L_VR. Therefore, after the video decoder 122 decodes a portion of the bitstream BS, the decoded frame (i.e., the reconstructed frame) IMG' has the same 360VR projection layout L_VR. In other words, the decoded frame IMG' is also a projection-based frame having a projection surface packed in the 360VR projection layout L_VR. The graphics rendering circuit 124 is arranged to drive the display device 126 to display the image content of the viewport area selected by the user. The graphics rendering circuitry 124 may comprise conversion circuitry 125 arranged to process a portion of the image content carried by the decoded frame IMG′ to obtain pixel data associated with the image content of the selected viewport region.
[0016] In this embodiment, the 360VR projection layout L_VR is a cube-based projection layout. Therefore, multiple projection surfaces derived from different faces of the cube are packed in a cube-based projection layout, which is adopted by the projection-based frame IMG / decoded frame IMG'. In one embodiment, a cube-based projection with six square projection surfaces representing a complete 360°×180° omnidirectional video (i.e., all 360 degrees of a sphere) may be adopted. In another embodiment, a cube-based projection with five projection surfaces (including one full surface and four half surfaces) representing a 180°×180° omnidirectional video (i.e., a portion of the 360-degree content of the sphere) is adopted. In short, the cube-based projection may be a conventional cube map projection or a hemispherical cube map projection, depending on actual design considerations. For the sake of simplicity, it is assumed in the following description that six square projection surfaces are obtained through a cube-based projection and are packed in a cube-based projection layout.
[0017] Regarding the conversion circuit 114 of the source electronic device 102, a cube-based projection is adopted to generate a square projection surface of a cube in a three-dimensional (3D) space. Figure 2 A diagram showing a cube-based projection according to an embodiment of the present invention. The entire 360-degree content on the sphere 200 is projected onto six square faces of the cube 201, including the top face (labeled as "top"), the bottom face (labeled as "bottom"), the left face (labeled as "left"), the front face (labeled as "front"), the right face (labeled as "right"), and the back face (labeled as "back"). Figure 2 , the image content of the North Pole region of the sphere 200 is projected onto the top surface “top”, the image content of the South Pole region of the sphere 200 is projected onto the bottom surface “bottom”, and the image content of the equatorial partition of the sphere 200 is projected onto the left surface “left”, the front surface “front”, the right surface “right” and the back surface “back”.
[0018] In the 3D space defined by the x-axis, y-axis and z-axis, each point on the six projection surfaces is located at (x, y, z), where x, y, z∈[-1, 1], where the front face “front” is on the x-plane at x=1, the back face “back” is on the x-plane at x=-1, the top face “top” is on the z-plane at z=1, the bottom face “bottom” is on the z-plane at z=-1, the left face “left” is on the y-plane at y=1, and the right face “right” is on the y-plane at y=-1.
[0019] The forward transform is used to transform the 3D space (x, y, z) into a 2D plane (u, v). Therefore, the top face "top", bottom face "bottom", left face "left", front face "front", right face "right" and back face "back" of the cube 201 in the 3D space are transformed into the top face (marked as "2"), bottom face (marked as "3"), left face (marked as "5"), front face (marked as "0"), right face (marked as "4") and back face (marked as "1") on the 2D plane. Each face is on a 2D plane defined by the u-axis and the v-axis, and each point is located at (u, v).
[0020] The inverse transformation is used to transform the 2D plane (u, v) into the 3D space (x, y, z). Therefore, the top face (marked as "2"), bottom face (marked as "3"), left face (marked as "5"), front face (marked as "0"), right face (marked as "4") and back face (marked as "1") on the 2D plane are converted into the top face "top", bottom face "bottom", left face "left", front face "front", right face "right" and back face "back" of the cube 201 in the 3D space.
[0021] Figure 3 A diagram showing the mapping between a square projection surface of a cube in 3D space and a square projection surface on a 2D plane according to an embodiment of the present invention. For an integer pixel q having 2D coordinates (u, v) on the front side "0", the 2D coordinates (u, v) can be mapped to the 3D coordinates (x, y, 1) of a point p on the front side "positive". Therefore, the integer pixel q is set by the point p. Specifically, for any integer pixel included in the front side "0", its corresponding position in the front side "positive" can be found by the 2D to 3D mapping function used by the inverse transformation. In this way, the front side "0" on the 2D plane can be determined by the inverse transformation of the front side "positive" in the 3D space.
[0022] The inverse transform may be employed by the conversion circuit 114 of the source electronic device 102 to generate a top surface "2", a bottom surface "3", a left surface "5", a front surface "0", a right surface "4", and a back surface "1". The top surface "2", the bottom surface "3", the left surface "5", the front surface "0", the right surface "4", and the back surface "1" on the 2D plane are packed to form a projection-based frame IMG, which is encoded by the video encoder 116. The projection-based frame IMG that needs to be encoded must be rectangular. For example, the projection-based frame IMG may have projection image data arranged in a compact cube-based projection layout 202 to avoid using virtual areas (e.g., black areas, gray areas, or white areas). Since the present invention does not focus on the design of a cube-based projection layout, for the sake of brevity, further description of the compact cube-based projection layout 202 is omitted here.
[0023] The video decoder 122 receives the bitstream BS from the transmission device 103 and decodes a portion of the received bitstream BS to generate a decoded frame IMG' having the same projection layout L_VR (e.g., the compact cube-based projection layout 202) as that adopted on the encoder side. With respect to the conversion circuit 125 of the target electronic device 104, a forward transform is used to transform the 3D space (x, y, z) into a 2D plane (u, v) to determine the pixel value of a pixel of any one of the top surface "top", the bottom surface "bottom", the left surface "left", the front surface "front", the right surface "right" and the back surface "back". Alternatively, an inverse transform is used to transform from the 2D plane (u, v) into the 3D space (x, y, z) to remap the sample position of the projection-based frame to the sphere.
[0024] Please refer again Figure 3 , for an integer pixel P having 3D coordinates (x, y, 1) in the front side “positive”, the 3D coordinates (x, y, 1) can be mapped to the 2D coordinates (u, v) of a point Q on the front side “0”. Therefore, the integer pixel P is set by the point Q. Specifically, for any integer pixel included in the front side “positive”, its corresponding position in the front side “0” can be found by the forward transformation of the 3D to 2D mapping function.
[0025] Assume that a conventional cubemap projection (CMP) is used to project the 360-degree content on the sphere 200 onto the six faces of the cube 201, namely, top, bottom, right, front, left, and back. The sampling rate near the center of the cube face is much lower than that at the edge of the cube face. In other words, the sampling distribution of the conventional CMP is uneven. To solve this problem, the present invention proposes an improved cubemap projection design, which can be obtained by performing a multi-dimensional ... x (u, v) and f yThe mapping function is applied to (u, v) to adjust the sampling distribution of the traditional CMP to achieve a more uniform sampling rate. In some embodiments of the present invention, the 2D to 3D mapping function used by the inverse transform and the 3D to 2D mapping function used by the forward transform at the conversion circuits 114 and 125 may adopt a parameterized mapping function Wherein the square projection surface on the 2D plane (for example, Figure 2 The positions of the points "0", "1", "2", "3", "4", "5") shown in are represented by (u, v), and the square projection surface in 3D space (for example, Figure 2 The position of a point (shown as "front", "back", "top", "bottom", "left" or "right") is given by (f x (u,v),f y In addition, the coefficient a of the parameterized mapping function u , b u , a v and b v The parameterized mapping function is only used for illustrative purposes and is not meant to limit the present invention. x The coefficients of (u, v) may include a u and b u One or both, and F y The coefficients of (u, v) may include a v and b v One or both.
[0026] In order to better understand the technical features of the present invention, several exemplary syntax transmission methods are described below. The video encoder 116 may adopt one of the proposed syntax transmission methods to transmit one or more syntax elements SE, the one or more syntax elements SE indicating the configuration information of the mapping function adopted by the conversion circuit 114, and the video decoder 122 may parse one or more syntax elements SE', the one or more syntax elements SE' being transmitted by a proposed syntax transmission method adopted by the video encoder 116, and the video decoder 122 may provide the parsed one or more syntax elements SE' to the graphics rendering circuit 124 (especially the conversion circuit 125), so that the graphics rendering circuit 124 (especially the conversion circuit 125) is informed of the layout information of the projection surface packing adopted by the conversion circuit 114. In this way, when determining the image content of the viewport area selected by the user, the conversion circuit 125 can refer to the layout information of the projection surface packing to correctly perform the conversion. Ideally, the one or more syntax elements SE encoded into the bitstream BS by the video encoder 116 are the same as the one or more syntax elements SE' parsed from the bitstream BS by the video decoder 122.
[0027] It should be noted that the descriptors in the following exemplary syntax table specify the parsing process of each syntax element. For example, the syntax element can be encoded and decoded by a fixed length codec (e.g., u(n)). Taking the descriptor u(n) as an example, it uses n bits to describe an unsigned integer. However, this is only for illustrative purposes and does not mean a limitation of the present invention. In fact, the syntax element can be encoded and decoded by a fixed length codec (e.g., f(n), i(n) or u(n)) and / or a variable length codec (e.g., ce(v), se(v) or ue(v)). The descriptor f(n) represents a fixed-mode bit string that is written (from left to right) with the left bit first. The descriptor i(n) represents a signed integer using n bits. The descriptor u(n) represents an unsigned integer using bits. The descriptor ce(v) represents a context-adaptive variable-length entropy codec syntax element with left bit first. The descriptor se(v) represents a signed integer Exp-Golomb-coded syntax element with left bit first. The syntax element ue(v) represents an unsigned integer Exp-Golomb-coded syntax element with left bit first.
[0028] According to the first syntax transmission method, the following syntax table may be adopted.
[0029]
[0030]
[0031] The syntax element gcmp_mapping_function_type is set to specify the mapping function used to adjust the sample positions of the cubemap projection. The value of gcmp_mapping_function_type should be in the range of 0 to 2 (inclusive).
[0032] If the syntax element gcmp_mapping_function_type is equal to 0, it indicates that the conventional CMP specified by the cubemap projection supplemental enhancement information (SEI) message in Rec.ITU-T H.265|ISO / IEC 23008-2 and Rec.ITU-T H.264|ISO / IEC 14496-10 is used. For example, in the case of gcmp_mapping_function_type == 0, the mapping function adopted by the conventional cubemap projection without sampling distribution adjustment can be expressed as
[0033] If the syntax element gcmp_mapping_function_type is equal to 1, it indicates that the equiangular mapping function is used to adjust the sample positions of all square projection surfaces. For example, in the case of gcmp_mapping_function_type == 1, the mapping function used for equiangular cubemap (EAC) projection with sampling distribution adjustment can be expressed as
[0034] If the syntax element gcmp_mapping_function_type is equal to 2, it indicates that the above parameterized mapping function is used to adjust the sample positions of all square projection surfaces. In addition, the coefficients of the parameterized mapping function for adjusting the sample position of the i-th projection plane (i.e., the projection plane located at the plane position index i in the cube-based projection layout) are specified by the syntax elements gcmp_function_coeff_u[i], gcmp_function_u_affected_by_v_flag[i], gcmp_function_coeff_v[i] and gcmp_function_v_affected_by_u_flag[i], where the front face is assigned the face index gcmp_face_index[i]==0, the back face is assigned the face index gcmp_face_index[i]==1, the top face is assigned the face index gcmp_face_index[i]==2, the bottom face is assigned the face index gcmp_face_index[i]==3, the right face is assigned the face index gcmp_face_index[i]==4, and the left face is assigned the face index gcmp_face_index[i]==5.
[0035] The syntax element gcmp_function_coeff_u[i] specifies the coefficients used in the parameterized mapping function for the u-axis of the i-th projection surface. u =(gcmp_function_coeff_u[i]+1) / 2 7 When the syntax element gcmp_function_coeff_u[i] is not present, it may be inferred to be equal to 0.
[0036] If the syntax element gcmp_function_u_affected_by_v_flag[i] is equal to 1, it indicates that the parameterized mapping function on the u-axis references the v-position of the sample position. If the syntax element gcmp_function_u_affected_by_v_flag[i] is equal to 0, it indicates that the parameterized mapping function on the u-axis does not reference the v-position of the sample position. For example, b u =gcmp_function_u_affected_by_v_flag[i].
[0037] The syntax element gcmp_function_coeff_v[i] is set to specify the coefficients used in the parameterized mapping function for the v-axis of the i-th projection surface. v =(gcmp_function_coeff_v[i]+1) / 2 7 When the syntax element gcmp_function_coeff_v[i] is not present, it may be inferred to be equal to 0.
[0038] If the syntax element gcmp_function_v_affected_by_u_flag[i] is equal to 1, it indicates that the parameterized mapping function on the v-axis references the u-position of the sample position. If the syntax element gcmp_function_v_affected_by_u_flag[i] is equal to 0, it indicates that the parameterized mapping function on the v-axis does not reference the u-position of the sample position. For example, b v =gcmp_function_v_affected_by_u_flag[i].
[0039] The distribution is adjusted according to actual application requirements, and the 2D to 3D mapping function adopted by the conversion circuit 114 or 125 can be set by a conventional CMP mapping function without sampling distribution adjustment, an EAC mapping function with sampling distribution adjustment, or a parameterized mapping function with sampling distribution adjustment. In some embodiments of the present invention, the input of the 2D to 3D mapping process may include the width faceWidth and the height faceHeight of the projection surface, and further include the sample position (hPos, vPos) of the projection surface on the 2D plane, where hPos∈[0,faceWidth] and vPos∈[0,faceHeight]; and the final output of the 2D to 3D mapping process may include the spherical coordinates (φ, θ) of the sample position in degrees.
[0040] When the 2D to 3D mapping process begins, the following applies:
[0041] hPos' = -(2*hPos÷faceWidth)+1, and
[0042] vPos'=-(2*vPos÷faceHeight)+1, where hPos', vPos'∈[-1,1].
[0043] If gcmp_mapping_function_type is equal to 0, the following applies:
[0044] hPos" = hPos', and
[0045] vPos" = vPos'.
[0046] If gcmp_mapping_function_type is equal to 1, the following applies:
[0047] hPos”=tan(hPos’*π÷4), and
[0048] vPos" = tan(vPos'*π÷4).
[0049] If gcmp_mapping_function_type is equal to 2, the following applies:
[0050] coeffU[n]=(gcmp_function_coeff_u[n]+1)÷128,
[0051] coeffV[n]=(gcmp_function_coeff_v[n]+1)÷128,
[0052] hPos”=hPos'÷[1+coeffU[n]*(1-gcmp_function_u_affected_by_v_flag[n]*vPos'2)*(1-hPos'2)]), and
[0053] vPos" = vPos' ÷ [1 + coeffV[n] * (1-gcmp_function_v_affected_by_u_flag[n] * hPos'2) * (1-vPos'2)], where n represents the surface position index in the cube-based projection layout. For example, with respect to the sample position (hPos, vPos) of the projection surface located at the surface position index n in the cube-based projection layout, the adjusted sample position (hPos", vPos") mapping function can be obtained by a parameterized mapping function.
[0054] After the adjusted sample positions (hPos", vPos") are obtained by the parameterized mapping function, the following applies:
[0055] Regarding the first mapping function design, when gcmp_mapping_function_type is equal to 2, the parameterized mapping function is applied to the u-axis and v-axis of one projection surface. However, this is for illustrative purposes only and is not meant to be limiting of the present invention. Alternatively, when gcmp_mapping_function_type is equal to 2, the parameterized mapping function can only be applied to one of the u-axis and v-axis of one projection surface.
[0056] According to the second syntax transmission method, the following syntax table may be adopted.
[0057]
[0058] If the syntax element gcmp_u_axis_adjustment_function_enabled_flag[i] is equal to 0, it specifies that the samples are not changed on the u-axis. If the syntax element gcmp_u_axis_adjustment_function_enabled_flag[i] is equal to 1, it specifies that the parameterized mapping function adjusts the samples on the u-axis by the coefficients. As described above, the coefficients of the parameterized mapping function applied to the u-axis of the i-th projection surface are specified by the syntax elements gcmp_function_coeff_u[i] and gcmp_function_u_affected_by_v_flag[i].
[0059] If the syntax element gcmp_v_axis_adjustment_function_enabled_flag[i] is equal to 0, it specifies that the sampling on the v-axis is not changed. If the syntax element gcmp_v_axis_adjustment_function_enabled_flag[i] is equal to 1, it specifies that the parameterized mapping function adjusts the sampling on the v-axis by the coefficients. As described above, the coefficients of the parameterized mapping function applied to the v-axis of the i-th projection surface are specified by the syntax elements gcmp_function_coeff_v[i] and gcmp_function_v_affected_by_u_flag[i].
[0060] With regard to the first mapping function design and the second mapping function design, the mapping function adopted by the conversion circuits 114 and 125 may be selected from a group including a conventional CMP mapping function without sampling distribution adjustment, an EAC mapping function with sampling distribution adjustment, and a parameterized mapping function with sampling distribution adjustment. However, this is for illustrative purposes only and is not intended to be limiting of the present invention. Alternatively, the mapping function adopted by the conversion circuits 114 and 125 may be set only by the parameterized mapping function. Therefore, the syntax element gcmp_mapping_function_type may be omitted without being sent via the bitstream BS.
[0061] According to the third syntax transmission method, the following syntax table may be adopted.
[0062]
[0063]
[0064] According to the fourth syntax transmission method, the following syntax table can be adopted.
[0065]
[0066] Since a person skilled in the art can easily understand the details of the third mapping function design and the fourth mapping function design after reading the above paragraphs on the first mapping function design and the second mapping function design, they are not repeated here for the sake of brevity.
[0067] In some embodiments of the present invention, the encoder-side conversion circuit 114 and the decoder-side conversion circuit 125 may be designed to support only predefined mapping functions with fixed settings. Therefore, the syntax element gcmp_mapping_function_type may be transmitted via the bitstream BS.
[0068] According to the fifth syntax transmission method, the following syntax table can be adopted.
[0069]
[0070] The mapping function specified by the syntax element gcmp_mapping_function_type may be selected from a group including a conventional cubemap projection, a conformal mapping function, and a parameterized mapping function. In the case where the 2D to 3D mapping function adopted by the conversion circuit 114 or 125 is set by a conventional CMP mapping function without sampling distribution adjustment, the syntax element gcmp_mapping_function_type may be set to 0 and then sent via the bitstream BS. In the case where the 2D to 3D mapping function adopted by the conversion circuit 114 or 125 is set by an EAC mapping function with sampling distribution adjustment, the syntax element gcmp_mapping_function_type may be set to 1 and then sent via the bitstream BS.
[0071] It is easy for a person skilled in the art to recognize that many modifications and variations can be made to the apparatus and method while maintaining the teachings of the present invention. Therefore, the above disclosure should be considered to be limited only by the appended claims.
Claims
1. A video encoding method, comprising: encoding a projection-based frame to generate a portion of a bitstream, wherein at least a portion of 360-degree content of a sphere is mapped to a plurality of projection surfaces via a cube-based projection, and the projection-based frame has the plurality of projection surfaces packed in a cube-based projection layout; transmitting at least one syntax element via the bitstream, wherein the at least one syntax element is associated with a mapping function employed by the cube-based projection to determine a plurality of sample positions for each of the plurality of projection surfaces, Wherein, the mapping function is a parameterized mapping function adopted by the cube-based projection, which is used to adjust multiple sample positions of each of the multiple projection surfaces, and the at least one syntax element sent through the bitstream includes multiple syntax elements that at least specify multiple coefficients of the parameterized mapping function, and for each of the multiple projection surfaces, the multiple syntax elements include: a first syntax element, which is arranged to indicate the coefficient used by the parameterized mapping function of the first axis; and a second syntax element, which is arranged to indicate whether the parameterized mapping function of the first axis refers to the position value of the second axis, wherein when the second syntax element is set to a first logical value, the output of the parameterized mapping function of the first axis is determined by jointly considering the position value of the first axis and the position value of the second axis; and when the second syntax element is set to a second logical value, the output of the parameterized mapping function of the first axis is determined by considering only one of the position value of the first axis and the position value of the second axis.
2. The video encoding method according to claim 1, characterized in that: The at least one syntax element transmitted via the bitstream further comprises: A third syntax element is arranged to indicate that the parameterized mapping function is employed by the cube-based projection.
3. The video encoding method according to claim 1, wherein: For each projection surface in the plurality of projection surfaces, the plurality of syntax elements further include: A third syntax element is arranged to indicate coefficients used by the parameterized mapping function of a second axis.
4. The video encoding method according to claim 3, characterized in that: For each projection surface in the plurality of projection surfaces, the plurality of syntax elements further include: a fourth syntax element, arranged to indicate whether the parameterized mapping function of the second axis refers to the position value of the first axis, wherein when the fourth syntax element is set to the first logical value, the output of the parameterized mapping function of the second axis is determined by jointly considering the position value of the second axis and the position value of the first axis; and when the fourth syntax element is set to the second logical value, the output of the parameterized mapping function of the second axis is determined by considering only one of the position value of the first axis and the position value of the second axis.
5. The video encoding method according to claim 1, wherein: The adjusted sample position (f x (u,v),f y (u, v)) is obtained by applying the parameterized mapping function to the target sample position (u, v) on one of the multiple projection surfaces, and the parameterized mapping function is expressed as: The coefficient a of the parameterized mapping function is u , b u , a v and b v specified by the plurality of syntax elements sent via the bitstream.
6. A video decoding method, comprising: decoding a portion of a bitstream to generate a decoded frame, wherein the decoded frame is a projection-based frame, the projection-based frame comprising a plurality of projection surfaces packed in a cube-based projection layout, and at least a portion of 360-degree content of a sphere is mapped to the plurality of projection surfaces via a cube-based projection; as well as parsing at least one syntax element from the bitstream, wherein the at least one syntax element is associated with a mapping function employed by the cube-based projection to determine a plurality of sample positions for each of the plurality of projection surfaces, Wherein, the mapping function is a parameterized mapping function adopted by the cube-based projection, which is used to adjust multiple sample positions of each of the multiple projection surfaces, and the at least one syntax element sent through the bitstream includes multiple syntax elements that at least specify multiple coefficients of the parameterized mapping function, and for each of the multiple projection surfaces, the multiple syntax elements include: a first syntax element, which is arranged to indicate the coefficient used by the parameterized mapping function of the first axis; and a second syntax element, which is arranged to indicate whether the parameterized mapping function of the first axis refers to the position value of the second axis, wherein when the second syntax element is set to a first logical value, the output of the parameterized mapping function of the first axis is determined by jointly considering the position value of the first axis and the position value of the second axis; and when the second syntax element is set to a second logical value, the output of the parameterized mapping function of the first axis is determined by considering only one of the position value of the first axis and the position value of the second axis.
7. The video decoding method according to claim 6, wherein: The at least one syntax element transmitted via the bitstream further comprises: A third syntax element is arranged to indicate that the parameterized mapping function is employed by the cube-based projection.
8. The video decoding method according to claim 6, wherein: For each projection surface in the plurality of projection surfaces, the plurality of syntax elements further include: A third syntax element is arranged to indicate coefficients used by the parameterized mapping function of a second axis.
9. The video decoding method according to claim 8, characterized in that: For each projection surface in the plurality of projection surfaces, the plurality of syntax elements further include: a fourth syntax element, arranged to indicate whether the parameterized mapping function of the second axis refers to the position value of the first axis, wherein when the fourth syntax element is set to the first logical value, the output of the parameterized mapping function of the second axis is determined by jointly considering the position value of the second axis and the position value of the first axis; and when the fourth syntax element is set to the second logical value, the output of the parameterized mapping function of the second axis is determined by considering only one of the position value of the first axis and the position value of the second axis.
10. The video decoding method according to claim 6, wherein: The adjusted sample position (f x (u,v),f y (u, v)) is obtained by applying the parameterized mapping function to the target sample position (u, v) on one of the multiple projection surfaces, and the parameterized mapping function is expressed as: The coefficient a of the parameterized mapping function is u , b u , a v and b v specified by the plurality of syntax elements sent via the bitstream.
Citation Information
Patent Citations
Hybrid cubemap projection for 360-degree video coding
WO2018218028A1