Method and System for Downloading Multiple Resolutions Bitrate for Virtual Reality (VR) Video Streaming Optimization

A method for downloading a VR video is disclosed. The method comprises: receiving a play request for a first video; calculating an average download speed; selecting a plurality of first video segments from a plurality of video segments of the first video according to the average download speed, wherein the plurality of video segments of the first video correspond to different resolutions and bitrates; determining a download link according to the plurality of first video segments; and downloading the plurality of first video segments according to the download link. The video segments, which need to be downloaded, are determined according to the average download speed, so that the amount of downloaded data can be decreased and the video transmission can be optimized. The present disclosure also provides a system for downloading a VR video.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATION

This application claims the priority and benefit of U.S. provisional application 62/441,936, filed on Jan. 3, 2017, which is incorporated herein by reference in its entirety.

BACKGROUND OF THE DISCLOSURE Field of the Disclosure

The present disclosure relates to video processing technology, and more particularly, to a method and a system for downloading a VR video.

Background of the Disclosure

Virtual Reality (VR) is a computer simulation technology for creating and experiencing a virtual world. For example, a three-dimensional real-time image can be presented based on a technology which tracks a user's head, eyes or hands. In the network-based virtual reality technology, full-view video data can be pre-stored on a server, and then transmitted to a display device. A display device can be glasses, a head-mounted display, etc. A video is displayed on the display device in accordance with a field of view of the user.

However, a high-resolution video data occupies large transmission of bandwidth and requires high computing power from the display devices. Presenting high-resolution VR video on internet is difficult, precisely, the existing video streaming technology cannot fulfill the virtual reality. Therefore, in order to present VR video smoothly in real-time, it is desirable to further improve the existing video streaming technology to save bandwidth and reduce performance requirements for display devices.

How to improve transmission effect by network prediction without changing a total amount of transferred data is always a problem waiting to be solved by industry.

SUMMARY OF THE DISCLOSURE

In view of this, the present disclosure provides a method and a system for downloading a VR video for optimizing video transmission.

According to a first aspect of the present disclosure, there is provided a method for downloading a VR video, comprising: receiving a play request for a first video; calculating an average download speed; selecting a plurality of first video segments from a plurality of video segments of the first video according to the average download speed, wherein the plurality of video segments of the first video correspond to different resolutions and bitrates; determining a download link according to the plurality of first video segments; and downloading the plurality of video segments according to the download link.

Preferably, the method further comprises: obtaining a mapping table between resolutions and bitrates during a video transcoding process; and determining the plurality of first video segments by looking up the mapping table.

Preferably, the step of obtaining the mapping table between resolutions and bitrates during the video transcoding process comprises: defining a plurality of resolution levels, and calculating a plurality of resolutions in the plurality of resolution levels according to a predetermined target resolution; and calculating bitrates corresponding to the resolutions in the plurality of resolution levels based on a target bitrate corresponding to the predetermined target resolution.

Preferably, the step of defining a plurality of resolution levels, and calculating a plurality of resolutions in the plurality of resolution levels according to a predetermined target resolution, comprises: calculating the resolution in one of the plurality of resolution levels following formulas below,

k = X 0 base * Y 0 base X 0 enhance * Y 0 enhance q = X 0 enhance X 1 enhance > 1 R n + 1 = ( X n , q , Y n q )

wherein, n represents the one of the plurality of resolution levels, R0 represents a maximum value of the plurality of resolutions, {X0base, Y0base} represents the resolution of a basic video corresponding to the one of the plurality of the resolution levels, {X0enhance, Y0enhance} represents the resolution of an enhancement video corresponding to the one of the plurality of resolution levels, q represents a resolution ratio, Rn{Xn, Yn} represents the resolution in the one of the plurality of resolution levels; wherein the step of calculating bitrates corresponding to the plurality of resolutions in the plurality of resolution levels based on a target bitrate of the predetermined target resolution, comprises: calculating the bitrates corresponding to the resolutions in the plurality of resolution levels following formulas below,

bitrate n = bitrate n base + bitrate n enhance bitrate n base = k k + 1 bitrate n bitrate n enhance = 1 k + 1 bitrate n ,

wherein, for each one of bitraten, bitratenenhance and bitratenbase, there is:

bitrate n + 1 = bitrate n q 2 ,

