MediaTek Patent | Method And Apparatus Of Signalling Syntax For Immersive Video Coding

Patent: Method And Apparatus Of Signalling Syntax For Immersive Video Coding

Publication Number: 20190068949

Publication Date: 20190228

Applicants: MEDIATEK INC.

Abstract

According to one method, at a source side or an encoder side, a selected viewport associated with the 360-degree virtual reality images is determined. One or more parameters related to the selected pyramid projection format are then determined. According to the present invention, one or more syntax elements for said one or more parameters are included in coded data of the 360-degree virtual reality images. The coded data of the 360-degree virtual reality images are provided as output data. At a receiver side or a decoder side, one or more syntax elements for one or more parameters are parsed from the coded data of the 360-degree virtual reality images. A selected pyramid projection format associated with the 360-degree virtual reality images is determined based on information including said one or more parameters. The 360-degree virtual reality images are then recovered according to the selected viewport.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present invention claims priority to U.S. Provisional Patent Application, Ser. No. 62/549,016, filed on Aug. 23, 2017, and PCT Patent Application, Serial No. PCT/CN2018/100953, filed on Aug. 17, 2018. The U.S. Provisional Patent Application and PCT Patent Application are hereby incorporated by reference in its entirety.

FIELD OF THE INVENTION

[0002] The present invention relates to image/video processing or coding for 360-degree virtual reality (VR) images/sequences. In particular, the present invention relates to syntax signalling for immersive video coding in a pyramid projection format.

BACKGROUND AND RELATED ART

[0003] The 360-degree video, also known as immersive video is an emerging technology, which can provide “feeling as sensation of present”. The sense of immersion is achieved by surrounding a user with wrap-around scene covering a panoramic view, in particular, 360-degree field of view. The “feeling as sensation of present” can be further improved by stereographic rendering. Accordingly, the panoramic video is being widely used in Virtual Reality (VR) applications.

[0004] Immersive video involves the capturing a scene using multiple cameras to cover a panoramic view, such as 360-degree field of view. The immersive camera usually uses a panoramic camera or a set of cameras arranged to capture 360-degree field of view. Typically, two or more cameras are used for the immersive camera. All videos must be taken simultaneously and separate fragments (also called separate perspectives) of the scene are recorded. Furthermore, the set of cameras are often arranged to capture views horizontally, while other arrangements of the cameras are possible.

[0005] The 360-degree virtual reality (VR) images may be captured using a 360-degree spherical panoramic camera or multiple images arranged to cover all filed of views around 360 degrees. The three-dimensional (3D) spherical image is difficult to process or store using the conventional image/video processing devices. Therefore, the 360-degree VR images are often converted to a two-dimensional (2D) format using a 3D-to-2D projection method. For example, equirectangular projection (ERP) and cubemap projection (CMP) have been commonly used projection methods. Accordingly, a 360-degree image can be stored in an equirectangular projected format. The equirectangular projection maps the entire surface of a sphere onto a flat image. The vertical axis is latitude and the horizontal axis is longitude. For the ERP projection, the areas in the north and south poles of the sphere are stretched more severely (i.e., from a single point to a line) than areas near the equator. Furthermore, due to distortions introduced by the stretching, especially near the two poles, predictive coding tools often fail to make good prediction, causing reduction in coding efficiency.

[0006] In the present invention, syntax signalling related to new projection formats is disclosed.

BRIEF SUMMARY OF THE INVENTION

[0007] Methods and apparatus of processing 360-degree virtual reality images are disclosed. According to one method, at a source side or an encoder side, input data for 360-degree virtual reality images are received. A selected viewport associated with the 360-degree virtual reality images is determined. One or more parameters related to the selected pyramid projection format corresponding to the selected viewport are then determined. The pyramid projection format includes a primary viewport face and four secondary viewport faces. According to the present invention, one or more syntax elements for said one or more parameters are included in coded data of the 360-degree virtual reality images. The coded data of the 360-degree virtual reality images are provided as output data.

