Virtual reality video processing method, terminal, server and storage medium thereof
By working together between the virtual reality terminal and the server, the frame index information of high-quality video fragments is obtained and high-quality independently encoded frames are determined, which solves the problem of perspective switching delay and improves the user's visual experience.
Patent Information
- Application Number
- CN202010904606.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-01
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2040-09-01
AI Technical Summary
When the perspective of a virtual reality terminal is switched, the switching delay between high-quality images and low-quality images in the existing technology is long, affecting the user's visual experience.
Through collaborative work between the virtual reality terminal and the server, the frame index information of high-quality video fragments is obtained, the high-quality independently encoded frame closest to the currently played frame is determined, and the frame data starting with this frame is obtained for playback, ensuring that the image quality is improved when the perspective is switched.
The switching delay between high-quality and low-quality images is reduced, improving the user's visual experience.
Smart Images

Figure CN114125499B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to, but are not limited to, the field of virtual reality technology, and in particular to a virtual reality video processing method, a terminal, a server, and a computer-readable storage medium thereof. Background Art
[0002] With the continuous development of information technology, virtual reality (VR) technology has also made significant progress. Currently, a publicly available transmission strategy for VR terminals is to adaptively transmit images of appropriate quality based on the user's viewing direction during 360-degree panoramic video playback. This transmission method can achieve the goal of saving overall bandwidth. It is called "viewport-dependent streaming" in the Moving Picture Experts Group (MPEG). That is, high-quality images are transmitted in the direction of the user's main viewing window, and low-quality images or no images are transmitted in other directions.
[0003] Block transmission is a transmission method of the above-mentioned transmission strategy in a specific application scenario. It mainly introduces a motion-constrained tile set (MCTS) in High Efficiency Video Coding (HEVC), so that the panoramic image can be divided into blocks through HEVC. Furthermore, since the main viewing angle of the VR terminal has a corresponding range, it can be determined according to the range which blocks fall within the range and which blocks fall outside the range, so that high-quality images can be transmitted to the blocks within the range, and low-quality images or no images can be transmitted to the blocks outside the range. However, when the VR terminal switches the viewing angle, that is, when the main viewing angle of the VR terminal switches, the image corresponding to the block may change. For the user, in the related technology, the block corresponding to the low-quality image cannot be quickly switched to the block corresponding to the high-quality image, which will affect the user's visual experience when using the VR terminal. Summary of the Invention
[0004] The following is a summary of the subject matter described in detail herein. This summary is not intended to limit the scope of the claims.
[0005] Embodiments of the present invention provide a virtual reality video processing method and its terminal, server, and computer-readable storage medium, which can reduce the switching delay between high-quality and low-quality images when the virtual reality terminal switches the perspective, thereby providing users with a better visual experience.
[0006] In a first aspect, an embodiment of the present invention provides a virtual reality video processing method, applied to a virtual reality terminal, comprising:
[0007] When it is detected that the user perspective is switched from the first primary perspective to the second primary perspective, frame index information corresponding to a current video segment played in the second primary perspective is obtained from a server, wherein the frame index information includes first frame information of a first video segment corresponding to the current video segment, image quality of the first video segment is higher than image quality of the current video segment, and independent coding frame density of the first video segment is higher than independent coding frame density of the current video segment;
[0008] Determine, according to the current playing frame and the first frame information in the frame index information, a first independently encoded frame to be played that is closest to the current playing frame in the first frame information;
[0009] Obtaining, from a server, frame data of a video segment to be played that starts with the first independently coded frame to be played according to the first independently coded frame to be played, wherein the video segment to be played corresponds to the current video segment and has higher image quality than the current video segment;
[0010] An image is played according to the frame data.
[0011] In a second aspect, an embodiment of the present invention further provides a virtual reality video processing method, applied to a server, comprising:
[0012] Obtaining frame index request information from a virtual reality terminal, where the frame index request information is used to request downloading frame index information corresponding to a current video segment played in a second primary perspective when the virtual reality terminal detects that a first primary perspective has been switched to a second primary perspective, wherein the frame index information includes first frame information of a first video segment corresponding to the current video segment, the image quality of the first video segment being higher than the image quality of the current video segment, and the independent coding frame density of the first video segment being higher than the independent coding frame density of the current video segment;
[0013] sending the frame index information to the virtual reality terminal according to the frame index request information, so that the virtual reality terminal determines, based on the current playing frame and the first frame information in the frame index information, a first to-be-played independently encoded frame closest to the current playing frame in the first frame information, and causing the virtual reality terminal to download, based on the first to-be-played independently encoded frame request, frame data starting with the first to-be-played independently encoded frame in a to-be-played video segment, wherein the to-be-played video segment corresponds to the current video segment and has higher image quality than the current video segment;
[0014] Acquire frame data request information sent by the virtual reality terminal requesting to download the frame data;
[0015] The frame data is sent to the virtual reality terminal according to the frame data request information, so that the virtual reality terminal plays an image according to the frame data.
[0016] In a third aspect, an embodiment of the present invention further provides a virtual reality terminal, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the virtual reality video processing method as described in the first aspect above is implemented.
[0017] In a fourth aspect, an embodiment of the present invention further provides a server comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the virtual reality video processing method as described in the second aspect above is implemented.
[0018] In a fifth aspect, an embodiment of the present invention further provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are used to execute the virtual reality video processing method as described above.
[0019] An embodiment of the present invention includes: when it is detected that the first main perspective is switched to the second main perspective, frame index information corresponding to the current video segment played in the second main perspective is obtained from the server, wherein the frame index information includes the first frame information of the first video segment corresponding to the current video segment, the image quality of the first video segment is higher than the image quality of the current video segment, the independent coding frame density of the first video segment is greater than the independent coding frame density of the current video segment, and the first independently coded frame to be played closest to the current playing frame in the first frame information is determined according to the current playing frame and the first frame information in the frame index information, and frame data of the video segment to be played with the first independently coded frame to be played as the starting frame is obtained from the server according to the first independently coded frame to be played, wherein the video segment to be played corresponds to the current video segment, and the image quality of the video segment to be played is higher than the image quality of the current video segment, and the image is played according to the frame data. According to the solution provided by an embodiment of the present invention, when a virtual reality terminal switches perspective, it can determine the first independently coded frame to be played that is closest to the currently played frame based on the currently played frame and frame index information obtained from the server. Because the first independently coded frame to be played is located in the first video slice, and the image quality of the first video slice is higher than that of the current video slice, the image quality played based on the frame data starting with the first independently coded frame to be played is higher than the image quality of the current video slice. That is, starting from the first independently coded frame to be played, the display can be switched to a higher-quality image. The switching delay is the delay between the currently played frame and the first independently coded frame to be played. At the same time, because the independently coded frame density of the first video slice is higher than that of the current video slice, the time node corresponding to the first independently coded frame to be played is before the time node of the delayed playback frame corresponding to the current video slice in the related art. That is, when the virtual reality terminal switches perspective, the switching delay between high-quality and low-quality images can be reduced, thereby providing a better visual experience for the user.
[0020] Other features and advantages of the present invention will be described in the following description, and in part will become apparent from the description, or will be understood by practicing the present invention. The purposes and other advantages of the present invention can be realized and obtained by the structures particularly pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings are used to provide a further understanding of the technical solution of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the technical solution of the present invention and do not constitute a limitation to the technical solution of the present invention.
[0022] Figure 1 is a schematic diagram of an image platform for executing a virtual reality video processing method provided by one embodiment of the present invention;
[0023] Figure 2 is a flowchart of a virtual reality video processing method provided by one embodiment of the present invention;
[0024] Figure 3 This is a schematic diagram of switching the main perspective of a virtual reality terminal provided by an embodiment of the present invention;
[0025] Figure 4 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention;
[0026] Figure 5 This is a schematic diagram of delayed switching of the main perspective of a virtual reality terminal provided by one embodiment of the present invention;
[0027] Figure 6 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention;
[0028] Figure 7 is a schematic diagram of delayed switching of a virtual reality terminal provided by another embodiment of the present invention;
[0029] Figure 8 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention;
[0030] Figure 9 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention;
[0031] Figure 10 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention;
[0032] Figure 11 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention;
[0033] Figure 12 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention;
[0034] Figure 13 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention;
[0035] Figure 14 This is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention. DETAILED DESCRIPTION
[0036] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0037] It should be noted that although the device schematics illustrate functional module divisions and the flowcharts illustrate logical sequences, in certain circumstances, the steps shown or described may be performed in a sequence that differs from the module divisions in the device or the sequence in the flowcharts. The terms "first," "second," and so on, in the specification, claims, and drawings, are used to distinguish similar items and are not necessarily used to describe a specific sequence or precedence.
[0038] The present invention provides a virtual reality video processing method, a virtual reality terminal, a server, and a computer-readable storage medium. When the virtual reality terminal switches perspectives, it can determine the first independently coded frame to be played that is closest to the current playback frame based on the current playback frame and frame index information obtained from the server. Because the first independently coded frame to be played is located in a first video slice and the image quality of the first video slice is higher than that of the current video slice, the image quality played based on frame data starting with the first independently coded frame to be played is higher than the image quality of the current video slice. That is, starting from the first independently coded frame to be played, the display can be switched to a higher-quality image. The switching delay is the delay between the current playback frame and the first independently coded frame to be played. At the same time, because the density of independently coded frames of the first video slice is higher than that of the current video slice, the time node corresponding to the first independently coded frame to be played is before the time node of the delayed playback frame corresponding to the current video slice in the related art. That is, when the virtual reality terminal switches perspectives, the switching delay between high-quality and low-quality images can be reduced, thereby providing a better visual experience for the user.
[0039] The embodiments of the present invention are further described below with reference to the accompanying drawings.
[0040] like Figure 1 As shown, Figure 1 FIG. 1 is a schematic diagram of an image platform 100 for executing a virtual reality video processing method provided by one embodiment of the present invention.
[0041] exist Figure 1 In the embodiment, the image platform 100 includes a server 102 and a virtual reality (VR) terminal. The server 102 is connected to the terminal. Therefore, information interaction can be performed between the server 102 and the terminal, and the execution of the virtual reality video processing method can be realized through the information interaction between the two.
[0042] In one embodiment, the server 102 can transcode the selected video to generate corresponding video segments and index files, and send the corresponding video segments and index files to the virtual reality terminal 101, so that the virtual reality terminal 101 plays the selected video according to the corresponding video segments and index files.
[0043] In one embodiment, the server 102 transcodes the selected video, which may include, but is not limited to, decoding the selected video to obtain an uncompressed panoramic image. The selected video may be a video file already stored in the server 102 or a video file externally input to the server 102. The selected video parameters may be configurable and are not limited to these parameters. For example, the format may be, but is not limited to, MP4, FLV, F4V, and TS, and the video bitrate may be, but is not limited to, 100 Mbps.
[0044] In one embodiment, the server 102 transcodes the selected video, and may also include but is not limited to: performing high-efficiency video coding (HEVC) based on a motion-constrained tile set (MCTS) on the uncompressed panoramic image, and keeping the independent coding frame interval in the panoramic image unchanged, thereby encapsulating a high-quality compressed file and a low-quality compressed file with the same panoramic image content, wherein the image quality of the panoramic image corresponding to the high-quality compressed file is higher than the image quality of the panoramic image corresponding to the low-quality compressed file.
[0045] It should be noted that an independently coded frame is an independent frame that carries all the information. It can be decoded and played independently without referring to other image information. It is essentially equivalent to a still picture in a video. In a video sequence, an independently coded frame can be an I frame or a key frame.
[0046] It is worth noting that the "high quality" in the terms "high-quality blocks," "high-quality video slices," "high-density high-quality compressed files," "high-density high-quality blocks," and "high-density high-quality video slices" described below all refer to higher image quality for the corresponding panoramic images. Similarly, the "low quality" in the terms "low-quality blocks" and "low-quality video slices" described below all refer to lower image quality for the corresponding panoramic images. To avoid redundancy, these terms will not be further described below. Furthermore, the terms "high quality" and "low quality" are not qualitative definitions of image quality; that is, "high quality" and "low quality" are not intended to be specific parameters of image quality, but rather serve as a comparative reference for image quality.
[0047] In one embodiment, the server 102 transcodes the selected video, and may also include, but is not limited to: slicing the high-quality compressed file and the low-quality compressed file according to the time dimension and the block dimension, respectively, to obtain corresponding slices of all blocks, that is, all high-quality blocks can be obtained by slicing the high-quality compressed file according to the block dimension, and all high-quality video slices can be obtained by slicing the high-quality blocks according to the time dimension, and all low-quality blocks can be obtained by slicing the low-quality compressed file according to the block dimension, and all low-quality video slices can be obtained by slicing the low-quality blocks according to the time dimension. Therefore, each block can obtain its corresponding high-quality video slice and low-quality video slice. At the same time, a corresponding video playback index file is established based on the index information of the high-quality video slice and the low-quality video slice, wherein the index information may be, but is not limited to, storage location information and storage capacity information of the image frame. For example, the index information is used to determine the position node of a certain independent coded frame in the video slice (such as the number of the independent coded frame, the number of previous and next independent coded frames, etc.) and the storage capacity (such as the byte size of the frame).
[0048] In one embodiment, the server 102 transcodes the selected video, and may also include but is not limited to: performing MCTS-based HEVC on the uncompressed panoramic image, and reducing the independent coding frame interval in the panoramic image, thereby encapsulating a high-density, high-quality compressed file with the same panoramic image content.
[0049] In one embodiment, the server 102 transcodes the selected video, and may also include but is not limited to: slicing the high-density, high-quality compressed file according to the block dimension to obtain all high-density, high-quality blocks, and slicing the high-density, high-quality blocks according to the time dimension to obtain all high-density, high-quality video fragments. At the same time, the index information of the high-density, high-quality video fragments is added to the video playback index file as described above, wherein the index information may be but is not limited to the storage location information and storage capacity information of the image frame. For example, the index information is used to determine the position node information of a certain independent coding frame in the video fragment (such as the number of independent coding frames in the video fragment, the number of previous and next independent coding frames, etc.) and byte information (such as the size of the frame).
[0050] In one embodiment, the server 102 transcodes the selected video, and may also include but is not limited to: creating a common frame information index file for the index information of high-quality video segments, the index information of low-quality video segments, and the index information of high-density high-quality video segments. The frame information in this frame information index file can be used to locate the specific frame type of each frame and the specific position of the frame in the segment. At the same time, a description of the frame information index file is added to the video playback index file, so that the frame information in the frame information index file can be found through the video playback index file.
[0051] It is worth noting that each block corresponds to slices with different playback qualities. According to the above embodiment, each block can correspond to high-quality video slices, low-quality video slices and high-density high-quality video slices at the same time. For a certain block, its corresponding video slices will not be played at the same time in the time domain, but different video slices can be played at different times. For example, when the low-quality video slice of the block is playing an image, the corresponding high-quality video slice and high-density high-quality video slice will not play an image, but at the next moment, it may switch to a high-quality video slice or a high-density high-quality video slice for playback, or it may still maintain the low-quality video slice for playback.
[0052] In one embodiment, the virtual reality terminal 101 plays the selected video according to the corresponding video segments and index file, which may include but is not limited to: sending a request message for requesting to play the virtual reality video to the server 102.
[0053] In one embodiment, the virtual reality terminal 101 plays the selected video according to the corresponding video fragments and index file, and may also include but is not limited to: obtaining a video play list sent by the server 102 according to the request information, and the video play list can be a single list file loaded with low-quality video fragments, high-quality video fragments and high-density high-quality video fragments at the same time, or it can be three list files loaded with low-quality video fragments, high-quality video fragments and high-density high-quality video fragments respectively.
[0054] In one embodiment, the virtual reality terminal 101 plays the selected video according to the corresponding video fragments and index file, and may also include but is not limited to: after receiving the video play list, based on the current main perspective, select the high-quality video fragments corresponding to the blocks in the main perspective from the video play index file for downloading, and at the same time select the low-quality video fragments corresponding to the blocks in the main perspective for downloading, and the above file downloads are all initiated to the server 102.
[0055] In one embodiment, the virtual reality terminal 101 plays the selected video according to the corresponding video segments and index file, and may also include but is not limited to: constructing a segment combination of corresponding blocks from the high-quality video segments and the low-quality video segments obtained from the server 102, and decoding them to play the corresponding images of the corresponding blocks.
[0056] It is worth noting that the virtual reality terminal 101 and the server 102 may include a memory and a processor respectively, wherein the memory and the processor may be connected via a bus or other means.
[0057] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0058] The image platform 100 and application scenarios described in the embodiment of the present invention are intended to more clearly illustrate the technical solutions of the embodiment of the present invention, and do not constitute a limitation on the technical solutions provided by the embodiment of the present invention. Those skilled in the art will appreciate that with the evolution of the image platform 100 and the emergence of new application scenarios, the technical solutions provided by the embodiment of the present invention are equally applicable to similar technical problems.
[0059] It will be understood by those skilled in the art that Figure 1 The image platform 100 shown in the figure does not constitute a limitation on the embodiments of the present invention, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0060] exist Figure 1 In the image platform 100 shown, the virtual reality terminal 101 or the server 102 can respectively call the image processing program stored therein to execute the virtual reality video processing method.
[0061] Based on the structure of the above-mentioned image platform 100, various embodiments of the virtual reality video processing method of the present invention are proposed.
[0062] like Figure 2 As shown, Figure 2 This is a flowchart of a virtual reality video processing method provided by an embodiment of the present invention. The virtual reality video processing method can be applied to Figure 1 The virtual reality terminal in the image platform shown includes but is not limited to step S100:
[0063] Step S100: When it is detected that the user perspective is switched from the first primary perspective to the second primary perspective, frame index information corresponding to the current video segment played in the second primary perspective is obtained from the server, wherein the frame index information includes first frame information of a first video segment corresponding to the current video segment, the image quality of the first video segment is higher than the image quality of the current video segment, and the independent coding frame density of the first video segment is higher than the independent coding frame density of the current video segment;
[0064] Step S200, determining the first independently encoded frame to be played that is closest to the current playing frame in the first frame information according to the current playing frame and the first frame information in the frame index information;
[0065] Step S300: obtaining, from a server, frame data of a video segment to be played that starts with the first independently encoded frame to be played, according to the first independently encoded frame to be played, wherein the video segment to be played corresponds to the current video segment, and image quality of the video segment to be played is higher than image quality of the current video segment;
[0066] Step S400: playing an image according to the frame data.
[0067] In one embodiment, as the main perspective of the virtual reality terminal switches, the video segments corresponding to the main perspective should also switch accordingly, so that the main perspective of the virtual reality terminal can maintain higher quality video playback. In order to better illustrate the switching principle of the main perspective of the virtual reality terminal, an example is given below for illustration.
[0068] Example 1
[0069] like Figure 3 As shown, Figure 3 FIG. 1 is a schematic diagram of switching the main perspective of a virtual reality terminal provided by an embodiment of the present invention.
[0070] exist Figure 3 In the example, the perspective before switching is the first main perspective, and the perspective after switching is the second main perspective. In the entire perspective picture, the perspective corresponding to the first main perspective (i.e. Figure 3 The four image blocks in the area P1+P2) shown in FIG are numbered 1, 3, 5 and 6 respectively, that is, Figure 3 The blocks 1, 3, 5 and 6 shown in FIG are used to play high-quality images at the same time. That is, at this time, the high-quality video segments in the image blocks are being played, and the remaining image blocks that are not within the first main viewing angle are playing low-quality images (for example, blocks 2, 4, 7 and 8 described below). At the same time, the high-quality video segments corresponding to the image blocks outside the first main viewing angle (i.e. Figure 3 The four image blocks of the area P3+P4+P5) shown in FIG are numbered 2, 4, 7, 8, 9 and 10 respectively, that is, Figure 3 The blocks 2, 4, 7, 8, 9 and 10 shown in FIG are used to play low-quality images, that is, the low-quality video segments in the image blocks are being played at this time; when the viewing angle is switched, the second main viewing angle (i.e. Figure 3 The number of image blocks in the area P1+P4 shown in FIG is still 4, and their serial numbers are 1, 3, 4 and 7 respectively, indicating that image blocks 1, 3, 4 and 7 all need to play high-quality images. It can be seen that before the view angle is switched, blocks 1 and 3 are already within the main view angle range of the virtual reality terminal (i.e. Figure 3 In the area P1 shown in FIG, that is, the first main perspective and the second main perspective have overlapping blocks 1 and 3 before and after switching. These image blocks can maintain the original playback state (that is, continue to play high-quality images). Therefore, there is no need to switch the images corresponding to blocks 1 and 3. Therefore, at this time, only the playback state of blocks 4 and 7 needs to be switched, so that blocks 4 and 7 are converted from the low-quality images being played to high-quality images, thereby realizing the switching of the main perspective of the virtual reality terminal, so that the high-quality image can be played again in the main perspective of the virtual reality terminal.
[0071] In one embodiment, when the virtual reality terminal switches the perspective, it can determine the first independently encoded frame to be played that is closest to the current playing frame based on the current playing frame and the frame index information obtained from the server. Since the first independently encoded frame to be played is located in the first video segment, and the image quality of the first video segment is higher than the image quality of the current video segment, the quality of the image played based on the frame data with the first independently encoded frame to be played as the starting frame is higher than the image quality of the current video segment. It can be understood that, under the comparison condition, the first video segment corresponds to a high-quality image, and the current video segment corresponds to a low-quality image, that is, starting from the first independently encoded frame to be played, it can be switched to play a higher-quality picture, and the switching delay is from The delay between the current playback frame and the first independently encoded frame to be played. At the same time, since the independently encoded frame density of the first video segment is greater than the independently encoded frame density of the current video segment, the time node corresponding to the first independently encoded frame to be played is before the time node of the delayed playback frame corresponding to the current video segment in the related technology, that is, the independent encoding frame density of the video segment that needs to be delayed switched to in the related technology is the same as the independent encoding frame density of the current video segment. Therefore, the switching delay in the related technology must be higher than the switching delay corresponding to the method adopted in this embodiment. Therefore, when the virtual reality terminal switches the perspective, the switching delay between high-quality pictures and low-quality pictures can be reduced, thereby bringing a better visual experience to the user.
[0072] In one embodiment, the independent coding frame density of the first video segment only needs to be set to be greater than the independent coding frame density of the current video segment. In this case, it can be ensured that the switching delay can be relatively reduced. Those skilled in the art can set the independent coding frame density of the corresponding video segment according to the actual playback situation, and this is not restricted in this embodiment.
[0073] In one embodiment, the frame index information corresponding to the current video segment played in the second main perspective may include several frame information, and each frame information shown corresponds to a different segment of a certain block, for example, different frame information corresponds to a high-quality video segment, a low-quality video segment and a high-density high-quality video segment, respectively. Therefore, the corresponding video segment and the corresponding frame in the video segment can be determined by the corresponding frame information in the frame index information, that is, based on the frame index information, the target video segment and the corresponding frame in the video segment can be conveniently and stably obtained, so as to more accurately perform the switching of video segments.
[0074] In one embodiment, after acquiring the frame data, the virtual reality terminal may convert the frame data into a corresponding image and play it by, but not limited to, decoding or other methods, so that the user can continuously view higher quality images from the first independently encoded frame to be played, and the end frame of the frame data can be selected by the virtual reality terminal, that is, the virtual reality terminal can determine the end frame on the video segment to be played based on the frame index information. The end frame may be the last independently encoded frame of the video segment to be played, or any independently encoded frame before the last independently encoded frame. Therefore, the user can select the frame data of the virtual reality terminal and its corresponding playback image content based on the actual playback situation.
[0075] In one embodiment, the video segment to be played in step S300 may be a first video segment, wherein, when the video segment to be played is the first video segment, the frame index information also includes second frame information of a second video segment corresponding to the current video segment, the image quality of the second video segment is the same as the image quality of the first video segment, and the independent coding frame density of the second video segment is the same as the independent coding frame density of the current video segment. In order to more conveniently illustrate the principle of step S300, a specific embodiment will be given below for illustration.
[0076] like Figure 4 As shown, Figure 4 Flowchart of a virtual reality video processing method provided by another embodiment of the present invention, wherein step S300 includes but is not limited to steps S310 to S330:
[0077] Step S310, determining the second independently encoded frame to be played that is closest to the current playing frame in the second frame information according to the current playing frame and the second frame information in the frame index information;
[0078] Step S320, determining a third independently coded frame to be played corresponding to the second independently coded frame to be played in the first frame information according to the second independently coded frame to be played;
[0079] Step S330: acquiring frame data of the first video segment starting with the first independently coded frame to be played and ending with the third independently coded frame to be played from the server according to the first independently coded frame to be played and the third independently coded frame to be played.
[0080] In one embodiment, the second frame information serves as an index for the second video segment. Therefore, after determining the current playback frame and the second frame information in the frame index information, the second independently encoded frame to be played in the second video segment corresponding to the currently played image can be further determined, so that the subsequent playback process can be based on the second independently encoded frame to be played in the second video segment for playback. Moreover, it can be seen that the time interval between the current playback frame and the playback frame is obviously higher than the time interval between the current playback frame and the first independently encoded frame to be played. Therefore, based on the correspondence in the time domain, it can be seen that the corresponding third independently encoded frame to be played in the first video segment can be obtained through the corresponding independently encoded frame in the second video segment. It can be seen that the third independently encoded frame to be played is located after the first independently encoded frame to be played. Therefore, the frame data with the first independently encoded frame to be played as the starting frame and the third independently encoded frame to be played as the ending frame can be determined, so as to play a higher quality image on the first video segment.
[0081] In order to more conveniently illustrate the principle of this embodiment, a specific example is given below for illustration.
[0082] Example 2
[0083] like Figure 5 As shown, Figure 5 This is a schematic diagram of delayed switching of the main perspective of a virtual reality terminal provided by an embodiment of the present invention.
[0084] exist Figure 5In the example, the frame being played on the current video segment is frame IndexN. The first video segment can be determined based on the first frame information in the frame index information, and then the frame IndexN' in the first video segment and the frame IndexA closest to the frame IndexN' can be determined based on the time domain relationship. At the same time, the second video segment can be determined based on the second frame information in the frame index information, and then the frame IndexB' in the second video segment can be determined through the frame IndexN and the high-quality video segment. That is, frame IndexB' is an independently encoded frame closest to the frame IndexN in the second video segment, and then Then, based on the time domain relationship, IndexB on the first video segment can be determined accordingly. Therefore, through the determined frame IndexA and frame IndexB, the frame data of all frames between the two frames can be obtained, so that higher quality image content can be played based on this segment of frame data, that is, the actual delayed switching is completed after determining frame IndexA, and the switching delay is the time interval from frame IndexN' to frame IndexA. Therefore, higher quality pictures can be played normally after frame IndexA, which means that there is no switching delay after frame IndexA.
[0085] In one embodiment, after playing the image corresponding to the frame data from frame IndexA to frame IndexB, you can choose to continue downloading the frame data starting from frame IndexB on the first video segment and play it accordingly, so as to continue playing higher quality image content.
[0086] In one embodiment, after playing the image corresponding to the frame data from frame IndexA to frame IndexB, you can also choose to continue downloading the frame data starting from frame IndexB' on the second video segment and play it accordingly, so that you can continue to play higher quality image content.
[0087] In one embodiment, the video segment to be played in step S300 may be a second video segment, wherein, when the video segment to be played is the second video segment, the frame index information also includes the second frame information of the second video segment corresponding to the current video segment, the image quality of the second video segment is the same as the image quality of the first video segment, and the independent coding frame density of the second video segment is the same as the independent coding frame density of the current video segment. In order to more conveniently illustrate the principle of step S300, a specific embodiment will be given below for illustration.
[0088] like Figure 6 As shown, Figure 6 Flowchart of a virtual reality video processing method provided by another embodiment of the present invention, wherein step S300 includes but is not limited to steps S340 to S360:
[0089] Step S340, determining the second independently encoded frame to be played that is closest to the current playing frame in the second frame information according to the current playing frame and the second frame information in the frame index information;
[0090] Step S350, determining a fourth frame to be played corresponding to the first independently coded frame to be played in the second frame information according to the first independently coded frame to be played;
[0091] Step S360: acquiring frame data of the second video segment starting with the fourth frame to be played and ending with the second frame to be played from the server according to the fourth frame to be played and the second frame to be played independently encoded.
[0092] In one embodiment, the second frame information serves as an index for the second video segment. Therefore, after determining the current playback frame and the second frame information in the frame index information, the second independently encoded frame to be played in the second video segment corresponding to the currently played picture can be further determined, so that the subsequent playback process can be based on the second independently encoded frame to be played in the second video segment for playback. Moreover, based on the correspondence in the time domain, it can be known that the first independently encoded frame to be played in the first video segment can be used to obtain the corresponding fourth frame to be played in the second video segment. It can be known that the fourth frame to be played is located after the current playback frame and before the second independently encoded frame to be played. Therefore, the frame data with the fourth frame to be played as the starting frame and the second independently encoded frame to be played as the ending frame can be determined, so as to play a higher quality image on the second video segment.
[0093] In order to more conveniently illustrate the principle of this embodiment, a specific example is given below for illustration.
[0094] Example 3
[0095] like Figure 7 As shown, Figure 7 FIG. 1 is a schematic diagram of delayed switching of a virtual reality terminal provided by another embodiment of the present invention.
[0096] exist Figure 7In the example, the frame being played on the current video segment is frame IndexN. The first video segment can be determined based on the first frame information in the frame index information, and then the frame IndexN' in the first video segment and the frame IndexA closest to the frame IndexN' are determined based on the time domain relationship. Then, the corresponding frame IndexA' on the second video segment is determined based on the frame IndexA. At the same time, the second video segment can be determined based on the second frame information in the frame index information, and then the frame IndexB' in the second video segment is determined based on the frame IndexN and the high-quality video segment. That is, frame IndexB' is the frame closest to the frame IndexN in the second video segment. The most recent independently encoded frame of IndexN is obtained. Therefore, through the determined frame IndexA' and frame IndexB', the frame data of all frames between the two frames can be obtained, so that higher-quality image content can be played based on this segment of frame data. That is, the actual delayed switching is completed after the frame IndexA is determined, and the switching delay is the time interval from frame IndexN' to frame IndexA. Therefore, the frame IndexA' corresponding to the frame IndexA in the time domain is equivalent to the normal playback of a higher-quality picture after frame IndexA, which means that there is no switching delay after frame IndexA.
[0097] In one embodiment, after playing the image corresponding to the frame data from frame IndexA' to frame IndexB', you can choose to continue downloading the frame data starting from frame IndexB on the first video segment and play it accordingly, so as to continue playing higher quality image content.
[0098] In one embodiment, after playing the image corresponding to the frame data between frame IndexA' and frame IndexB', you can also choose to continue downloading the frame data starting from frame IndexB' on the second video segment and play it accordingly, so that you can continue to play higher quality image content.
[0099] It is worth noting that although the independent encoding frame density of the first video segment and the second video segment is different, the corresponding frame data of the two are consistent after decoding and restoration. That is, from the time domain perspective, the images played by the two are the same and can be synchronized. For example, whether playing from frame IndexA to frame IndexB or from frame IndexA' to frame IndexB', the image content perceived by the user is the same. Therefore, it shows that both download and playback methods are feasible and can be selected for execution by virtual reality terminals.
[0100] like Figure 8 As shown, Figure 8is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention, which can be applied to Figure 1 The server in the image platform shown in FIG. 1 includes but is not limited to steps S500 to S800:
[0101] Step S500: Obtaining frame index request information from the virtual reality terminal. The frame index request information is used by the virtual reality terminal to request downloading frame index information corresponding to the current video segment played in the second primary perspective when detecting that the user perspective has switched from the first primary perspective to the second primary perspective. The frame index information includes first frame information of a first video segment corresponding to the current video segment, the image quality of the first video segment being higher than the image quality of the current video segment, and the independent coding frame density of the first video segment being higher than the independent coding frame density of the current video segment.
[0102] Step S600: Frame index information is sent to the virtual reality terminal according to the frame index request information, so that the virtual reality terminal determines, according to the current playing frame and the first frame information in the frame index information, a first independently coded frame to be played that is closest to the current playing frame in the first frame information, and causes the virtual reality terminal to download, according to the first independently coded frame to be played request, frame data starting with the first independently coded frame to be played in the video segment to be played, wherein the video segment to be played corresponds to the current video segment, and image quality of the video segment to be played is higher than image quality of the current video segment;
[0103] Step S700: Acquire frame data request information for requesting to download frame data sent by the virtual reality terminal;
[0104] Step S800: sending frame data to the virtual reality terminal according to the frame data request information, so that the virtual reality terminal plays images according to the frame data.
[0105] In one embodiment, after obtaining the frame index request information from the virtual reality terminal, it can be known that the main perspective of the virtual reality terminal has been switched. In this case, the virtual reality terminal needs to obtain the frame index information corresponding to the frame index request information. Therefore, the server sends the frame index information to the virtual reality terminal accordingly, so that the virtual reality terminal can determine the first independently encoded frame to be played that is closest to the current playing frame according to the current playing frame and the frame index information obtained from the server after obtaining the frame index information. Since the first independently encoded frame to be played is located in the first video segment, and the image quality of the first video segment is higher than the image quality of the current video segment, the image played according to the frame data with the first independently encoded frame to be played as the starting frame is higher than the image quality of the current video segment. It can be understood that, under the comparison condition, the first video segment corresponds to a high-quality image, and the current video segment corresponds to a low-quality image. A low-quality image, that is, starting from the first independently encoded frame to be played, can be switched to a higher-quality image. The switching delay is the delay from the current playback frame to the first independently encoded frame to be played. At the same time, since the independent encoding frame density of the first video segment is greater than the independent encoding frame density of the current video segment, the time node corresponding to the first independently encoded frame to be played is before the time node of the delayed playback frame corresponding to the current video segment in the related technology, that is, the independent encoding frame density of the video segment that needs to be delayed to switch to in the related technology is the same as the independent encoding frame density of the current video segment. Therefore, the switching delay in the related technology must be higher than the switching delay corresponding to the method adopted in this embodiment. Therefore, through the information interaction between the server and the virtual reality terminal, the virtual reality terminal can reduce the switching delay between high-quality images and low-quality images when switching perspectives, thereby bringing a better visual experience to users.
[0106] In one embodiment, setting frame index request information and frame data request information can enable the server to send corresponding information to the virtual reality terminal only when the virtual reality terminal needs to switch the main perspective and play the image accordingly. Therefore, it can prevent the server from sending information to the virtual reality terminal at the wrong time, thereby improving the stability of information interaction between the two.
[0107] It is worth noting that the virtual reality video processing method in this embodiment is different from the above Figures 2 to 3 The virtual reality video processing method in the embodiment shown belongs to the same inventive concept, so other specific implementations of the virtual reality video processing method in this embodiment can refer to the above Figures 2 to 3 The specific embodiment of the virtual reality video processing method in the illustrated embodiment is omitted for brevity. Other specific implementations of the virtual reality video processing method in this embodiment will not be described in detail herein.
[0108] like Figure 9 As shown, Figure 9 This is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention, wherein the video segment to be played is a first video segment, the frame index information further includes second frame information of a second video segment corresponding to the current video segment, the image quality of the second video segment is the same as the image quality of the first video segment, and the independent coding frame density of the second video segment is the same as the independent coding frame density of the current video segment. Step S700 includes but is not limited to step S710:
[0109] Step S710: Frame index information is sent to the virtual reality terminal according to the frame index request information. The frame index information enables the virtual reality terminal to determine the second independently coded frame to be played that is closest to the currently played frame in the second frame information according to the currently played frame and the second frame information in the frame index information, and enables the virtual reality terminal to determine the third independently coded frame to be played corresponding to the second independently coded frame to be played in the first frame information according to the second independently coded frame to be played, and enables the virtual reality terminal to request to download frame data in the first video segment with the first independently coded frame to be played as the starting frame and the third independently coded frame to be played as the ending frame.
[0110] In one embodiment, the frame index information sent by the server to the virtual reality terminal includes second frame information, where the second frame information serves as an index to the second video segment. Therefore, after determining the currently playing frame and the second frame information in the frame index information, the virtual reality terminal can further determine the second independently coded frame to be played in the second video segment corresponding to the currently playing image. Thus, subsequent playback can be performed based on the second independently coded frame to be played in the second video segment. Furthermore, it can be seen that the time interval between the currently playing frame and the next playing frame is significantly greater than the time interval between the currently playing frame and the first independently coded frame to be played. Therefore, based on the temporal correspondence, it can be seen that the virtual reality terminal can obtain the corresponding third independently coded frame to be played in the first video segment through the corresponding independently coded frame in the second video segment. It can be seen that the third independently coded frame to be played is located after the first independently coded frame to be played. Therefore, the virtual reality terminal can determine frame data starting with the first independently coded frame to be played and ending with the third independently coded frame to be played. Thus, after downloading the corresponding frame data, a higher-quality image can be played on the first video segment.
[0111] It is worth noting that the virtual reality video processing method in this embodiment is different from the above Figures 4 and 5 The virtual reality video processing method in the embodiment shown belongs to the same inventive concept, so other specific implementations of the virtual reality video processing method in this embodiment can refer to the above Figures 4 and 5The specific embodiment of the virtual reality video processing method in the illustrated embodiment is omitted for brevity. Other specific implementations of the virtual reality video processing method in this embodiment will not be described in detail herein.
[0112] like Figure 10 As shown, Figure 10 This is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention, wherein the video segment to be played is a second video segment, the frame index information further includes second frame information of the second video segment corresponding to the current video segment, the image quality of the second video segment is the same as the image quality of the first video segment, and the independent coding frame density of the second video segment is the same as the independent coding frame density of the current video segment. Step S700 includes but is not limited to step S720:
[0113] Step S720: Frame index information is sent to the virtual reality terminal according to the frame index request information. The frame index information enables the virtual reality terminal to determine the second independently encoded frame to be played that is closest to the currently played frame in the second frame information based on the currently played frame and the second frame information in the frame index information, and enables the virtual reality terminal to determine the fourth independently encoded frame to be played in the second frame information corresponding to the first independently encoded frame to be played based on the first independently encoded frame to be played, and enables the virtual reality terminal to request downloading of frame data in the second video segment with the fourth independently encoded frame to be played as the starting frame and the second independently encoded frame to be played as the ending frame.
[0114] In one embodiment, the frame index information sent by the server to the virtual reality terminal includes second frame information, wherein the second frame information serves as an index for the second video segment. Therefore, the virtual reality terminal can determine the second independently coded frame to be played in the second video segment corresponding to the currently played image, so that it can play based on the second independently coded frame to be played in the second video segment during subsequent playback. Moreover, based on the corresponding relationship in the time domain, it can be seen that the virtual reality terminal can obtain the corresponding fourth frame to be played in the second video segment through the first independently coded frame to be played in the first video segment. It can be seen that the fourth frame to be played is located after the currently played frame and before the second independently coded frame to be played. Therefore, the virtual reality terminal can determine frame data with the fourth frame to be played as the starting frame and the second independently coded frame to be played as the ending frame, so that after downloading the corresponding frame data, it can play a higher quality image on the second video segment.
[0115] It is worth noting that the virtual reality video processing method in this embodiment is different from the above Figures 6 and 7 The virtual reality video processing method in the embodiment shown belongs to the same inventive concept, so other specific implementations of the virtual reality video processing method in this embodiment can refer to the above Figures 6 and 7The specific embodiment of the virtual reality video processing method in the illustrated embodiment is omitted for brevity. Other specific implementations of the virtual reality video processing method in this embodiment will not be described in detail herein.
[0116] like Figure 11 As shown, Figure 11 4 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention. The virtual reality video processing method further includes but is not limited to steps S900 to S1000.
[0117] Step S900: Encode the video to be played to obtain a first compressed file corresponding to the video to be played, wherein the video bit rate of the first compressed file is lower than the original bit rate of the video to be played;
[0118] Step S1000: Slice the first compressed file to obtain a current video segment and third frame information corresponding to the current video segment.
[0119] In one embodiment, the server can encode the video to be played on the virtual reality terminal, thereby obtaining a first compressed file and a current video fragment after slicing the first compressed file, and keeping the video bit rate of the first compressed file lower than the original bit rate of the video to be played. Therefore, the image playback quality of the obtained current video fragment is relatively low. At the same time, the third frame information corresponding to the current video fragment is also obtained, which is convenient for determining the information of the corresponding frame in the current video fragment through the third frame information, thereby providing support for the perspective switching delay of the virtual reality terminal.
[0120] In one embodiment, it is sufficient for the video to be played to be encoded, that is, the specific encoding method is not limited in this embodiment, and those skilled in the art can choose according to actual applications. For example, the encoding method can be MCTS-based HEVC under MPEG, or encoding performed under H.261, H.263 or H.264 standards, etc.
[0121] It is worth noting that since the virtual reality video processing method in this embodiment and the corresponding method for transcoding the selected video by the server in the embodiment shown in the above-mentioned image platform belong to the same inventive concept, other specific implementation methods of the virtual reality video processing method in this embodiment can refer to the specific embodiments of the corresponding method for transcoding the selected video by the server in the embodiment shown in the above-mentioned image platform. To avoid redundancy, other specific implementation methods of the virtual reality video processing method in this embodiment will not be repeated here.
[0122] like Figure 12 As shown, Figure 124 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention. The virtual reality video processing method further includes but is not limited to steps S1100 to S1200.
[0123] Step S1100: Encode the video to be played to obtain a second compressed file corresponding to the video to be played, wherein the video bit rate of the second compressed file is equal to the original bit rate of the video to be played;
[0124] Step S1200: Slice the second compressed file to obtain second video segments and second frame information corresponding to the second video segments.
[0125] In one embodiment, the server can encode the video to be played on the virtual reality terminal, thereby obtaining a second compressed file and second video fragments after slicing the second compressed file, and maintaining the video bit rate of the second compressed file equal to the original bit rate of the video to be played. Therefore, the image playback quality of the obtained second video fragment is higher than that of the current video fragment. At the same time, the second frame information corresponding to the current second video fragment is also obtained, which is convenient for determining the information of the corresponding frame in the second video fragment through the second frame information, thereby providing support for the perspective switching delay of the virtual reality terminal.
[0126] In one embodiment, it is sufficient for the video to be played to be encoded, that is, the specific encoding method is not limited in this embodiment, and those skilled in the art can choose according to actual applications. For example, the encoding method can be MCTS-based HEVC under MPEG, or encoding performed under H.261, H.263 or H.264 standards, etc.
[0127] It is worth noting that since the virtual reality video processing method in this embodiment and the corresponding method for transcoding the selected video by the server in the embodiment shown in the above-mentioned image platform belong to the same inventive concept, other specific implementation methods of the virtual reality video processing method in this embodiment can refer to the specific embodiments of the corresponding method for transcoding the selected video by the server in the embodiment shown in the above-mentioned image platform. To avoid redundancy, other specific implementation methods of the virtual reality video processing method in this embodiment will not be repeated here.
[0128] like Figure 13 As shown, Figure 13 4 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention. The virtual reality video processing method further includes but is not limited to steps S1300 to S1400.
[0129] Step S1300: Encode the video to be played and reduce the interval between independent encoding frames of the video to be played to obtain a third compressed file corresponding to the video to be played, wherein the video bit rate of the third compressed file is equal to the original bit rate of the video to be played;
[0130] Step S1400: Slice the third compressed file to obtain a first video segment and first frame information corresponding to the first video segment.
[0131] In one embodiment, the server can encode the video to be played on the virtual reality terminal, and reduce the independent encoding frame interval of the video to be played during encoding, thereby obtaining a third compressed file and a first video fragment after slicing the third compressed file, and maintaining the video bit rate of the third compressed file equal to the original bit rate of the video to be played. Therefore, the image playback quality of the obtained first video fragment is equal to that of the second video fragment, and therefore is also higher than the image playback quality of the current video fragment. At the same time, the first frame information corresponding to the current first video fragment is also obtained, which facilitates determining the information of the corresponding frame in the first video fragment through the first frame information, thereby providing support for the perspective switching delay of the virtual reality terminal.
[0132] In one embodiment, it is sufficient for the video to be played to be encoded, that is, the specific encoding method is not limited in this embodiment, and those skilled in the art can choose according to actual applications. For example, the encoding method can be MCTS-based HEVC under MPEG, or encoding performed under H.261, H.263 or H.264 standards, etc.
[0133] It is worth noting that since the virtual reality video processing method in this embodiment and the corresponding method for transcoding the selected video by the server in the embodiment shown in the above-mentioned image platform belong to the same inventive concept, other specific implementation methods of the virtual reality video processing method in this embodiment can refer to the specific embodiments of the corresponding method for transcoding the selected video by the server in the embodiment shown in the above-mentioned image platform. To avoid redundancy, other specific implementation methods of the virtual reality video processing method in this embodiment will not be repeated here.
[0134] like Figure 14 As shown, Figure 14 15 is a flowchart of a virtual reality video processing method provided by another embodiment of the present invention. The virtual reality video processing method further includes but is not limited to step S1500.
[0135] Step S1500: Create frame index information according to the first frame information, the second frame information, and the third frame information.
[0136] In one embodiment, a common frame index information is created based on the acquired first frame information, second frame information, and third frame information, so as to facilitate the management of frame information of different video fragments, thereby improving the storage stability of the frame information. In this way, when in use, the server can call the file at any time when needed, that is, call the frame information of the relevant video fragments and send the frame information to the virtual reality terminal, thereby providing support for the perspective switching delay of the virtual reality terminal.
[0137] It is worth noting that since the virtual reality video processing method in this embodiment and the corresponding method for transcoding the selected video by the server in the embodiment shown in the above-mentioned image platform belong to the same inventive concept, other specific implementation methods of the virtual reality video processing method in this embodiment can refer to the specific embodiments of the corresponding method for transcoding the selected video by the server in the embodiment shown in the above-mentioned image platform. To avoid redundancy, other specific implementation methods of the virtual reality video processing method in this embodiment will not be repeated here.
[0138] In addition, an embodiment of the present invention provides a virtual reality terminal, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor.
[0139] The processor and the memory may be connected via a bus or other means.
[0140] It should be noted that the virtual reality terminal in this embodiment can be applied to Figure 1 The image platform in the embodiment shown can thus constitute Figure 1 As part of the image platform in the illustrated embodiments, these embodiments all belong to the same inventive concept, and therefore these embodiments have the same implementation principles and technical effects, which will not be described in detail here.
[0141] The non-transient software program and instructions required to implement the virtual reality video processing method of the above embodiment are stored in the memory. When executed by the processor, the virtual reality video processing method of the above embodiment is executed, for example, the above-described Figure 2 Method steps S100 to S400, Figure 4 Method steps S310 to S330 or Figure 6 Method steps S340 to S360 in .
[0142] In addition, an embodiment of the present invention provides a server, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor.
[0143] The processor and the memory may be connected via a bus or other means.
[0144] It should be noted that the server in this embodiment can be applied to Figure 1 The image platform in the embodiment shown can thus constitute Figure 1 As part of the image platform in the illustrated embodiments, these embodiments all belong to the same inventive concept, and therefore these embodiments have the same implementation principles and technical effects, which will not be described in detail here.
[0145] The non-transient software program and instructions required to implement the virtual reality video processing method of the above embodiment are stored in the memory. When executed by the processor, the virtual reality video processing method of the above embodiment is executed, for example, the above-described Figure 8 Method steps S500 to S800, Figure 9 In the method step S710, Figure 10 Method step S720, Figure 11 Method steps S900 to S1000, Figure 12 Method steps S1100 to S1200, Figure 13 Method steps S1300 to S1400 or Figure 14 Method step S1500 in .
[0146] In addition, an embodiment of the present invention further provides a computer-readable storage medium, which stores computer-executable instructions. The computer-executable instructions are executed by a processor or controller, for example, by a processor in the above embodiment, so that the processor can execute the virtual reality video processing method in the above embodiment, for example, executing the above-described Figure 2 Method steps S100 to S400, Figure 4 Steps S310 to S330 of the method, Figure 6 Method steps S340 to S360, Figure 8 Method steps S500 to S800, Figure 9 In the method step S710, Figure 10 Method step S720, Figure 11 Method steps S900 to S1000, Figure 12 Method steps S1100 to S1200, Figure 13 Method steps S1300 to S1400 or Figure 14 Method step S1500 in .
[0147] Those skilled in the art will appreciate that all or some of the steps and systems in the method disclosed above can be implemented as software, firmware, hardware, and appropriate combinations thereof. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, and the computer-readable medium can include computer storage media (or non-transitory media) and communication media (or temporary media). As known to those skilled in the art, the term computer storage media is included in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data) and is volatile and non-volatile, removable, and non-removable. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory, or other memory technology, CD-ROM, digital versatile disks (DVD), or other optical disk storage, magnetic cassettes, magnetic tapes, disk storage, or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, as is well known to those skilled in the art, communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
[0148] The above is a specific description of the preferred embodiments of the present invention, but the present invention is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without violating the spirit of the present invention. These equivalent modifications or substitutions are all included in the scope defined by the claims of the present invention.
Claims
1. A virtual reality video processing method, applied to a virtual reality terminal, comprising: upon detecting that a user's perspective has switched from a first primary perspective to a second primary perspective, obtaining from a server frame index information corresponding to a current video segment played in the second primary perspective, wherein: The frame index information includes first frame information of a first video slice corresponding to the current video slice, image quality of the first video slice is higher than image quality of the current video slice, and independent coding frame density of the first video slice is higher than independent coding frame density of the current video slice; Determine, according to the current playing frame and the first frame information in the frame index information, a first independently encoded frame to be played that is closest to the current playing frame in the first frame information; Obtaining, from a server, frame data of a video segment to be played that starts with the first independently coded frame to be played according to the first independently coded frame to be played, wherein the video segment to be played corresponds to the current video segment and has higher image quality than the current video segment; An image is played according to the frame data.
2. The virtual reality video processing method according to claim 1, characterized in that: The to-be-played video segment is the first video segment, the frame index information further includes second frame information of a second video segment corresponding to the current video segment, the image quality of the second video segment is the same as the image quality of the first video segment, and the independently coded frame density of the second video segment is the same as the independently coded frame density of the current video segment; The acquiring, from the server according to the first independently coded frame to be played, frame data of the video fragment to be played, which starts with the first independently coded frame to be played, includes: Determine, according to the current playing frame and the second frame information in the frame index information, a second to-be-played independently encoded frame in the second frame information that is closest to the current playing frame; Determine, according to the second independently coded frame to be played, a third independently coded frame to be played corresponding to the second independently coded frame to be played in the first frame information; According to the first to-be-played independently encoded frame and the third to-be-played independently encoded frame, frame data of the first video segment starting with the first to-be-played independently encoded frame and ending with the third to-be-played independently encoded frame is obtained from the server.
3. The virtual reality video processing method according to claim 1, characterized in that: The video segment to be played is a second video segment, the frame index information further includes second frame information of the second video segment corresponding to the current video segment, the image quality of the second video segment is the same as the image quality of the first video segment, and the independent coding frame density of the second video segment is the same as the independent coding frame density of the current video segment; The acquiring, from the server according to the first independently coded frame to be played, frame data of the video fragment to be played, which starts with the first independently coded frame to be played, includes: Determine, according to the current playing frame and the second frame information in the frame index information, a second to-be-played independently encoded frame in the second frame information that is closest to the current playing frame; determining, according to the first independently coded frame to be played, a fourth frame to be played in the second frame information corresponding to the first independently coded frame to be played; According to the fourth frame to be played and the second independently encoded frame to be played, frame data of the second video segment with the fourth frame to be played as a start frame and the second independently encoded frame to be played as an end frame is obtained from the server.
4. A virtual reality video processing method, applied to a server, comprising: Obtaining frame index request information from a virtual reality terminal, wherein the frame index request information is used to request downloading frame index information corresponding to a current video segment played in a second main perspective when the virtual reality terminal detects that the user perspective is switched from a first main perspective to a second main perspective, wherein: The frame index information includes first frame information of a first video slice corresponding to the current video slice, image quality of the first video slice is higher than image quality of the current video slice, and independent coding frame density of the first video slice is higher than independent coding frame density of the current video slice; sending the frame index information to the virtual reality terminal according to the frame index request information, so that the virtual reality terminal determines, based on the current playing frame and the first frame information in the frame index information, a first to-be-played independently encoded frame closest to the current playing frame in the first frame information, and causing the virtual reality terminal to download, based on the first to-be-played independently encoded frame request, frame data starting with the first to-be-played independently encoded frame in a to-be-played video segment, wherein the to-be-played video segment corresponds to the current video segment and has higher image quality than the current video segment; Acquire frame data request information sent by the virtual reality terminal requesting to download the frame data; The frame data is sent to the virtual reality terminal according to the frame data request information, so that the virtual reality terminal plays an image according to the frame data.
5. The virtual reality video processing method according to claim 4, characterized in that: The to-be-played video segment is the first video segment, the frame index information further includes second frame information of a second video segment corresponding to the current video segment, the image quality of the second video segment is the same as the image quality of the first video segment, and the independently coded frame density of the second video segment is the same as the independently coded frame density of the current video segment; The frame index information enables the virtual reality terminal to determine the second independently encoded frame to be played that is closest to the currently played frame in the second frame information based on the currently played frame and the second frame information in the frame index information, and enables the virtual reality terminal to determine the third independently encoded frame to be played corresponding to the second independently encoded frame to be played in the first frame information based on the second independently encoded frame to be played, and enables the virtual reality terminal to request downloading of frame data in the first video segment with the first independently encoded frame to be played as the starting frame and the third independently encoded frame to be played as the ending frame.
6. The virtual reality video processing method according to claim 4, characterized in that: The video segment to be played is a second video segment, the frame index information further includes second frame information of the second video segment corresponding to the current video segment, the image quality of the second video segment is the same as the image quality of the first video segment, and the independent coding frame density of the second video segment is the same as the independent coding frame density of the current video segment; The frame index information enables the virtual reality terminal to determine the second independently encoded frame to be played that is closest to the currently played frame in the second frame information based on the currently played frame and the second frame information in the frame index information, and enables the virtual reality terminal to determine the fourth independently encoded frame to be played corresponding to the first independently encoded frame to be played in the second frame information based on the first independently encoded frame to be played, and enables the virtual reality terminal to request downloading of frame data in the second video segment with the fourth independently encoded frame to be played as the starting frame and the second independently encoded frame to be played as the ending frame.
7. The virtual reality video processing method according to claim 5 or 6, characterized in that: Also includes: Encoding the video to be played to obtain a first compressed file corresponding to the video to be played, wherein the video bit rate of the first compressed file is less than the original bit rate of the video to be played; The first compressed file is sliced to obtain the current video segment and third frame information corresponding to the current video segment.
8. The virtual reality video processing method according to claim 7, characterized in that: Also includes: Encoding the video to be played to obtain a second compressed file corresponding to the video to be played, wherein the video bit rate of the second compressed file is equal to the original bit rate of the video to be played; The second compressed file is sliced to obtain the second video fragments and the second frame information corresponding to the second video fragments.
9. The virtual reality video processing method according to claim 8, characterized in that: Also includes: Encoding the video to be played and reducing the interval between independent encoding frames of the video to be played to obtain a third compressed file corresponding to the video to be played, wherein the video bit rate of the third compressed file is equal to the original bit rate of the video to be played; The third compressed file is sliced to obtain the first video fragments and the first frame information corresponding to the first video fragments.
10. The virtual reality video processing method according to claim 9, characterized in that: Also includes: The frame index information is created according to the first frame information, the second frame information, and the third frame information.
11. A virtual reality terminal, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the virtual reality video processing method according to any one of claims 1 to 3 when executing the computer program.
12. A server comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the virtual reality video processing method according to any one of claims 4 to 10 when executing the computer program.
13. A computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are used to execute the virtual reality video processing method described in any one of claims 1 to 3 or implement the virtual reality video processing method described in any one of claims 4 to 10.
Citation Information
Patent Citations
Video processing method, device and system based on virtual reality scene
CN109698949A