and an inequality is satisfied:

bitrate n base > 1 q 2 - 1 bitrate n enhance ,

wherein, bitrate0 represents a maximum value of the bitrates, bitraten, bitratenbase, bitratenenhance respectively represent the bitrate, the bitrate of the basic video, and the bitrate of the enhancement video corresponding to the one of the plurality of resolution levels, wherein n is an integer equal to or larger than 1.

Preferably, the play request comprises a field of view of a user, the plurality of first video segments have a plurality of resolutions, and a resolution distribution of the plurality of first video segments is determined by the field of view of the user.

Preferably, the resolution of a first video segment within the field of view is higher than the resolution of a first video segment outside the field of view.

Preferably, the average download speed and the resolution distribution of the plurality of first video segments are positively correlated.

According to a second aspect of the present disclosure, there is provided a system for downloading a VR video, comprising: a request receiving module configured to receive a play request of a first video; a speed calculating module configured to calculate an average download speed; a segment obtaining module configured to select a plurality of first video segments from a plurality of video segments of the first video according to the average download speed, wherein the plurality of video segments of the first video correspond to different resolutions and bitrates; a link obtaining module configured to determine a download link according to the plurality of first video segments; and a download executing module configured to download the plurality of video segments according to the download link.

Preferably, the system further comprises: a mapping table obtaining module configured to obtaining a mapping table between resolutions and bitrates during a video transcoding process, and to determine the plurality of first video segments by looking up the mapping table.

Preferably, the mapping table obtaining module comprises: a first calculating unit configured to define a plurality of resolution levels and calculate a plurality of resolutions in the plurality of resolution levels according to the predetermined target resolution; and calculating bitrates corresponding to the resolutions in the plurality of resolution levels based on a target bitrate corresponding to the predetermined target resolution.

The present disclosure provides a plurality of video segments with proper resolutions and proper bitrates for downloading according to the average download speed. As the average download speed reflects current network conditions, a resolution reflects the image precision, a bitrate reflects bit number of data transmitted per unit time, the resolution, the bitrate and average download speed can be synthesized to optimize the video transmission by using an optimal strategy to select the appropriate video segments. Furthermore, the video segments with high resolutions and low resolutions are selected according to the user's field of view, which can decrease the amount of transferred data without affecting the user's demands for viewing the video.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, advantages and features of the present disclosure will become more fully understood from the detailed description given hereinbelow in connection with the appended drawings, and wherein:

FIG. 1 is a diagram illustrating an example network of a VR playback system;

FIG. 2 is a flowchart showing a method used in the VR playback system of FIG. 1;

FIG. 3 is a flowchart presenting the method for downloading a VR video according to an embodiment of the present disclosure;

FIG. 4 is a flowchart presenting a detailed methodology of obtaining the mapping table between resolutions and bitrates during the video transcoding process; and

FIG. 5 is a structural diagram presenting a system for downloading a VR video according to an embodiment of the present disclosure.

DETAILED DESCRIPTION OF THE DISCLOSURE

Exemplary embodiments the present disclosure will be described in more details below with reference to the accompanying drawings. In the drawings, like reference numerals denote like members. The figures are not drawn to scale, for the sake of clarity. Moreover, some well-known parts may not be shown.

FIG. 1 is a diagram illustrating an example network of a VR playback system. The VR playback system 10 includes a server 100 and a display device 120 which are coupled with each other through a network 110, and a VR device. For example, the server 100 may be a stand-alone computer server or a server cluster. The server 100 is used to store various video data and to store various applications that process these video data. For example, various daemons run on the server 100 in real time, so as to process various video data in the server 100 and to respond various requests from VR devices and the display device 120. The network 110 may be a selected one or selected ones from the group consisting of an internet, a local area network, an internet of things, and the like. For example, the display device 120 may be any of the computing devices, including a computer device having an independent display screen and a processing capability. The display device 120 may be a personal computer, a laptop computer, a computer workstation, a server, a mainframe computer, a palmtop computer, a personal digital assistant, a smart phone, an intelligent electrical apparatus, a game console, an iPad/iPhone, a video player, a DVD recorder/player, a television, or a home entertainment system. The display device 120 may store VR player software as a VR player. When the VR player is started, it requests and downloads various video data from the server 100, and renders and plays the video data in the display device. In this example, the VR device 130 is a stand-alone head-mounted device that can interact with the display device 120 and the server 100, to communicate the user's current information to the display device 120 and/or the server 100 through signaling. The user's current information is, for example, a field of view of the user, a position modification of a helmet, a modification of the user's sight orientation, etc. According to the information, the display device 120 can flexibly process the currently played video data. In some embodiments, when a position of user's helmet changes, the display device 120 determines that a core viewing region for the user has been changed and starts to play video data with high resolution in the changed core viewing region.