[0008] At a receiver side or a decoder side, coded data for 360-degree virtual reality images are received. One or more syntax elements for one or more parameters are parsed from the coded data of the 360-degree virtual reality images. A selected pyramid projection format associated with the 360-degree virtual reality images is determined based on information including said one or more parameters. The pyramid projection format includes a primary viewport face and four secondary viewport faces. The 360-degree virtual reality images are then recovered according to a selected viewport corresponding to the selected pyramid projection format.

[0009] In one embodiment, said one or more parameters comprise yaw of main viewport centre, pitch of main viewport centre, width of main viewport face, FOV (field of view) angle of main viewport face, non-uniform factor for the four secondary viewport faces, or a combination thereof. In another embodiment, said one or more parameters comprise a packing type, a displacement indicator regarding whether secondary viewport face centre displacement is allowed, horizontal centre displacement, vertical centre displacement, or a combination thereof. When the displacement indicator indicates the secondary viewport centre displacement is allowed, one or more syntax element for the horizontal centre displacement, the vertical centre displacement, or both are included in the coded data of the 360-degree virtual reality images

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] FIG. 1A illustrates an example of viewport that is represented as a pyramid. The 360VR video contents on the sphere are projected on an inscribed pyramid, which comprises an apex, a rectangular base and four triangle lateral faces.

[0011] FIG. 1B illustrates an example of the pyramid consisting of five faces referred as Front or Main and four lateral faces labelled as R (right), L (left), T (Top) and B (Bottom).

[0012] FIG. 1C illustrates an example of compact pyramid projection layout, where the triangle faces with shrunk height are rearranged with the Front face to form a compact layout.

[0013] FIG. 1D illustrates an example of exponential non-uniform mapping function.

[0014] FIG. 2 illustrates an example of viewpoint based pyramid projection, where the viewpoint centre, the value of yaw (i.e., longitude) 0 and the value of pitch (i.e., latitude) y are indicated.

[0015] FIG. 3 depicts an example of the viewport image of the proposed layout with (yaw, pitch)=(0, 0) and non-uniform factor n=2.5.

[0016] FIG. 4 depicts an example of the viewport represented as a pyramid enclosed in a sphere, where related parameters are indicated.

[0017] FIG. 5 illustrates examples of asymmetric pyramid projection layout in two packing types (first type, second type), where the primary view and the secondary view are stacked horizontally.

[0018] FIG. 6 illustrates examples of asymmetric pyramid projection layout in two packing types (third type, fourth type), where the primary view and the secondary view are stacked vertically.

[0019] FIG. 7 illustrates an example of asymmetric pyramid projection layout, where the apex location is offset from the default centre in both horizontal and vertical directions.

[0020] FIG. 8 illustrates an exemplary flowchart of a system for processing 360-degree virtual reality images at a source side or encoder side according to an embodiment of the present invention.

[0021] FIG. 9 illustrates an exemplary flowchart of a system for processing 360-degree virtual reality images at a receiver side or decoder side according to an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0022] The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.

