VR live broadcast method and apparatus, and electronic device
By pushing high-resolution and low-resolution panoramic video streams in the VR live broadcast system, and first decode the low-resolution video stream on the VR client to determine the viewing angle, and then decode the high-resolution video stream, the problem of high-decoding pressure and screen effect in VR live broadcast is solved, achieving high picture quality and smooth playback effects.
Patent Information
- Application Number
- CN202311135146.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-05
- Publication Date
- 2025-03-07
AI Technical Summary
When existing VR live broadcast technology realizes high-definition live broadcast, it leads to excessive decoding pressure on VR clients, resulting in problems such as stuttering and frame loss in video images; while VR live broadcast with lower resolution will bring about screen effect and affect user experience.
By pushing the stream of high-resolution (first resolution) and low-resolution (second resolution) panoramic video streams between the VR client and the live broadcast control terminal, the VR client first decodes the low-resolution video stream, determines the video picture that coincides with the viewing angle, and then decodes the corresponding video stream in the high-resolution video stream for display.
It reduces the decoding pressure of VR clients during high-definition live broadcast, improves the quality of live broadcast, reduces the screen effect, and ensures smooth playback of the live broadcast screen.
Smart Images

Figure CN119583830A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of live broadcast technology, and in particular to a VR live broadcast method, device and electronic device. Background Art
[0002] With the generalization of game entertainment, more and more large-scale games and applications have the function of live broadcasting. And with the popularization of VR (Virtual Reality) equipment, VR panoramic live broadcasting has gradually become a new demand in all walks of life. Summary of the invention
[0003] This disclosure section is provided to introduce concepts in a brief form, which will be described in detail in the detailed description section below. This disclosure section is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0004] The disclosed embodiments provide a VR live broadcast method, device, and electronic device, which can reduce the decoding pressure of a VR client when it needs high-definition live broadcast, while improving the image quality of the live broadcast (reducing the screen door effect) and ensuring the smooth playback of the live broadcast image.
[0005] In a first aspect, an embodiment of the present disclosure provides a VR live broadcast method, which is applied to a VR client, comprising: obtaining a panoramic video stream of a first resolution and a panoramic video stream of a second resolution; wherein the first resolution is higher than the second resolution; decoding the panoramic video stream of the second resolution, and based on the decoded panoramic video stream of the second resolution, determining a video picture that overlaps with the perspective of the VR client; decoding a video stream corresponding to the video picture in the panoramic video stream of the first resolution; and presenting the decoded video picture of the first resolution.
[0006] In a second aspect, an embodiment of the present disclosure provides a VR live broadcast method, which is applied to a live broadcast control terminal, including: generating a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on current VR live broadcast content; wherein the first resolution is higher than the second resolution; streaming the panoramic video stream of the first resolution and the panoramic video stream of the second resolution so that a VR client decodes the panoramic video stream of the second resolution, and based on the decoded panoramic video stream of the second resolution, determining a video picture that overlaps with the perspective of the VR client, then decoding the video stream corresponding to the video picture in the panoramic video stream of the first resolution, and presenting the decoded video picture of the first resolution.
[0007] In a third aspect, an embodiment of the present disclosure provides a VR live broadcast device, which is applied to a VR client, including: an acquisition unit, used to acquire a panoramic video stream of a first resolution and a panoramic video stream of a second resolution; wherein the first resolution is higher than the second resolution; a first decoding unit, used to decode the panoramic video stream of the second resolution, and based on the decoded panoramic video stream of the second resolution, determine a video picture that coincides with the perspective of the VR client; a second decoding unit, used to decode the video stream corresponding to the video picture in the panoramic video stream of the first resolution; and a presentation unit, used to present the decoded video picture of the first resolution.
[0008] In a fourth aspect, an embodiment of the present disclosure provides a VR live broadcast device, which is applied to a live broadcast control end, including: a generation unit, which is used to generate a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content; wherein the first resolution is higher than the second resolution; a streaming unit, which is used to stream the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, so that a VR client decodes the panoramic video stream of the second resolution, and based on the decoded panoramic video stream of the second resolution, determines the video picture that overlaps with the perspective of the VR client, then decodes the video stream corresponding to the video picture in the panoramic video stream of the first resolution, and presents the decoded video picture of the first resolution.
[0009] In a fifth aspect, an embodiment of the present disclosure provides an electronic device, comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the VR live broadcast method as described in the first aspect, or implement the VR live broadcast method as described in the second aspect.
[0010] In a sixth aspect, an embodiment of the present disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the VR live broadcast method as described in the first aspect, or implements the VR live broadcast method as described in the second aspect.
[0011] The VR live broadcast method, device and electronic device provided by the embodiments of the present disclosure, after the VR client obtains the high-resolution (first resolution) and low-resolution (second resolution) panoramic video streams, first decodes the low-resolution panoramic video stream, and then, based on the decoded low-resolution panoramic video stream and the viewing angle of the VR client, decodes the high-resolution panoramic video picture at the viewing angle for display. In this way, the decoding pressure of the VR client when it needs high-definition live broadcast can be reduced, and by only decoding the high-resolution panoramic video stream at the current viewing angle for display, while improving the picture quality of the live broadcast (reducing the screen door effect), the smooth playback of the live broadcast picture can also be guaranteed. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale.
[0013] Figure 1 is a flow chart of an embodiment of a VR live broadcast method according to the present disclosure;
[0014] Figure 2 is a schematic diagram of a panoramic texture map according to an embodiment of the VR live broadcast method disclosed herein;
[0015] Figure 3 is a schematic diagram of a cube map in one embodiment of the VR live broadcast method according to the present disclosure;
[0016] Figure 4 is a schematic diagram of a cube map in another embodiment of the VR live broadcast method according to the present disclosure;
[0017] Figure 5 is a schematic diagram of a conversion between a cube map and a panoramic texture map in one embodiment of the VR live broadcast method disclosed herein;
[0018] Figure 6 is a schematic diagram of the overlapped portion of the viewing cone of the camera model of the VR client and the spherical model in one embodiment of the VR live broadcast method disclosed herein;
[0019] Figure 7 is a flow chart of another embodiment of the VR live broadcast method according to the present disclosure;
[0020] Figure 8 is a flowchart of another embodiment of the VR live broadcast method according to the present disclosure;
[0021] Fig. 9 is a structural schematic diagram of an embodiment of a VR live broadcast device according to the present disclosure;
[0022] Fig.10 is a structural schematic diagram of another embodiment of a VR live broadcast device according to the present disclosure;
[0023] Fig.11 is an exemplary system architecture in which the VR live broadcast method of an embodiment of the present disclosure can be applied;
[0024] Fig.12 It is a schematic diagram of the basic structure of an electronic device provided according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0025] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0026] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0027] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.
[0028] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0029] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".
[0030] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0031] Please refer to Figure 1 , which shows the process of an embodiment of the VR live broadcast method according to the present disclosure. Figure 1 The VR live broadcast method shown can be applied to a VR client (the VR client can correspond to a VR device worn by a user watching the live broadcast, such as a VR helmet or a VR all-in-one machine). The method may include the following steps:
[0032] Step 101: Obtain a panoramic video stream with a first resolution and a panoramic video stream with a second resolution.
[0033] The first resolution is higher than the second resolution. The first resolution may correspond to a high resolution, and the second resolution may correspond to a low resolution.
[0034] For example, in some embodiments, the first resolution is 7680*4320 (8k resolution), and the second resolution is 2560*1440 (2k resolution).
[0035] As an example, the first resolution may also be 3840*2160 (4k resolution), and the second resolution may also be 1920*1080 (1080p resolution). The selection of the first resolution and the second resolution may be set according to requirements and is not limited here. For example, the second resolution may also be 1280×720 (720p resolution).
[0036] In an embodiment of the present application, a VR client can obtain a panoramic video stream of a first resolution and a panoramic video stream of a second resolution by pulling streams.
[0037] It should be noted that the VR live broadcast method provided in the embodiment of the present application is applied to the VR live broadcast scene. In the VR live broadcast, it usually includes users who initiate the VR live broadcast and users who watch the VR live broadcast. The user who initiates the VR live broadcast can wear a VR device to broadcast a three-dimensional game or a three-dimensional application, and the user who watches the VR live broadcast can watch the three-dimensional game or three-dimensional application by wearing a VR device. Among them, the three-dimensional application live broadcast can be a user wearing a VR device to broadcast an application in education, medical treatment, safety training, cultural tourism, and scientific experiments. Of course, the user who initiates the VR live broadcast can also directly upload a VR live video for playback, which is not limited in this application. Exemplarily, when the user is broadcasting a three-dimensional game or a three-dimensional application, the live broadcast control end generates a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content, and then the live broadcast control end pushes the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, so that the VR client obtains the panoramic video stream of the first resolution and the panoramic video stream of the second resolution by pulling the stream.
[0038] Step 102: decode the panoramic video stream of the second resolution, and determine the video picture that overlaps with the viewing angle of the VR client based on the decoded panoramic video stream of the second resolution.
[0039] After receiving the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, the VR client first decodes the panoramic video stream of the second resolution, that is, first decodes the panoramic video stream of the low resolution.
[0040] Then, the VR client determines the video screen that overlaps with the perspective of the VR client based on the decoded panoramic video stream of the second resolution. Here, it can be understood that the video screen currently played by the VR client is determined in the panoramic video stream of the second resolution. For example, the decoded panoramic video stream of the second resolution corresponds to the three-dimensional game screen of the entire map, and the perspective of the current VR client can only display the game screen of the area where the game character is located. Therefore, the video screen that overlaps with the perspective of the VR client determined here is the game screen of the area where the game character is located.
[0041] Step 103: Decode the video stream corresponding to the video picture in the panoramic video stream of the first resolution.
[0042] After determining the video picture currently played by the VR client, the VR client decodes the corresponding video stream from the panoramic video stream of the first resolution. That is, it is not necessary to fully decode the panoramic video stream of the first resolution, but only decode the video stream corresponding to the video picture currently played by the VR client.
[0043] Exemplarily, the video picture determined in step 102 is the game picture of the area where the game character is located, and here only the video stream corresponding to the area where the game character is located is decoded in the panoramic video stream of the first resolution.
[0044] Step 104: present the decoded video picture of the first resolution.
[0045] Finally, the VR client presents the decoded first-resolution video image, where the user can watch the high-resolution video image.
[0046] In the related solutions of the existing technology, if high-definition VR live broadcast is to be achieved, such as 8k ultra-clear VR live broadcast, the VR client needs to decode and render the entire 8k panoramic video stream, which will bring too much processing pressure to the VR client, and if there are multiple VR clients watching the live broadcast at the same time in the local area network, it will inevitably cause problems such as video freeze and frame loss. If VR live broadcast at a lower resolution is used, it will bring a screen door effect, giving users a very poor live viewing experience.
[0047] In contrast, in the VR live broadcast method provided by the embodiment of the present disclosure, after the VR client obtains the high-resolution (first resolution) and low-resolution (second resolution) panoramic video streams, it first decodes the low-resolution panoramic video stream, and then, based on the decoded low-resolution panoramic video stream and the viewing angle of the VR client, decodes the high-resolution panoramic video picture at the viewing angle for display. In this way, the decoding pressure of the VR client for high-definition live broadcast requirements can be reduced, and by only decoding the high-resolution panoramic video stream at the current viewing angle for display, while improving the picture quality of the live broadcast (reducing the screen door effect), the smooth playback of the live broadcast picture can also be guaranteed.
[0048] Optionally, the method further includes: obtaining a preset segmentation method of the panoramic video stream of the first resolution. Accordingly, step 102 may also specifically include: segmenting the panoramic video stream of the second resolution based on the preset segmentation method, and determining the number of the target sub-texture map corresponding to the video screen that overlaps with the perspective of the VR client. Accordingly, step 103 may also specifically include: decoding the video stream corresponding to the number of the target sub-texture map in the panoramic video stream of the first resolution.
[0049] It should be noted that the panoramic video stream of the first resolution obtained by the VR client is divided into multiple sub-texture maps (Tile blocks) based on a preset segmentation method, and each sub-texture map includes a corresponding label.
[0050] The above preset segmentation method can be set according to the actual situation, for example, please refer to Figure 2 , the preset segmentation method can be to segment a frame of panoramic texture image into 72 sub-texture images of the same size. The sub-texture images can be numbered in order from left to right and then from top to bottom. For example, the first sub-texture image in the first row is numbered 1, the third sub-texture image in the first row is numbered 3, and the first sub-texture image in the second row is numbered 7. Assuming that the resolution of the current panoramic texture image is 7680*4320, then after Figure 2 The resolution of each sub-texture image obtained by the segmentation method shown is 640*640.
[0051] In other embodiments, the number of sub-texture image divisions in the preset division method can also be 48, 96, etc., and the numbering method can also be from right to left and then from bottom to top, which is not limited here.
[0052] After receiving the preset segmentation method of the panoramic video stream of the first resolution, the VR client segments the panoramic video stream of the second resolution based on the preset segmentation method, determines the label of the target sub-texture map corresponding to the video screen that overlaps with the perspective of the VR client, and then decodes the video stream corresponding to the label of the target sub-texture map in the panoramic video stream of the first resolution.
[0053] It should be noted that after the panoramic video stream of the first resolution and the panoramic video stream of the second resolution are segmented using the preset segmentation method, the image content corresponding to the sub-texture maps with the same label is the same. For example, after the panoramic video stream of the first resolution is segmented using the preset segmentation method, the sub-texture map with the label 4 is the same as the image content corresponding to the sub-texture map with the label 4 after the panoramic video stream of the second resolution is segmented using the preset segmentation method.
[0054] Exemplarily, after receiving the preset segmentation method of the panoramic video stream of the first resolution, the VR client segments the panoramic video stream of the second resolution based on the preset segmentation method, and then determines that the target sub-texture images corresponding to the video screen that coincides with the perspective of the VR client are numbered 15, 16, 21, and 22. The VR client then decodes the video stream corresponding to the sub-texture images numbered 15, 16, 21, and 22 in the panoramic video stream of the first resolution.
[0055] Optionally, in step 102, the VR client decodes the panoramic video stream of the second resolution, and determines the video picture that coincides with the perspective of the VR client based on the decoded panoramic video stream of the second resolution, which may specifically include: decoding the panoramic video stream of the second resolution, and overlaying the decoded video picture of the second resolution on the constructed spherical model; based on the overlapping part of the viewing cone of the camera model of the VR client and the spherical model, determining the video picture that coincides with the perspective of the VR client in the decoded panoramic video stream of the second resolution.
[0056] It should be noted that different VR clients have different FOVs (Field of View), which determine the size of the field of view that the user sees through the headset. Therefore, in the embodiment of the present application, the overlap between the view cone of the camera model of the VR client and the sphere model determines the size of the field of view that the current user can see, such as Figure 3 As shown, the user can only see a part of the panoramic texture. In the subsequent steps, only the panoramic video stream of the first resolution under the field of view is decoded and displayed. In this way, it is equivalent to ensuring that only the texture map within the user's field of view is high-definition, such as 8k resolution, while the texture map outside the field of view is ordinary definition, such as 2k resolution.
[0057] In addition, when the perspective of the VR client changes, the following steps can be repeated: based on the decoded panoramic video stream of the second resolution, determine the video picture that coincides with the perspective of the VR client, decode the video stream corresponding to the video picture in the panoramic video stream of the first resolution, and present the decoded video picture of the first resolution.
[0058] That is, each time the perspective changes, the video picture that coincides with the current perspective of the VR client is determined again, the video stream corresponding to the current video picture in the panoramic video stream of the first resolution is decoded, and finally the decoded video picture of the first resolution is presented, thereby completing the image update after the perspective changes.
[0059] See also Figure 4 Based on the same inventive concept, the present disclosure provides a VR live broadcast method applied to a live broadcast control terminal, the method comprising: step 401-step 402.
[0060] Step 401: Generate a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live content.
[0061] In the disclosed embodiment, the live broadcast is a VR live broadcast. In a VR live broadcast, there are usually users who initiate the VR live broadcast and users who watch the VR live broadcast. The user who initiates the VR live broadcast can wear a VR device to broadcast a three-dimensional game or a three-dimensional application, and the user who watches the VR live broadcast can watch the three-dimensional game or three-dimensional application by wearing a VR device. Among them, the three-dimensional application live broadcast can be a live broadcast of an application in education, medical treatment, safety training, cultural tourism, and scientific experiments by a user wearing a VR device. Of course, the user who initiates the VR live broadcast can also directly upload a VR live video for playback, which is not limited in this application.
[0062] Specifically, when a user is broadcasting a 3D game or a 3D application, the live broadcast control terminal generates a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content. For example, based on the current 3D game content, a panoramic video stream of a first resolution corresponding to the current 3D game content and a panoramic video stream of a second resolution corresponding to the current 3D game content are generated.
[0063] The first resolution is higher than the second resolution, the first resolution may correspond to a high resolution, and the second resolution may correspond to a low resolution.
[0064] For example, in some embodiments, the first resolution is 7680*4320 (8k resolution), and the second resolution is 2560*1440 (2k resolution).
[0065] As an example, the first resolution may also be 3840*2160 (4k resolution), and the second resolution may also be 1920*1080 (1080p resolution). The selection of the first resolution and the second resolution may be set according to requirements and is not limited here. For example, the second resolution may also be 1280×720 (720p resolution).
[0066] Step 402, streaming the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, so that the VR client decodes the panoramic video stream of the second resolution, and based on the decoded panoramic video stream of the second resolution, determines the video picture that overlaps with the perspective of the VR client, and then decodes the video stream corresponding to the video picture in the panoramic video stream of the first resolution, and presents the decoded video picture of the first resolution.
[0067] After generating the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, the live broadcast control end encodes the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, and then pushes the streams. The purpose of pushing the streams is to enable the VR client to receive the encoded panoramic video stream of the first resolution and the panoramic video stream of the second resolution.
[0068] It should be noted that the processing flow of the VR client receiving the panoramic video stream of the first resolution and the panoramic video stream of the second resolution has been described in the aforementioned embodiments, and the same parts can be referenced to each other and will not be repeated here.
[0069] Optionally, before streaming the panoramic video stream of the first resolution, the live broadcast control end may also perform the following operations for each frame of the panoramic texture map in the panoramic video stream of the first resolution, including: the live broadcast control end divides the panoramic texture map of the first resolution based on a preset division method to generate multiple sub-texture maps (Tile blocks); wherein each sub-texture map includes a label.
[0070] After the panoramic video stream of the first resolution is divided at the live broadcast control end, the divided panoramic video stream of the first resolution is pushed.
[0071] In addition, the live broadcast control end is also used to send a preset segmentation method to the VR client, so that the VR client segments the panoramic video stream of the second resolution based on the preset segmentation method, and determines the label of the target sub-texture map corresponding to the video screen that overlaps with the perspective of the VR client; and decodes the video stream corresponding to the label of the target sub-texture map in the panoramic video stream of the first resolution.
[0072] The above preset segmentation method can be set according to the actual situation. For example, you can continue to refer to Figure 2 , the preset segmentation method can be to segment a frame of panoramic texture image into 72 sub-texture images of the same size. The sub-texture images can be numbered in order from left to right and then from top to bottom. For example, the first sub-texture image in the first row is numbered 1, the third sub-texture image in the first row is numbered 3, and the first sub-texture image in the second row is numbered 7. Assuming that the resolution of the current panoramic texture image is 7680*4320, then after Figure 2The resolution of each sub-texture image obtained by the segmentation method shown is 640*640.
[0073] In other embodiments, the number of sub-texture image divisions in the preset division method can also be 48, 96, etc., and the numbering method can also be from right to left and then from bottom to top, which is not limited here.
[0074] It should be noted that after the panoramic video stream of the first resolution and the panoramic video stream of the second resolution are segmented using the preset segmentation method, the image content corresponding to the sub-texture maps with the same label is the same. For example, after the panoramic video stream of the first resolution is segmented using the preset segmentation method, the sub-texture map with the label 5 is the same as the image content corresponding to the sub-texture map with the label 5 after the panoramic video stream of the second resolution is segmented using the preset segmentation method.
[0075] Exemplarily, after receiving the preset segmentation method of the panoramic video stream of the first resolution, the VR client segments the panoramic video stream of the second resolution based on the preset segmentation method, and then determines that the target sub-texture images corresponding to the video screen that coincides with the perspective of the VR client are numbered 15, 16, 21, and 22. The VR client then decodes the video stream corresponding to the sub-texture images numbered 15, 16, 21, and 22 in the panoramic video stream of the first resolution.
[0076] Considering the encoding performance limitations of the hard encoder and the rendering pressure of 3D applications / games, there are also different limitations on the segmentation of panoramic texture maps. In theory, the more sub-texture blocks are segmented, the better the optimization performance of occupied bandwidth, and the greater the encoding pressure. Therefore, different encoding schemes are implemented for different hardware configurations.
[0077] The first type is that when the live broadcast control terminal includes M graphics processors (GPUs), M is a positive integer. Before the live broadcast control terminal pushes the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, the following operations may be performed, including: encoding the panoramic video stream of the second resolution in one of the M graphics processors; dividing the multiple sub-texture maps corresponding to the panoramic video stream of the first resolution into M-1 parts, and encoding them in the remaining M-1 graphics processors of the M graphics processors respectively.
[0078] Assume that M=4, that is, the live broadcast control terminal includes GPU0, GPU1, GPU2 and GPU3. At this time, the panoramic video stream of the second resolution can be encoded on GPU0, and then the multiple sub-texture maps corresponding to the panoramic video stream of the first resolution can be divided into 3 parts. Assume that the sub-texture Figure 1There are 72 in total, which are divided into 3 parts, each with 24. Then GPU1, GPU2 and GPU3 need to encode 24 sub-texture maps of the first resolution respectively.
[0079] In addition, it should be noted that rendering for three-dimensional applications can also be assigned to GPU0 for processing.
[0080] It can be seen that the above method can distribute hard coding to different graphics processors, thereby effectively reducing the coding pressure.
[0081] The second type, when the live broadcast control end includes a graphics processor, the live broadcast control end generates a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content, including: generating a panoramic video stream of a first resolution and a panoramic video stream of a third resolution based on the current VR live broadcast content; wherein the first resolution is higher than the third resolution; reducing the resolution of the panoramic video stream of the third resolution to the second resolution.
[0082] Correspondingly, before the live broadcast control end pushes the panoramic video stream with the first resolution and the panoramic video stream with the second resolution, the live broadcast control end also includes: encoding the panoramic video stream with the first resolution and the panoramic video stream with the second resolution based on a graphics processor.
[0083] It should be noted that when the live broadcast control terminal includes a graphics processor, in order to relieve the encoding pressure of a graphics processor, the panoramic video stream resolution can be reduced. Assuming that the conventional push stream includes an 8k panoramic video stream and a 2k panoramic video stream, the 2k panoramic video stream is reduced to a 1080p panoramic video stream, and then the 8k panoramic video stream and the 1080p panoramic video stream are encoded and pushed.
[0084] Exemplarily, the live broadcast control end first generates a panoramic video stream with a first resolution (8k) and a panoramic video stream with a third resolution (2k) based on the current VR live broadcast content; and then reduces the resolution of the panoramic video stream with the third resolution (2k) to the second resolution (1080p).
[0085] The first resolution, the second resolution and the third resolution mentioned above can be set according to actual needs and are not limited in this application.
[0086] It can be seen that the above method can effectively alleviate the encoding pressure of a single graphics processor.
[0087] Optionally, in step 401, the live broadcast control end generates a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content, which may specifically include: generating a panoramic video stream of a first resolution based on the current VR live broadcast content; resampling the panoramic video stream of the first resolution to generate a panoramic video stream of a second resolution.
[0088] It should be noted that the resampling here is for each frame of the panoramic texture map. Exemplarily, the live broadcast control end first generates a panoramic texture map of the first resolution (7680*3840) based on the current VR live broadcast content, and then resamples the panoramic texture map of the first resolution (7680*3840) to generate a panoramic texture map of the second resolution (2560*1280). Then, a panoramic video stream of the first resolution (7680*3840) is formed based on multiple consecutive frames of panoramic texture maps of the first resolution (7680*3840). Similarly, a panoramic video stream of the second resolution (2560*1280) is formed based on multiple consecutive frames of panoramic texture maps of the second resolution (2560*1280).
[0089] The following is an explanation of the formation process of each frame of panoramic texture map. The formation of each frame of panoramic texture map includes two steps. The first step is to generate a Cubemap based on the current scene. The second step is to convert the Cubemap into a Panorama (i.e., the panoramic texture map of the above embodiment).
[0090] In the first step, a Cubemap is a collection of six separate square textures, such as Figure 5 As shown, Cubemap contains 6 two-dimensional textures, each of which is a face of a cube.
[0091] In a 3D application or 3D game, set the properties of the Camera model, set the Field of View to 90°, and adjust the angles of the Camera model in sequence: Vector3(0, 0, 0), Vector3(0, -90, 0), Vector3(0, 180, 0), Vector3(0, 90, 0), Vector3(-90, 180, 0), Vector3(90, 180, 0) corresponding to the 2D texture surfaces of the Cubemap: "back", "right", "front", "left", "top", "bottom". Map the RenderTexture of the Camera model to the Cubemap in real time, and obtain a 360° panoramic Cubemap containing the current scene (such as Figure 6 shown).
[0092] After getting the 360° panoramic Cubemap, convert it to Panorama. It should be noted that the essence of the conversion between the two is the conversion of the UV coordinates of the cubic body to the UV coordinates of the spherical body. UV here refers to the abbreviation of texture coordinates, which defines the position information of each point on the image. These points are interconnected with the 3D model to determine the position of the surface texture map. UV is to accurately correspond each point on the image to the surface of the model object.
[0093] The conversion method can be specifically as follows: 1. Calculate the polar coordinates corresponding to each pixel in the spherical image. 2. Use the polar coordinates to form a vector, and determine the face of the cube map where the vector is located and the pixel point on the face.
[0094] The comparison chart before and after the conversion can be referred to Figure 7 , Figure 7 Shows the UV unwrapped Cubemap texture to the UV unwrapped Panorama texture.
[0095] Please refer to Figure 8 , which shows the interaction process of an embodiment of the VR live broadcast method according to the present disclosure. Figure 8 The VR live broadcast method shown includes the following steps:
[0096] Step 801: The live broadcast control terminal generates a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content.
[0097] The first resolution is higher than the second resolution.
[0098] Step 802: The live broadcast control terminal pushes the panoramic video stream of the first resolution and the panoramic video stream of the second resolution.
[0099] After generating the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, the live broadcast control end encodes the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, and then pushes the streams.
[0100] The purpose of streaming is to enable the VR client to receive the encoded panoramic video stream of the first resolution and the panoramic video stream of the second resolution.
[0101] Step 803: The VR client receives a panoramic video stream with a first resolution and a panoramic video stream with a second resolution.
[0102] The VR client can correspond to the VR device worn by the user watching the live broadcast.
[0103] Step 804: The VR client decodes the panoramic video stream of the second resolution, and determines the video picture that overlaps with the viewing angle of the VR client based on the decoded panoramic video stream of the second resolution.
[0104] After receiving the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, the VR client first decodes the panoramic video stream of the second resolution, that is, first decodes the panoramic video stream of the low resolution.
[0105] Then, the VR client determines the video screen that overlaps with the perspective of the VR client based on the decoded panoramic video stream of the second resolution. Here, it can be understood that the video screen currently played by the VR client is determined in the panoramic video stream of the second resolution. For example, the decoded panoramic video stream of the second resolution corresponds to the three-dimensional game screen of the entire map, and the perspective of the current VR client can only display the game screen of the area where the game character is located. Therefore, the video screen that overlaps with the perspective of the VR client determined here is the game screen of the area where the game character is located.
[0106] Step 805: The VR client decodes the video stream corresponding to the video picture in the panoramic video stream of the first resolution.
[0107] After determining the video picture currently played by the VR client, the VR client decodes the corresponding video stream from the panoramic video stream of the first resolution. That is, it is not necessary to fully decode the panoramic video stream of the first resolution, but only decode the video stream corresponding to the video picture currently played by the VR client.
[0108] Exemplarily, the video picture determined in step 804 is the game picture of the area where the game character is located, and here only the video stream corresponding to the area where the game character is located is decoded in the panoramic video stream of the first resolution.
[0109] Step 806: The VR client presents the decoded video image of the first resolution.
[0110] Finally, the VR client presents the decoded first-resolution video image, where the user can watch the high-resolution video image.
[0111] It should be noted that the above steps 801-806 have been described in the above embodiments, and the same parts can be referenced to each other and will not be repeated here.
[0112] In the related solutions of the existing technology, if high-definition VR live broadcast is to be achieved, such as 8k ultra-clear VR live broadcast, the VR client needs to decode and render the entire 8k panoramic video stream, which will bring too much processing pressure to the VR client, and if there are multiple VR clients watching the live broadcast at the same time in the local area network, it will inevitably cause problems such as video freeze and frame loss. If VR live broadcast at a lower resolution is used, it will bring a screen door effect, giving users a very poor live viewing experience.
[0113] In contrast, in the VR live broadcast method provided by the embodiment of the present disclosure, the live broadcast control end pushes the high-resolution (first resolution) panoramic video stream and the low-resolution (second resolution) panoramic video stream. After obtaining the high-resolution and low-resolution panoramic video streams, the VR client first decodes the low-resolution panoramic video stream, and then decodes the high-resolution panoramic video picture under the perspective based on the decoded low-resolution panoramic video stream and the perspective of the VR client for display. In this way, the decoding pressure of the VR client when it needs high-definition live broadcast can be reduced, and by only decoding the high-resolution panoramic video stream under the current perspective for display, while improving the picture quality of the live broadcast (reducing the screen door effect), the smooth playback of the live broadcast picture can also be guaranteed. And the above method can be effectively applied to the scene where multiple VR clients watch the live broadcast at the same time.
[0114] In addition, in the embodiment of the present application, the live broadcast control end and the VR client can use RTC (Real-Time Communication) for transmission. This solution can be applicable to the application scenario where multiple VR clients watch the live broadcast at the same time.
[0115] Further references Fig. 9 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a VR live broadcast device 900. Figure 1 Corresponding to the VR live broadcast method embodiment shown, the device can be specifically applied to various electronic devices.
[0116] like Fig. 9 As shown, the VR live broadcast device 900 of this embodiment includes: an acquisition unit 901, which is used to acquire a panoramic video stream of a first resolution and a panoramic video stream of a second resolution; wherein the first resolution is higher than the second resolution.
[0117] The first decoding unit 902 is used to decode the panoramic video stream of the second resolution, and determine the video picture that coincides with the viewing angle of the VR client based on the decoded panoramic video stream of the second resolution.
[0118] The second decoding unit 903 is configured to decode a video stream corresponding to the video picture in the panoramic video stream of the first resolution.
[0119] The presenting unit 904 is configured to present the decoded video picture with the first resolution.
[0120] In some embodiments, the acquisition unit 901 is further specifically used to: acquire a preset segmentation method for the panoramic video stream of the first resolution; wherein the acquired panoramic video stream of the first resolution is segmented into a plurality of sub-texture maps based on the preset segmentation method, and each of the sub-texture maps includes a corresponding label. The first decoding unit 902 is further specifically used to: segment the panoramic video stream of the second resolution based on the preset segmentation method, and determine the label of the target sub-texture map corresponding to the video screen that overlaps with the perspective of the VR client. The second decoding unit 203 is further specifically used to: decode the video stream corresponding to the label of the target sub-texture map in the panoramic video stream of the first resolution.
[0121] In some embodiments, the first decoding unit 902 is further specifically used to: decode the panoramic video stream of the second resolution, and overlay the decoded video picture of the second resolution on the constructed spherical model; based on the overlapping part of the viewing cone of the camera model of the VR client and the spherical model, determine the video picture in the decoded panoramic video stream of the second resolution that overlaps with the perspective of the VR client.
[0122] Further references Fig.10 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a VR live broadcast device 1000. Figure 4 Corresponding to the VR live broadcast method embodiment shown, the device can be specifically applied to various electronic devices.
[0123] like Fig.10 As shown, the VR live broadcast device 1000 of this embodiment includes:
[0124] The generating unit 1001 is used to generate a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content; wherein the first resolution is higher than the second resolution.
[0125] The streaming unit 1002 is used to stream the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, so that the VR client decodes the panoramic video stream of the second resolution, and determines the video picture that coincides with the perspective of the VR client based on the decoded panoramic video stream of the second resolution, and then decodes the video stream corresponding to the video picture in the panoramic video stream of the first resolution, and presents the decoded video picture of the first resolution.
[0126] In some embodiments, the device further includes a segmentation unit. For each frame of the panoramic texture map in the panoramic video stream of the first resolution, the segmentation unit is used to segment the panoramic texture map of the first resolution based on a preset segmentation method before streaming the panoramic video stream of the first resolution, and generate a plurality of sub-texture maps; wherein each of the sub-texture maps includes a label. In response, the device further includes a sending unit, which is used to send the preset segmentation method to the VR client, so that the VR client segments the panoramic video stream of the second resolution based on the preset segmentation method, determines the label of the target sub-texture map corresponding to the video screen that overlaps with the perspective of the VR client; and decodes the video stream corresponding to the label of the target sub-texture map in the panoramic video stream of the first resolution.
[0127] In some embodiments, the live broadcast control terminal includes M graphics processors, where M is a positive integer; the device also includes an encoding unit. The encoding unit is used to encode the panoramic video stream of the second resolution in one of the M graphics processors before pushing the panoramic video stream of the first resolution and the panoramic video stream of the second resolution; divide the multiple sub-texture maps corresponding to the panoramic video stream of the first resolution into M-1 parts, and encode them in the remaining M-1 graphics processors of the M graphics processors respectively.
[0128] In some embodiments, the live broadcast control terminal includes a graphics processor, and the generation unit 1001 is further specifically used to generate a panoramic video stream of a first resolution and a panoramic video stream of a third resolution based on the current VR live broadcast content; wherein the first resolution is higher than the third resolution; and the resolution of the panoramic video stream of the third resolution is reduced to the second resolution. The device also includes an encoding unit. The encoding unit is used to encode the panoramic video stream of the first resolution and the panoramic video stream of the second resolution based on the graphics processor.
[0129] In some embodiments, the generation unit 1001 is further specifically used to: generate a panoramic video stream of the first resolution based on the current VR live content; and resample the panoramic video stream of the first resolution to generate a panoramic video stream of the second resolution.
[0130] Please refer to Fig.11 , Fig.11 An exemplary system architecture is shown in which the VR live broadcast method according to an embodiment of the present disclosure can be applied.
[0131] like Fig.11 As shown, the system architecture may include terminal devices 1101, 1102, 1103, a network 1104, and a server 1105. The network 1104 may be used to provide a medium for a communication link between the terminal devices 1101, 1102, 1103 and the server 1105. The network 1104 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.
[0132] The terminal devices 1101, 1102, and 1103 can interact with the server 1105 through the network 1104 to receive or send messages, etc. Various client applications, such as web browser applications, search applications, and news information applications, can be installed on the terminal devices 1101, 1102, and 1103. The client applications in the terminal devices 1101, 1102, and 1103 can receive user instructions and perform corresponding functions according to the user instructions, such as adding corresponding information to the information according to the user instructions.
[0133] Terminal devices 1101, 1102, and 1103 can be hardware or software. When terminal devices 1101, 1102, and 1103 are hardware, they can be various electronic devices with display screens and support web browsing, including but not limited to VR all-in-one machines, VR helmets, smart phones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III, Moving Picture Experts Compression Standard Audio Layer 3), MP4 (Moving Picture Experts Group Audio Layer IV, Moving Picture Experts Compression Standard Audio Layer 4) players, laptop computers, and desktop computers, etc. When terminal devices 1101, 1102, and 1103 are software, they can be installed in the electronic devices listed above. It can be implemented as multiple software or software modules (for example, software or software modules used to provide distributed services), or it can be implemented as a single software or software module. No specific limitation is made here.
[0134] The server 1105 may be a server that provides various services, such as receiving information acquisition requests sent by the terminal devices 1101, 1102, and 1103, and acquiring display information corresponding to the information acquisition requests in various ways according to the information acquisition requests. And the relevant data of the display information is sent to the terminal devices 1101, 1102, and 1103. The server 1105 may be the live broadcast control terminal in the above embodiment.
[0135] It should be noted that the VR live broadcast method provided in the embodiment of the present disclosure can be executed by a terminal device, and accordingly, the VR live broadcast device can be set in the terminal devices 1101, 1102, and 1103. In addition, the VR live broadcast method provided in the embodiment of the present disclosure can also be executed by a server 1105, and accordingly, the VR live broadcast device can be set in the server 1105.
[0136] It should be understood that Fig.11 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.
[0137] Reference below Fig.12 , which shows an electronic device (eg, Fig.11 The terminal device in the embodiment of the present disclosure may include but is not limited to mobile terminals such as VR all-in-one machine, VR helmet, mobile phone, notebook computer, digital broadcast receiver, PDA (personal digital assistant), PAD (tablet computer), PMP (portable multimedia player), vehicle-mounted terminal (such as vehicle-mounted navigation terminal), etc., and fixed terminals such as digital TV, desktop computer, etc. Fig.12 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0138] like Fig.12 As shown, the electronic device may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 1201, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1202 or a program loaded from a storage device 1208 to a random access memory (RAM) 1203. In the RAM 1203, various programs and data required for the operation of the electronic device 1200 are also stored. The processing device 1201, the ROM 1202, and the RAM 1203 are connected to each other via a bus 1204. An input / output (I / O) interface 1205 is also connected to the bus 1204.
[0139] Typically, the following devices may be connected to the I / O interface 1205: an input device 1206 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 1207 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 1208 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1209. The communication device 1209 may allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. Although Fig.12 An electronic device having various devices is shown, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0140] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 1209, or installed from the storage device 1208, or installed from the ROM 1202. When the computer program is executed by the processing device 1201, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
[0141] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0142] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0143] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0144] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device, the electronic device can: obtain a panoramic video stream of a first resolution and a panoramic video stream of a second resolution; wherein the first resolution is higher than the second resolution; decode the panoramic video stream of the second resolution, and based on the decoded panoramic video stream of the second resolution, determine the video picture that overlaps with the perspective of the VR client; decode the video stream corresponding to the video picture in the panoramic video stream of the first resolution; and present the decoded video picture of the first resolution.
[0145] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0146] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0147] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware. The name of a unit does not limit the unit itself in some cases. For example, the acquisition unit 901 may also be described as a "unit for acquiring a panoramic video stream of a first resolution and a panoramic video stream of a second resolution".
[0148] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0149] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0150] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.
[0151] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0152] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.
Claims
1. A VR live broadcast method, characterized in that: Applied to VR clients, including: Acquire a panoramic video stream of a first resolution and a panoramic video stream of a second resolution; wherein the first resolution is higher than the second resolution; Decoding the panoramic video stream of the second resolution, and determining a video picture that overlaps with the viewing angle of the VR client based on the decoded panoramic video stream of the second resolution; Decoding a video stream corresponding to the video picture in the panoramic video stream of the first resolution; The decoded video picture with the first resolution is presented.
2. The method according to claim 1, characterized in that The method further comprises: Obtaining a preset segmentation method of the panoramic video stream of the first resolution; wherein the obtained panoramic video stream of the first resolution is segmented into a plurality of sub-texture maps based on the preset segmentation method, and each of the sub-texture maps includes a corresponding label; The determining, based on the decoded panoramic video stream of the second resolution, a video picture that overlaps with the viewing angle of the VR client includes: Segment the panoramic video stream of the second resolution based on the preset segmentation method, and determine the label of the target sub-texture map corresponding to the video picture that coincides with the viewing angle of the VR client; The decoding of the video stream corresponding to the video picture in the panoramic video stream of the first resolution includes: Decode the video stream corresponding to the label of the target sub-texture map in the panoramic video stream of the first resolution.
3. The method according to claim 1, characterized in that The decoding of the panoramic video stream of the second resolution, and determining, based on the decoded panoramic video stream of the second resolution, a video picture that overlaps with the viewing angle of the VR client, includes: Decoding the panoramic video stream of the second resolution, and overlaying the decoded video picture of the second resolution on the constructed spherical model; Based on the overlapping part of the viewing cone of the camera model of the VR client and the spherical model, the video picture that overlaps with the viewing angle of the VR client in the decoded panoramic video stream of the second resolution is determined.
4. A VR live broadcast method, characterized in that: Applied to the live broadcast control terminal, including: Generate a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content; wherein the first resolution is higher than the second resolution; The panoramic video stream of the first resolution and the panoramic video stream of the second resolution are pushed, so that the VR client decodes the panoramic video stream of the second resolution, and based on the decoded panoramic video stream of the second resolution, determines the video picture that coincides with the viewing angle of the VR client, then decodes the video stream corresponding to the video picture in the panoramic video stream of the first resolution, and presents the decoded video picture of the first resolution.
5. The method according to claim 4, characterized in that For each frame of the panoramic texture image in the panoramic video stream of the first resolution, before streaming the panoramic video stream of the first resolution, the method further includes: Segmenting the panoramic texture image of the first resolution based on a preset segmentation method to generate a plurality of sub-texture images; wherein each of the sub-texture images includes a label; The method further comprises: The preset segmentation method is sent to the VR client, so that the VR client segments the panoramic video stream of the second resolution based on the preset segmentation method, determines the label of the target sub-texture map corresponding to the video screen that coincides with the viewing angle of the VR client; and decodes the video stream corresponding to the label of the target sub-texture map in the panoramic video stream of the first resolution.
6. The method according to claim 5, characterized in that When the live broadcast control terminal includes M graphics processors, M is a positive integer; Before streaming the panoramic video stream with the first resolution and the panoramic video stream with the second resolution, the method further includes: Encoding the panoramic video stream of the second resolution in one of the M graphics processors; The multiple sub-texture images corresponding to the panoramic video stream of the first resolution are equally divided into M-1 parts, and are respectively encoded in the remaining M-1 graphics processors among the M graphics processors.
7. The method according to claim 5, characterized in that When the live broadcast control terminal includes a graphics processor, generating a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content includes: Generate a panoramic video stream of a first resolution and a panoramic video stream of a third resolution based on the current VR live broadcast content; wherein the first resolution is higher than the third resolution; Reducing the resolution of the panoramic video stream of the third resolution to the second resolution; Correspondingly, before streaming the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, the method further includes: Based on the graphics processor, the panoramic video stream with the first resolution and the panoramic video stream with the second resolution are encoded.
8. The method according to claim 4, characterized in that The generating of a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content includes: Based on the current VR live broadcast content, generate a panoramic video stream of the first resolution; The panoramic video stream of the first resolution is resampled to generate a panoramic video stream of the second resolution.
9. The method according to claim 4, characterized in that The first resolution is 7680*4320; the second resolution is 2560*1440.
10. A VR live broadcast device, characterized in that: Applied to VR clients, including: An acquisition unit, configured to acquire a panoramic video stream of a first resolution and a panoramic video stream of a second resolution; wherein the first resolution is higher than the second resolution; A first decoding unit is used to decode the panoramic video stream of the second resolution, and determine a video picture that overlaps with the viewing angle of the VR client based on the decoded panoramic video stream of the second resolution; A second decoding unit, configured to decode a video stream corresponding to the video picture in the panoramic video stream of the first resolution; A presentation unit is used to present the decoded video picture with the first resolution.
11. A VR live broadcast device, characterized in that: Applied to the live broadcast control terminal, including: A generating unit, configured to generate a panoramic video stream of a first resolution and a panoramic video stream of a second resolution based on the current VR live broadcast content; wherein the first resolution is higher than the second resolution; A streaming unit is used to stream the panoramic video stream of the first resolution and the panoramic video stream of the second resolution, so that the VR client decodes the panoramic video stream of the second resolution, and based on the decoded panoramic video stream of the second resolution, determines the video picture that coincides with the viewing angle of the VR client, then decodes the video stream corresponding to the video picture in the panoramic video stream of the first resolution, and presents the decoded video picture of the first resolution.
12. An electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 9.
13. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 9 is implemented.