In the above embodiment, the VR device 130 is a stand-alone head-mounted device. However, those skilled in the art should understand that the VR device 130 is not limited thereto, and the VR device 130 may also be an all-in-one head-mounted device. The all-in-one head-mounted device itself has a display screen, so that it is not necessary to connect the all-in-one head-mounted device with the external display device. For example, in this example, if the all-in-one head-mounted device is used as the VR device, the display device 120 may be eliminated. At this point, the all-in-one head-mounted device is configured to obtain video data from the server 100 and to perform playback operation, and the all-in-one head-mounted device is also configured to detect user's current field of view modification information and to adjust the playback operation according to the field of view modification information.

FIG. 2 is a flowchart showing a method used in the VR playback system of FIG. 1. The method comprises following steps.

In step S10, a source video data process is operated on server side.

In step S20, the display device obtains some related information of the user based on interactions with the VR device.

In step S30, the display device requests video data and receives video data from the server according to the related information.

In step S40, the display device side performs a rendering process based on the received video data.

Wherein, in the step S30, the video data is downloaded. Furthermore, the present disclosure provides a method for downloading a VR video. The method downloads the VR video by predicting a network condition according to a calculated average download speed and providing a download link according to bitrates, in order to optimize VR video streaming transmission.

FIG. 3 is a flowchart presenting the method for downloading a VR video according to an embodiment of the present disclosure. Specifically, following steps are comprised.

In step S100, a play request for a first video is received.

The first video in this step refers to a specific video.

In step S200, an average download speed is calculated.

The average download speed is calculated by making statistics on an amount of downloaded data and download time. In general, the average download speed is calculated once in real time. For example, the average download speed is calculated once before data of the first video starts to be downloaded, or the average download speed is calculated once before each video segments of the first video starts to be downloaded.

In step S300, a plurality of first video segments are selected from a plurality of video segments of the first video according to the average download speed, wherein the plurality of video segments of the first video correspond to different resolutions and bitrates.

In the source video data process on the server side, a complete source VR video can be processed into the plurality of video segments, for example, the plurality of video segments may be obtained by segmenting the source VR video in temporal domain and/or in spatial domain. The plurality of video segments have different resolutions and bitrates. When the first video is requested, the plurality of first video segments can be selected from the plurality of video segments with different resolutions and bitrates. Therefore, in this step, each of the plurality of first video segments is the video segment with a proper resolution and a proper bitrate selected from the plurality of video segments, according to the average download speed. For example, when the average download speed is relatively high, the video segments with high resolutions and high bitrates are selected as the plurality of first video segments, and when the average download speed is relatively low, the video segments with low resolutions and low bitrates are selected as the plurality of first video segments.

In step S400, a download link is determined according to the plurality of first video segments.

In this step, the download link of the first video is determined according to a predetermined download strategy, and the plurality of first video segments waiting to be downloaded and a download order are specified by the download link. For example, the download order for downloading the first video segments, which need to be downloaded, is an ascending order of the bitrates. However, the present disclosure is not limited thereto. Those skilled in the art can determine the download strategy according to the bitrates and the average download speed, in order to optimize video transmission.

In step S500, the plurality of first video segments are downloaded according to the download link.

In this step, download processes are operated on the plurality of first video segments.

In this embodiment, the video segments, which need to be downloaded and are selected according to the average speed, are downloaded, so as to optimize video transmission.

In an optional embodiment, the method for downloading the VR video further comprises: obtaining a mapping table between resolutions and bitrates, and determining the plurality of first video segments by looking up the mapping table. The mapping table defines correspondences between a plurality of resolutions and a plurality of bitrates. The mapping table is looked up to obtain the set bitrates of the plurality of video segments, so that the plurality of first video segments can be determined according to the average download speed and the set bitrates. Further, the mapping table is generated during a video transcoding process. During the video transcoding process, raw video data is processed into the plurality of video segments, for example, the raw video data can be processed into a basic video and an enhancement video which need to be overlaid together during playback. In this process, the bitrate of each of the plurality of video segments are recorded and are summarized as the mapping table between resolutions and bitrates.