[0023] A viewport-based pyramid projection format for VR360 video streaming has been disclosed in JVET-E0058 (Peng Wang, et al., “AHG 8: A viewport-based pyramid projection for VR360 video streaming”, Joint Video Exploration Team (WET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 5th Meeting: Geneva, CH, 12-20 Jan. 2017, Document: JVET-E0058). The viewport-based pyramid projection format is composed of two regions: primary region and secondary region. The primary area preserves high-fidelity viewing region specified by a pre-defined FOV while the secondary area represents a down-sampled version of the region outside the primary area. In other words, the bandwidth of the viewport-based projection format can be significantly reduced for streaming application. The viewport switching scheme allows viewing the VR videos in different viewports. These primary areas of these viewport videos comprise the entire 360.degree..times.180.degree. region. Usually, the centre of the primary area of each viewport video is indicated by the yaw and pitch angles. Thus, according to the user’s viewing angle, the user can receive the corresponding viewport video that encompasses the viewing area.

[0024] In FIG. 1A, the viewport is represented as a pyramid and the 360VR video contents on the sphere are projected on an inscribed pyramid, which comprises an apex, a rectangular base and four triangle lateral faces. In the particular example shown in FIG. 1A, the base of the pyramid corresponds to a square. The pyramid consists of five faces (i.e., the square base 110 and four triangle lateral faces) as shown in FIG. 1B, where the base face 110 is referred as Front or Main and the four lateral faces are labelled as R (right), L (left), T (Top) and B (Bottom). The height of each unfolded lateral faces is referred as H as shown in FIG. 1B. The main face is the primary viewport face, which contains a 90.degree..times.90.degree. region. The other four isosceles triangle faces are referred as secondary faces. As illustrated in FIG. 1C, these triangle faces with shrunk height (labelled as h) are rearranged with the Front face 120 to form a very compact layout. In addition, there is no discontinuous edge between any two connected faces in the compact layout. In FIG. 1C, the four secondary faces with shrunk height in a compact format is referred as a compact secondary view 130. The whole image (i.e., the primary view 120 and the compact secondary view 130) in the compact format is referred as a pyramid compact layout.

[0025] When packing the five faces into the compact layout, the height of the four triangle faces is shrunk from H to h. The triangle faces can be down-sampled vertically to reduce the number of samples. A linear mapping function can be used to shrink from H to h in the vertical direction. However, to preserve more details near the main projection face, a re-sampling process may use a non-uniform mapping function to result in denser samples of the corresponding lateral projection face U/B/L/R near the main projection face. In a case where the non-uniform mapping function is an exponential function as shown in FIG. 1D, the non-uniform mapping function may be expressed by using the following equation.

y’/h=1-(1-Y/H)”.

[0026] In the above equation, n is positive and n.noteq.1, Y is the vertical coordinate of an original lateral projection face, and y’ is the vertical coordinate of the vertically shrunk lateral projection face. The parameter n is referred as a non-uniform factor in this disclosure. The non-uniformly down-sampling process can achieve that the degradation of the image quality of the projection area close to the primary region is lower than that of the area far from the primary region.

[0027] In order to accommodate various view-point based pyramid projection formats, the parameters associated with a selected pyramid project format need to be signalled so that a decoder can properly reconstruct the VR video. Accordingly, syntax elements for the parameters associated with a selected pyramid project format are disclosed in the present invention. For example, the syntax elements may include one of more the following syntax elements:

[0028] signed int(16) main_viewpoint_center_yaw;

[0029] signed int(16) main_viewpoint_center_pitch;

[0030] unsigned int(16) main_viewpoint_face_width;

[0031] unsigned int(8) main_viewpoint_fov_angle;

[0032] unsigned int(32) non_uniform_factor;

[0033] In the above list, main_viewpoint_center_yaw specifies the value of yaw (i.e., longitude) 0. The rotation direction is clockwise and the value range is [-180.degree., 180.degree. ]. In the above list, main_viewpoint_center_pitch specifies the value of pitch (i.e., latitude) .phi.. The rotation direction is clockwise and the value range is [-90.degree., 90.degree. ].

[0034] FIG. 2 illustrates an example of view-point based pyramid projection, where the view-point centre is indicated by a black dot; the value of yaw (i.e., longitude) .theta. and the value of pitch (i.e., latitude) .phi. are indicated.

[0035] FIG. 3 depicts an example of the viewport image of the proposed layout with (yaw, pitch)=(0, 0) and non-uniform factor n=2.5. In FIG. 3, the centre of the main face is indicated by a white dot. The boundaries of the four triangle faces are indicated by white lines in FIG. 3. As shown in FIG. 3, the image contents are continuous across the boundaries. The main_viewpoint_face_width specifies the pixels of the width and height of the main viewport face. The main_viewpoint_face_width for the exemplary picture in a pyramid projection format is indicated in FIG. 3.

[0036] In FIG. 4, the viewport is represented as a pyramid enclosed in a sphere as shown in illustration 410. The main_viewpoint_fov_angle specifies the degree of angle, which defines the field-of-view (FOV) size of the squared primary viewing region. Let d is the distance between the centre of sphere and main viewport face. A cross section of the pyramid passing the apex and a line splitting the primary view into two rectangles of equal size is represented in FIG. 4. The width (w) of main viewport face and the height (h’) of pyramid are calculated as:

w = 2 .times. tan ( .theta. 2 ) .times. d , ( 1 ) h ’ = R + d = w 2 2 + d 2 + d ( 2 ) ##EQU00001##

[0037] FIG. 4 also illustrates the related parameters for deriving the width (w) of main viewport face and the height (h’) of pyramid. In FIG. 4, illustration 410 shows a perspective view of a pyramid enclosed in a sphere with the main face in the front, where the width (w) of the main viewport face is indicated. Illustration 420 represents a side view of the pyramid enclosed in the sphere, where the radius (R) of the sphere, the height (h’) of pyramid, the centre of the sphere 422, the distance (d) between the centre of sphere and the value of field-of-view (FOV) angle (.theta.) are indicated. Illustration 430 represents a three-dimensional view of the pyramid enclosed in the sphere, where the radius (R) of the sphere, the height (h’) of pyramid, the centre of the sphere 422 and the distance (s) between the centre of sphere and main viewport face are indicated.

[0038] In FIGS. 1A-C, the four triangle lateral faces are symmetrical around the main face and have the same shape and size. When the four triangle lateral faces are folded into a square in the right side of the layout in FIG. 1C, the four triangle lateral faces are symmetric with the apex joined in the centre of the square on the right side of the layout in FIG. 1C. In the present invention, pyramid projection layout with asymmetric lateral faces is also disclosed. FIG. 5 illustrates examples of asymmetric pyramid projection layout in two packing types (first type 510, second type 520), where the primary view and the secondary view are stacked horizontally. The picture width and height of the asymmetric pyramid projection layout are referred as W.sub.a and H.sub.a respectively. In other words, the frame resolution of the asymmetric pyramid projection layout is W.sub.a.times.H.sub.a. The resolution of the main view is H.sub.a.times.H.sub.a. The resolution of the secondary view is (W.sub.a- H.sub.a).times.H.sub.a. The apex location (512, 522) is offset from the default centre (514, 524) of the secondary view and the horizontal offset distance is indicated (516 and 526) in FIG. 5 respectively. In addition, there is no discontinuous edge between any two connected faces in the compact layout.

[0039] FIG. 6 illustrates examples of asymmetric pyramid projection layout in two packing types (third type 610, fourth type 620), where the primary view and the secondary view are stacked vertically. The picture width and height of the asymmetric pyramid projection layout are referred as W.sub.a and H.sub.a respectively. In other words, the frame resolution of the asymmetric pyramid projection layout is W.sub.a.times.H.sub.a. The resolution of the main view is W.sub.a.times.W.sub.a. The resolution of the secondary view is W.sub.a.times.(H.sub.a- W.sub.a). The apex location (612, 622) is offset from the default centre (614, 624) of the secondary view and the vertical offset distance is indicated (616 and 626) in FIG. 6 respectively. In addition, there is no discontinuous edge between any two connected faces in the compact layout.

[0040] FIG. 7 illustrates an example of asymmetric pyramid projection layout 710, where the primary view and the secondary view are stacked horizontally (i.e., first type). The apex location (712) is offset from the default centre (714) in both horizontal and vertical directions. The horizontal offset (716) and vertical offset (718) from the default centre of the secondary view are indicated in FIG. 7. In addition, there is no discontinuous edge between any two connected faces in the compact layout.

[0041] In order to support the asymmetric pyramid projection layout, the present invention also discloses additional syntax elements to be signalled in the video bitstream so that a decoder can recover the selected asymmetric pyramid projection layout accordingly. The additional syntax elements comprise:

[0042] packing_type;

[0043] disable_center_displacement;

[0044] center_displacement_x;

[0045] center_displacement_y;

[0046] As mentioned earlier, there are four types of asymmetric pyramid projection layouts as shown in FIG. 5 and FIG. 6. Syntax element packing_type identifies which of the four types is selected. Syntax element disable_center_displacement identifies whether centre displacement is disabled. If disable_center_displacement is equal to 1, center_displacement_x and center_displacement_y are inferred to 0; otherwise, the centre displacements are signalled using syntax elements center_displacement_x and center_displacement_y (in unit of pixel). The apex centre of the asymmetric pyramid projection layouts can be determined from the default centre of the secondary view and the offset values. The x coordinate x_c (measured from left edge of the frame) and they coordinate y_c (measured from top edge of the frame) of the default centre of the secondary view can be determined for the four types according to:

[0047] Type 1: x_c=(W.sub.a+H.sub.a)/2, y_c=H.sub.a/2;

[0048] Type 2: x_c=(W.sub.a-H.sub.a)/2, y_c=H.sub.a/2;

[0049] Type 3: x_c=W.sub.a/2, y_c=(H.sub.a-W.sub.a)/2;

[0050] Type 4: x_c=W.sub.a/2, y_c=(H.sub.a+W.sub.a)/2.

[0051] When the apex is on the right of the default centre, the center_displacement_x>0. When the apex is on the left of the default centre, the center_displacement_x<0. When the apex is above of the default centre, the center_displacement_y>0. When the apex is below the default centre, the center_displacement_y<0. The centre coordinate of the apex is calculated as follows for four types when disable_center_displacement is equal to 0 (i.e., asymmetric projection format allowed):

[0052] Types 1 and 2: (x_c+center_displacement_x, y_c);

[0053] Types 3 and 4: (x_c, y_c+center_displacement_y).

[0054] For the asymmetric pyramid projection layout in FIG. 7, where the apex location (712) is offset from the default centre (714) in both horizontal and vertical directions, the centre coordinate of the apex is calculated as follows when disable_center_displacement is equal to 0 (i.e., asymmetric projection format allowed):

[0055] (x_c+center_displacement_x, y_c+center_displacement_y).

[0056] FIG. 8 illustrates an exemplary flowchart of a system for processing 360-degree virtual reality images at a source side or encoder side according to an embodiment of the present invention. The steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to this method, input data for 360-degree virtual reality images are received in step 810. A selected viewport associated with the 360-degree virtual reality images is determined in step 820. One or more parameters related to the selected pyramid projection format corresponding to the selected viewport, wherein the pyramid projection format includes a primary viewport face and four secondary viewport faces are determined in step 830. One or more syntax elements for said one or more parameters are included in coded data of the 360-degree virtual reality images in step 840. The coded data of the 360-degree virtual reality images are provided as output data in step 850.

[0057] FIG. 9 illustrates an exemplary flowchart of a system for processing 360-degree virtual reality images at a receiver side or decoder side according to an embodiment of the present invention. Coded data for 360-degree virtual reality images are received in step 910. One or more syntax elements for one or more parameters are parsed from the coded data of the 360-degree virtual reality images in step 920. A selected pyramid projection format associated with the 360-degree virtual reality images is determined based on information including said one or more parameters in step 930, wherein the pyramid projection format includes a primary viewport face and four secondary viewport faces. The 360-degree virtual reality images are recovered according to a selected viewport corresponding to the selected pyramid projection format in step 940.

[0058] The flowcharts shown above are intended for serving as examples to illustrate embodiments of the present invention. A person skilled in the art may practice the present invention by modifying individual steps, splitting or combining steps with departing from the spirit of the present invention.

[0059] The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.

[0060] Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be one or more electronic circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.

[0061] The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

发表评论

电子邮件地址不会被公开。 必填项已用*标注