In a preferred embodiment, information provided by the play request comprises a field of view of the user, the plurality of first video segments have a plurality of resolutions, and a resolution distribution of the plurality of first video segments is determined by the field of view of the user. For example, it is assumed that a video with 360-degree panoramic images is provided, the user's field of view ranges in 135 degrees, then the video segments with high resolutions are displayed in a screen region inside the user's field of view, and the video segments with low resolutions are displayed on the screen regions outside the user's field of view. Therefore, by decreasing times for downloading the high-resolution video segments, the amount of downloaded data can be reduced and the video transmission can be optimized. The user's field of view can be obtained according to parameters of a gyroscope in the head-mounted device.

FIG. 4 is a flowchart presenting a detailed methodology of obtaining the mapping table between resolutions and bitrates during the video transcoding process.

In step S1001, a plurality of resolution levels are defined, and a plurality of resolutions in the plurality of resolution levels are calculated according to a predetermined target resolution.

In step S1002, bitrates corresponding to the resolutions in the plurality of resolution levels are calculated based on a target bitrate corresponding to the predetermined target resolution.

In step S1003, the video transcoding process is performed according to the corresponding resolutions and the corresponding bitrates, in order to obtain a plurality of video segments of video data with different resolutions and different bitrates.

This embodiment will be understood by a following example.

It is assumed that N represents a total number of the plurality of resolution levels, R0 represents the predetermined target resolution, and bitrate0 represents the target bitrate according to the target resolution. The resolution R1 in the 1st resolution level, the resolution R2 in the 2nd resolution level, . . . , and the resolution RN−1 in the (N−1)th resolution level, can be calculated according to a resolution ratio between Rn and Rn+1, so as to obtain the plurality of resolutions in all of the plurality of resolution levels. All of the bitrates can be obtained according to resolution ratios between bitraten and bitraten+1, so that the mapping table between resolutions and bitrates is obtained. Finally, during the video transcoding process, the plurality of video segments can be obtained by transcoding based on the corresponding resolutions and the corresponding bitrates.

Those skilled in the art should understand that the manner for obtaining the mapping table between resolutions and bitrates is not limited thereto. The mapping table can be obtained by other manners, for example, the mapping table between resolutions and bitrates may be set by experience.

In a following example, formulas about the resolutions and the bitrates and derivations of the formulas are provided. In this example, it is assumed that the video data is processed into multiple video data each have a corresponding resolution in each of the plurality of resolution levels, and each of the multiple video data having the corresponding resolution comprises a basic video and an enhancement video which are overlaid together during playback. Table 1 shows definitions of variables included in the formulas.

TABLE 1 variate meanings n one of the plurality of resolution level, wherein a lower n corresponding to a higher resolution, n□[0, 1, 2, . . . ] Rn the resolution in the nth resolution level, a two-element array ( Xn, Yn) bitraten the bitrate corresponding to the nth resolution level bitratenbase the bitrate of the basic video corresponding to the nth resolution level bitratenenhance the bitrate of the enhancement video corresponding to the nth resolution level q a resolution ratio (which is, for example, 2n)

In general, a maximum resolution is defined as R0, bitrate0, X0base, Y0base, X0enhance, Y0enhance, and q are given by user, and also

k = bitrate 0 base bitrate 0 enhance = σ X 0 base * Y 0 base σ X 0 enhance * Y 0 enhance = X 0 base * Y 0 base X 0 enhance * Y 0 enhance ( 1 ) q = X 0 enhance X 1 enhance > 1 ( 2 ) R n + 1 = ( X n + 1 , Y n + 1 ) = ( X n , q , Y n q ) ( 3 )

The bitrate corresponding to the nth resolution level satisfy following formulas:

bitrate n = bitrate n base + bitrate n enhance ( 4 ) bitrate n base = k k + 1 bitrate n ( 5 ) bitrate n enhance = 1 k + 1 bitrate n ( 6 )

For each one of bitraten, bitratenenhance, and bitratenbase there is:

bitrate n + 1 = bitrate n q 2 ( 7 )

and an inequality is satisfied:


bitratenbase>bitraten+1base+bitraten+1enhance  (8)

By substituting (7) into (8), there is:

bitrate n base > 1 q 2 - 1 bitrate n enhance ( 9 )

So that the mapping table can be generated when X0base, Y0base, X0enhance, Y0enhance and q are provided by the user and satisfy an inequality:

X 0 base * Y 0 base X 0 enhance * Y 0 enhance > 1 q 2 - 1

FIG. 5 is a structural diagram presenting a system for downloading a VR video according to an embodiment of the present disclosure. The system 500 for downloading a VR video comprises a request receiving module 501, a speed calculation module 502, a segment obtaining module 503, a link obtaining module 504 and a download executing module 505.

The request receiving module 501 is configured to receive a play request for a first video. The play request is sent from a display device or a VR device. Information provided by the play request includes a name of the current playing video and a current field of view of a user. The first video here refers to a specific video.

The speed calculating module 502 is configured to calculate an average download speed. The average download speed is calculated by making statistics on the amount of downloaded and download time.

The segment obtaining module 503 is configured to select a plurality of first video segments from a plurality of video segments of the first video according to the average download speed, wherein the plurality of video segments of the first video correspond to different resolutions and bitrates. The plurality of video segments of the first video is obtained during a video transcoding process and have different resolutions and bitrates. The segment obtaining module 503 is configured to obtain the video segments for downloading selected from the plurality of video segments for downloading according to the current average download speed. In general, a download strategy is set to select the video segments with low bitrates and low resolutions for downloading when the average download speed is low, and to select the video segments with high bitrates and high resolutions for downloading when the average download speed is relatively high.

The link obtaining module 504 is configured to determine a download link according to the plurality of first video segments. Specifically, the link obtaining module 504 is configured to determine a download manner and a download order according to the predetermined download strategy, for example, the link obtaining module 504 downloads the video segments with high resolutions first, and then downloads the video segments with low resolutions.

The download executing module 505 is configured to download the plurality of video segments according to the download link. That is, the download executing module performs a download operation according to the download link provided by the link obtaining module 505.

Preferably, the above-described system for downloading the VR video further comprises: a mapping table obtaining module which is configured to generate a mapping table between resolutions and bitrates during the process when the plurality of video segments are obtained according to the video data. The mapping table obtaining module comprises: a first calculating unit which is configured to define a plurality of resolution levels, and calculate resolutions in the plurality of resolution levels according to a predetermined target resolution; and a second calculating unit which is configured to calculate bitrates corresponding to the resolutions in the plurality of resolution levels based on a target bitrate corresponding to the predetermined target resolution.

In a preferred embodiment, the play request comprises a field of view of a user, the plurality of first video segments have a plurality of resolutions, and a resolution distribution of the plurality of first video segments is determined by the field of view of the user.

In the above-described embodiment, the video segments, which need to be downloaded, are determined according to the average download speed, so that the amount of downloaded data can be decreased and the video transmission can be optimized. It should be pointed out that the video data needs to be continuously downloaded during VR video playback, therefore, the process for selecting the video segments with proper resolutions and bitrates for downloading can be continuously performed according to the current average download speed, that is, the video transmission optimization is achieved by dynamic selection processes.

The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical applications, to thereby enable others skilled in the art to best utilize the disclosure. The disclosure is intended to cover alternatives, modifications and equivalents that may be included within the spirit and scope of the disclosure as defined by the appended claims.

The foregoing descriptions of specific embodiments of the present disclosure have been presented, but are not intended to limit the disclosure to the precise forms disclosed. It will be readily apparent to one skilled in the art that many modifications and changes may be made in the present disclosure. Any modifications, equivalence, variations of the preferred embodiments can be made without departing from the doctrine and spirit of the present disclosure.

Claims

1. A method for downloading a VR video, comprising:

receiving a play request for a first video;
calculating an average download speed;
selecting a plurality of first video segments from a plurality of video segments of the first video according to the average download speed, wherein the plurality of video segments of the first video correspond to different resolutions and bitrates;
determining a download link according to the plurality of first video segments; and
downloading the plurality of first video segments according to the download link.

2. The method according to claim 1, further comprising: obtaining a mapping table between resolutions and bitrates during a video transcoding process; and determining the plurality of first video segments by looking up the mapping table.

3. The method according to claim 2, wherein the step of obtaining the mapping table between resolutions and bitrates during the video transcoding process comprises:

defining a plurality of resolution levels, and calculating a plurality of resolutions in the plurality of resolution levels according to a predetermined target resolution; and
calculating bitrates corresponding to the resolutions in the plurality of resolution levels based on a target bitrate corresponding to the predetermined target resolution.

4. The method according to claim 3, wherein the step of defining the plurality of resolution levels and calculating the plurality of resolutions in the plurality of resolution levels according to the predetermined target resolution comprises: k = X 0 base * Y 0 base X 0 enhance * Y 0 enhance q = X 0 enhance X 1 enhance > 1 R n + 1 = ( X n, q, Y n q ) bitrate n = bitrate n base + bitrate n enhance bitrate n base = k k + 1  bitrate n bitrate n enhance = 1 k + 1  bitrate n, bitrate n + 1 = bitrate n q 2, bitrate n base > 1 q 2 - 1  bitrate n enhance,

calculating the resolution in one of the plurality of resolution levels following formulas below,
wherein, n represents the one of the plurality of resolution levels, R0 represents a maximum value of the plurality of resolutions, {X0base, Y0base} represents the resolution of a basic video corresponding to the one of the plurality of the resolution levels, {X0enhance, Y0enhance} represents the resolution of an enhancement video corresponding to the one of the plurality of resolution levels, q represents a resolution ratio, Rn{Xn, Yn} represents the resolution in the one of the plurality of resolution levels; wherein the step of calculating bitrates corresponding to the plurality of resolutions in the plurality of resolution levels based on a target bitrate of the predetermined target resolution, comprises:
calculating the bitrates corresponding to the resolutions in the plurality of resolution levels following formulas below,
wherein for each one of bitraten, bitratenenhance and bitratenbase, there is:
 and an inequality is satisfied:
wherein, bitrate0 represents a maximum value of the bitrates, bitraten, bitratenbase bitratenenhance respectively represent the bitrate, the bitrate of the basic video, and the bitrate of the enhancement video corresponding to the one of the plurality of resolution levels, wherein n is an integer equal to or larger than 1.

5. The method according to claim 1, wherein the play request comprises a field of view of a user, the plurality of first video segments have a plurality of resolutions, and a resolution distribution of the plurality of first video segments is determined by the field of view of the user.

6. The method according to claim 5, wherein the resolution of a first video segment within the field of view is higher than the resolution of a first video segment outside the field of view.

7. The method according to claim 1, wherein the average download speed and the resolution distribution of the plurality of first video segments are positively correlated.

8. A system for downloading a VR video, comprising:

a request receiving module configured to receive a play request of a first video;
a speed calculating module configured to calculate an average download speed;
a segment obtaining module configured to select a plurality of first video segments from a plurality of video segments of the first video according to the average download speed, wherein the plurality of video segments of the first video correspond to different resolutions and bitrates;
a link obtaining module configured to determine a download link according to the plurality of first video segments; and
a download executing module configured to download the plurality of video segments according to the download link.

9. The system according to claim 8, further comprising: a mapping table obtaining module configured to obtaining a mapping table between resolutions and bitrates during a video transcoding process, and to determine the plurality of first video segments by looking up the mapping table.

10. The system according to claim 9, wherein the mapping table obtaining module comprises:

a first calculating unit configured to define a plurality of resolution levels and calculate a plurality of resolutions in the plurality of resolution levels according to the predetermined target resolution; and
a second calculating unit configured to calculate bitrates corresponding to the plurality of resolutions in the plurality of resolution levels, based on a target bitrate corresponding to the predetermined target resolution.
Patent History
Publication number: 20180191868
Type: Application
Filed: Jan 2, 2018
Publication Date: Jul 5, 2018
Applicant: Black Sails Technology Inc. (Sunnyvale, CA)
Inventors: Zhuo Wang (Sunnyvale, CA), Yongtao Tang (San Leandro, CA), Ruoxi Zhao (San Jose, CA), Haoyan Zu (Newark, CA), Chia-Chi Chang (San Jose, CA)
Application Number: 15/860,430
Classifications
International Classification: H04L 29/06 (20060101); H04L 12/26 (20060101); H04N 19/40 (20060101);