CN114125499A - Virtual reality video processing method, terminal, server and storage medium - Google Patents
Virtual reality video processing method, terminal, server and storage medium Download PDFInfo
- Publication number
- CN114125499A CN114125499A CN202010904606.3A CN202010904606A CN114125499A CN 114125499 A CN114125499 A CN 114125499A CN 202010904606 A CN202010904606 A CN 202010904606A CN 114125499 A CN114125499 A CN 114125499A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- played
- virtual reality
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 88
- 239000012634 fragment Substances 0.000 claims abstract description 96
- 230000000007 visual effect Effects 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 description 41
- 238000005192 partition Methods 0.000 description 24
- 230000003111 delayed effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention provides a virtual reality video processing method, a terminal, a server and a computer readable storage medium thereof. The virtual reality video processing method comprises the following steps: when it is detected that the user view angle is switched from the first main view angle to the second main view angle, frame index information corresponding to a current video fragment played in the second main view angle is acquired from the server, a first to-be-played independent coding frame closest to the current playing frame in the first frame information is determined according to the current playing frame and first frame information in the frame index information, and frame data with the first to-be-played independent coding frame as a starting frame in the to-be-played video fragment is acquired from the server according to the first to-be-played independent coding frame. In the embodiment of the invention, when the virtual reality terminal switches the visual angle, the switching time delay between the high-quality picture and the low-quality picture can be reduced, so that better visual experience can be brought to a user.
Description
Technical Field
The embodiment of the invention relates to the technical field of virtual reality, in particular to a virtual reality video processing method, a terminal, a server and a computer readable storage medium.
Background
With the continuous development of information technology, Virtual Reality (VR) technology has made a lot of progress. Currently, a disclosed transmission strategy for VR terminals is: the method can achieve the purpose of saving the whole bandwidth by carrying out self-adaptive transmission of pictures with corresponding quality according to the watching direction of a user in the process of playing the 360-degree panoramic video, and is called as follows in the Moving Picture Experts Group (MPEG): window Dependent Streaming (Viewport Dependent Streaming), i.e. transmitting high quality pictures for the user main window direction, transmitting low quality pictures or not for the other direction.
The block transmission is a transmission mode of the above transmission strategy in a specific application scenario, and mainly introduces a Motion-Constrained block Set (MCTS) in High Efficiency Coding (HEVC) so that a panoramic image can be divided into blocks by HEVC, and further, since a main view of a VR terminal has a corresponding range, it can be determined which blocks fall within the range and which blocks fall outside the range according to the range, so that a High-quality picture can be transmitted to the blocks falling within the range, and a low-quality picture or no picture can be transmitted to the blocks falling outside the range. However, when the VR terminal switches the view angle, that is, when the main view angle of the VR terminal is switched, the picture corresponding to the block may change, and for the user, in the related art, the block corresponding to the low-quality picture cannot be quickly switched to the block corresponding to the high-quality picture, which may affect the visual experience of the user using the VR terminal.
Disclosure of Invention
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.
The embodiment of the invention provides a virtual reality video processing method, a terminal, a server and a computer readable storage medium thereof, which can reduce the switching time delay between a high-quality picture and a low-quality picture when a virtual reality terminal switches visual angles, thereby bringing better visual experience to users.
In a first aspect, an embodiment of the present invention provides a virtual reality video processing method, which is applied to a virtual reality terminal, and includes:
when it is detected that a user view is switched from a first main view to a second main view, obtaining frame index information corresponding to a current video slice played in the second main view from a server, wherein the frame index information includes first frame information of a first video slice corresponding to the current video slice, the image quality of the first video slice is higher than that of the current video slice, and the independent coding frame density of the first video slice is higher than that of the current video slice;
determining a first to-be-played independent coding frame 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;
acquiring frame data taking the first to-be-played independent coding frame as an initial frame in video fragments to be played from a server according to the first to-be-played independent coding frame, wherein the video fragments to be played correspond to the current video fragments, and the image quality of the video fragments to be played is higher than that of the current video fragments;
and playing an image according to the frame data.
In a second aspect, an embodiment of the present invention further provides a virtual reality video processing method, applied to a server, including:
acquiring frame index request information from a virtual reality terminal, wherein the frame index request information is used for requesting to download frame index information corresponding to a current video fragment played in a second main view when the virtual reality terminal detects that a first main view is switched to the second main view, the frame index information comprises first frame information of a first video fragment corresponding to the current video fragment, the image quality of the first video fragment is higher than that of the current video fragment, and the independent coding frame density of the first video fragment is higher than that of the current video fragment;
sending the frame index information to a virtual reality terminal according to the frame index request information, so that the virtual reality terminal determines a first to-be-played independent coding frame closest to a current playing frame in the first frame information according to the current playing frame and the first frame information in the frame index information, and downloads frame data taking the first to-be-played independent coding frame as a starting frame in a to-be-played video fragment according to the first to-be-played independent coding frame request, wherein the to-be-played video fragment corresponds to the current video fragment, and the image quality of the to-be-played video fragment is higher than that of the current video fragment;
acquiring frame data request information which is sent by a virtual reality terminal and requests for downloading the frame data;
and sending the frame data to a virtual reality terminal according to the frame data request information so that the virtual reality terminal plays an image according to the frame data.
In a third aspect, an embodiment of the present invention further provides a virtual reality terminal, including: a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the virtual reality video processing method as described above in the first aspect when executing the computer program.
In a fourth aspect, an embodiment of the present invention further provides a server, including: a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the virtual reality video processing method as described above in the second aspect when executing the computer program.
In a fifth aspect, an embodiment of the present invention further provides a computer-readable storage medium, which stores computer-executable instructions, where the computer-executable instructions are configured to execute the virtual reality video processing method described above.
The embodiment of the invention comprises the following steps: when detecting that the first main view is switched to the second main view, acquiring frame index information corresponding to a current video fragment played in the second main view from a server, wherein the frame index information comprises first frame information of the first video fragment corresponding to the current video fragment, the image quality of the first video fragment is higher than that of the current video fragment, the independent coding frame density of the first video fragment is higher than that of the current video fragment, determining a first to-be-played independent coding frame 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, and acquiring frame data with the first to-be-played independent coding frame as a starting frame in the to-be-played video fragment from the server according to the first to-be-played independent coding frame, wherein the to-be-played video fragment corresponds to the current video fragment, and the image quality of the video fragment to be played is higher than that of the current video fragment, and the image is played according to the frame data. According to the scheme provided by the embodiment of the invention, when the virtual reality terminal performs view angle switching, the first to-be-played independent coding frame closest to the current playing frame can be determined according to the current playing frame and the frame index information acquired from the server, because the first to-be-played independent coding frame is located in the first video segment, and the image quality of the first video segment is higher than that of the current video segment, compared with the image quality of the current video segment, the quality of the image played according to the frame data with the first to-be-played independent coding frame as the starting frame is higher, that is, the image with higher quality can be switched to be played from the first to-be-played independent coding frame, the switching delay is the delay from the current playing frame to the first to-be-played independent coding frame, and simultaneously, because the independent coding frame density of the first video segment is higher than that of the current video segment, therefore, the time node corresponding to the first independent coding frame to be played is located before the time node of the delayed playing frame corresponding to the current video fragment in the related art, that is, the switching delay between the high-quality picture and the low-quality picture can be reduced when the virtual reality terminal performs view angle switching, so that better visual experience can be brought to the user.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the example serve to explain the principles of the invention and not to limit the invention.
FIG. 1 is a schematic diagram of an image platform for performing a virtual reality video processing method according to an embodiment of the present invention;
fig. 2 is a flowchart of a virtual reality video processing method according to an embodiment of the present invention;
fig. 3 is a schematic diagram of a virtual reality terminal switching a main viewing angle according to an embodiment of the present invention;
fig. 4 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention;
fig. 5 is a schematic diagram of performing time-delay switching on a main view of a virtual reality terminal according to an embodiment of the present invention;
fig. 6 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention;
fig. 7 is a schematic diagram of a virtual reality terminal according to another embodiment of the present invention performing a delayed handover;
fig. 8 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention;
fig. 9 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention;
fig. 10 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention;
fig. 11 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention;
fig. 12 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention;
fig. 13 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention;
fig. 14 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
It should be noted that although functional blocks are partitioned in a schematic diagram of an apparatus and a logical order is shown in a flowchart, in some cases, the steps shown or described may be performed in a different order than the partitioning of blocks in the apparatus or the order in the flowchart. The terms first, second and the like in the description and in the claims, and the drawings described above, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
The 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 visual angles, a first to-be-played independent coding frame closest to the current playing frame can be determined according to the current playing frame and frame index information acquired from the server, because the first to-be-played independent coding frame is positioned in a first video fragment, and the image quality of the first video fragment is higher than that of the current video fragment, compared with the image quality of the current video fragment, the quality of an image played according to frame data taking the first to-be-played independent coding frame as a starting frame is higher, namely the image played from the first to-be-played independent coding frame can be switched to play a picture with higher quality, and the switching delay is the delay from the current playing frame to the first to-be-played independent coding frame, meanwhile, because the density of the independent coding frame of the first video fragment is greater than that of the current video fragment, the time node corresponding to the first to-be-played independent coding frame is located before the time node of the delayed playing frame corresponding to the current video fragment in the related art, that is, the switching delay between the high-quality picture and the low-quality picture can be reduced when the virtual reality terminal performs view angle switching, so that better visual experience can be brought to a user.
The embodiments of the present invention will be further explained with reference to the drawings.
As shown in fig. 1, fig. 1 is a schematic diagram of an image platform 100 for performing a virtual reality video processing method according to an embodiment of the present invention.
In fig. 1, the image platform 100 includes a server 102 and a Virtual Reality (VR) terminal, and the server 102 is connected to the terminal, so that information interaction can be performed between the server 102 and the terminal, and further, execution of a Virtual Reality video processing method can be realized through the information interaction between the server 102 and the terminal.
In an embodiment, the server 102 may transcode the selected video to generate a corresponding video fragment and an index file, and send the corresponding video fragment and index file to the virtual reality terminal 101, so that the virtual reality terminal 101 plays the selected video according to the corresponding video fragment and index file.
In an embodiment, the server 102 transcodes the selected video, which may include but is not limited to: the selected video is decoded to obtain an uncompressed panoramic image. The selected video may be already stored in the video file of the server 102, or may be input into the video file of the server 102 from the outside, and its related parameters may be set by themselves, but are not limited to, for example, its format may be mp4, flv, f4v, ts, etc., and the video bitrate may be, but is not limited to, 100Mbps, etc.
In an embodiment, the server 102 transcodes the selected video, and may further include, but is not limited to: the method comprises the steps of performing High Efficiency Coding (HEVC) based on Motion-Constrained partition Set (MCTS) on an uncompressed panoramic image, and keeping an independent Coding frame interval in the panoramic image unchanged, so as to obtain a High-quality compressed file and a low-quality compressed file with the same panoramic image content by packaging, wherein the image quality of a panoramic image corresponding to the High-quality compressed file is higher than that of a panoramic image corresponding to the low-quality compressed file.
It should be noted that the independently encoded frame is an independent frame with all information, which can be independently decoded and played without referring to other image information, and is essentially equivalent to a still picture in a video; in a video sequence, an independently encoded frame may be an I-frame or a key frame.
It should be noted that "high quality" in the following high quality tiles, high quality video tiles, high density high quality compressed files, high density high quality tiles, and high density high quality video tiles refers to higher image quality of the corresponding panoramic image, and similarly, "low quality" in the following low quality tiles and low quality video tiles refers to lower image quality of the corresponding panoramic image, and will not be described below for redundancy avoidance. Moreover, the "high quality" and the "low quality" are not qualitative limitations on the image quality, that is, the "high quality" and the "low quality" are not defined as specific parameters of the image quality, but are combined as comparative references of the image quality.
In an embodiment, the server 102 transcodes the selected video, and may further include, but is not limited to: slicing the high-quality compressed file and the low-quality compressed file according to a time dimension and a blocking dimension respectively to obtain corresponding slices of all the blocks, namely, slicing the high-quality compressed file according to the blocking dimension to obtain all the high-quality blocks, slicing the high-quality blocks according to the time dimension to obtain all the high-quality video slices, slicing the low-quality compressed file according to the blocking dimension to obtain all the low-quality blocks, slicing the low-quality blocks according to the time dimension to obtain all the low-quality video slices, therefore, each block can obtain the corresponding high-quality video slices and the corresponding low-quality video slices, and meanwhile, establishing a corresponding video playing index file according to the index information of the high-quality video slices and the low-quality video slices, the index information may be, but is not limited to, storage location information, storage capacity information, and the like of the image frame, for example, a location node (for example, at the number of the last independently encoded frame, the number of the preceding and following independently encoded frames, and the like) and a storage capacity (for example, the byte size of the frame) of a certain independently encoded frame in the video slice are determined by the index information.
In an embodiment, the server 102 transcodes the selected video, and may further include, but is not limited to: HEVC based on MCTS is performed on uncompressed panoramic images, and the independent coding frame interval in the panoramic images is reduced, so that a high-density and high-quality compressed file with the same panoramic image content is obtained by encapsulation.
In an embodiment, the server 102 transcodes the selected video, and may further include, but is not limited to: all high-density high-quality video slices can be obtained by slicing the high-density high-quality compressed file according to the slice dimension, and all high-density high-quality video slices can be obtained by slicing the high-density high-quality compressed file according to the time dimension, and at the same time, index information of the high-density high-quality video slices is added into the video playing index file as described above, wherein the index information can be, but is not limited to, storage location information of the image frames, storage capacity information, such as location node information of an independent coding frame in the video slices (such as the number of independent coding frames in the video slices, the number of front and rear independent coding frames, and the like) and byte information (such as the size of the frame) and the like are determined by the index information.
In an embodiment, the server 102 transcodes the selected video, and may further include, but is not limited to: a common frame information index file is created for the index information of the high-quality video fragment, the index information of the low-quality video fragment and the index information of the high-density high-quality video fragment, the frame information in the frame information index file can be used for positioning the specific frame type of each frame and the specific position of the frame in the fragment, and meanwhile, the description of the frame information index file is added in the video playing index file, so that the frame information in the frame information index file can be found through the video playing index file.
It is worth noting that each partition corresponds to a video slice with different playing quality, according to the above embodiment, each partition may correspond to a high-quality video slice, a low-quality video slice, and a high-density high-quality video slice at the same time, and for a certain partition, the corresponding video slice may not be played at the same time in the time domain, but different video slices may be played at different times, for example, when the low-quality video slice of the partition is playing an image, the corresponding high-quality video slice and the corresponding high-density high-quality video slice may not play an image, but at the next time, the video slice may be switched to the high-quality video slice or the high-density high-quality video slice to play, or the low-quality video slice may still be played.
In an embodiment, the virtual reality terminal 101 plays the selected video according to the corresponding video segment and the index file, which may include but is not limited to: request information for requesting playing of the virtual reality video is transmitted to the server 102.
In an embodiment, the virtual reality terminal 101 plays the selected video according to the corresponding video segment and the index file, and may further include but is not limited to: a video playlist sent by the server 102 according to the request information is obtained, where the video playlist may be a single list file loaded with the low-quality video clip, the high-quality video clip, and the high-density high-quality video clip at the same time, or may be three list files loaded with the low-quality video clip, the high-quality video clip, and the high-density high-quality video clip, respectively.
In an embodiment, the virtual reality terminal 101 plays the selected video according to the corresponding video segment and the index file, and may further include but is not limited to: after receiving the video playlist, selecting, from the video playback index file, a high-quality video clip corresponding to a chunk in the main view for downloading based on the current main view, and selecting, at the same time, a low-quality video clip corresponding to a chunk in the main view for downloading, where the file downloads are all initiated to the server 102.
In an embodiment, the virtual reality terminal 101 plays the selected video according to the corresponding video segment and the index file, and may further include but is not limited to: the high-quality video slices and the low-quality video slices obtained from the server 102 are constructed into slice combinations of the corresponding blocks and decoded, thereby playing out the corresponding images of the corresponding blocks.
It is noted 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 by a bus or other means.
The memory, which is a non-transitory computer readable storage medium, may be used to store non-transitory software programs as well as non-transitory computer executable programs. Further, the memory may include high speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory optionally includes memory located remotely from the processor, and these remote memories may be connected to the processor through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The image platform 100 and the application scenario described in the embodiment of the present invention are for more clearly illustrating the technical solution of the embodiment of the present invention, and do not constitute a limitation to the technical solution provided in the embodiment of the present invention, and it is known to those skilled in the art that the technical solution provided in the embodiment of the present invention is also applicable to similar technical problems along with the evolution of the image platform 100 and the appearance of new application scenarios.
Those skilled in the art will appreciate that the image platform 100 shown in fig. 1 is not intended to limit embodiments of the present invention and may include more or fewer components than shown, or some components may be combined, or a different arrangement of components.
In the image platform 100 shown in fig. 1, the virtual reality terminal 101 or the server 102 may respectively call the image processing program stored therein to execute the virtual reality video processing method.
Based on the structure of the image platform 100, embodiments of the virtual reality video processing method of the present invention are provided.
As shown in fig. 2, fig. 2 is a flowchart of a virtual reality video processing method according to an embodiment of the present invention, where the virtual reality video processing method can be applied to a virtual reality terminal in the image platform shown in fig. 1, and includes, but is not limited to, step S100:
step S100, when it is detected that the user view angle is switched from a first main view angle to a second main view angle, acquiring frame index information corresponding to a current video slice played in the second main view angle from a server, wherein the frame index information comprises first frame information of a first video slice corresponding to the current video slice, the image quality of the first video slice is higher than that of the current video slice, and the independent coding frame density of the first video slice is higher than that of the current video slice;
step S200, determining a first to-be-played independent coding frame 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;
step S300, frame data with the first to-be-played independent coding frame as an initial frame in the to-be-played video fragments are obtained from a server according to the first to-be-played independent coding frame, wherein the to-be-played video fragments correspond to the current video fragments, and the image quality of the to-be-played video fragments is higher than that of the current video fragments;
in step S400, the image is played according to the frame data.
In an embodiment, with the switching of the main view angle of the virtual reality terminal, the video slices corresponding to the main view angle should also be correspondingly switched, so that the main view angle of the virtual reality terminal can maintain higher-quality video playing.
Example 1
As shown in fig. 3, fig. 3 is a schematic diagram of switching a main view angle of a virtual reality terminal according to an embodiment of the present invention.
In the example of fig. 3, the view before switching is the first main view, the view after switching is the second main view, and in the whole view picture, the 4 image partitions corresponding to the first main view (i.e. the region P1+ P2 shown in fig. 3) are numbered 1, 3, 5 and 6 respectively, i.e. the partition 1, the partition 3, the partition 5 and the partition 6 shown in fig. 3, which are used for playing high-quality images simultaneously, i.e. the high-quality video partition in the image partition is playing at this time, the remaining image partitions not in the first main view are playing low-quality images (e.g. the partitions 2, 4, 7 and 8 described below), and at the same time, the 4 image partitions corresponding to the outside of the first main view (i.e. the region P3+ P4+ P5 shown in fig. 3) are numbered 2, 4, 7, 8, 9 and 10 respectively, i.e. the partition 2 shown in fig. 3, A block 4, a block 7, a block 8, a block 9 and a block 10 for playing a low quality image, i.e. the low quality video slice in the image block is being played at this time; after the view angle is switched, the number of the image partitions corresponding to the second main view angle (i.e. the region P1+ P4 shown in fig. 3) is still 4, and the serial numbers thereof are 1, 3, 4 and 7, respectively, which illustrates that at this time, the image partitions 1, 3, 4 and 7 all need to play high-quality pictures correspondingly, it can be seen that, before the view angle is switched, the partitions 1 and 3 are already within the main view angle range of the virtual reality terminal (i.e. the region P1 shown in fig. 3), i.e. the first main view angle and the second main view angle have the partitions 1 and 3 overlapped with each other before and after the switch, and the image partitions can keep the original playing state (i.e. keep playing high-quality pictures continuously), therefore, the pictures corresponding to the partitions 1 and 3 do not need to be switched, and therefore, only the playing states of the partitions 4 and 7 need to be switched at this time, so that the partitions 4 and 7 are switched from the low-quality pictures being played, therefore, the switching of the main visual angle of the virtual reality terminal is realized, and the high-quality images can be played again in the main visual angle of the virtual reality terminal.
In an embodiment, when the virtual reality terminal performs view angle switching, a first to-be-played independent coding frame closest to the current playing frame can be determined according to the current playing frame and the frame index information acquired from the server, because the first to-be-played independent coding frame is located in the first video segment, and the image quality of the first video segment is higher than that of the current video segment, compared with the image quality of the current video segment, the quality of an image played according to frame data with the first to-be-played independent coding frame as a starting frame is higher, it can be understood that, under a contrast condition, the first video segment corresponds to a high-quality image, the current video segment corresponds to a low-quality image, that is, the image can be switched to play a higher-quality image from the first to-be-played independent coding frame, and the switching delay is a delay between the current playing frame and the first to-be-played independent coding frame, meanwhile, because the independent coding frame density of the first video segment is greater than the independent coding frame density of the current video segment, the time node corresponding to the first to-be-played independent coding frame is located before the time node of the delayed playing frame corresponding to the current video segment in the related technology, that is, the independent coding frame density of the video segment to be switched in a delayed manner in the related technology is the same as the independent coding frame density of the current video segment, and therefore, the switching delay in the related technology is certainly higher than the switching delay corresponding to the manner adopted in the embodiment, so that the switching delay between a high-quality picture and a low-quality picture can be reduced when the virtual reality terminal performs view angle switching, and better visual experience can be brought to a user.
In an 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, and in this case, it can be ensured that the switching delay can be relatively reduced.
In an embodiment, the frame index information corresponding to the current video slice played in the second main view may include a plurality of frame information, each of the frame information shown corresponds to a different slice of a certain slice, for example, different frame information corresponds to a high-quality video slice, a low-quality video slice, and a high-density high-quality video slice, so that the corresponding video slice and the corresponding frame in the video slice may be determined by the corresponding frame information in the frame index information, that is, the target video slice and the corresponding frame in the video slice may be conveniently and stably acquired based on the frame index information, so as to more accurately perform switching of the video slices.
In an embodiment, after the virtual reality terminal acquires the frame data, the frame data may be converted into a corresponding image by, but not limited to, decoding and the like, and played, so that the user can continuously view an image picture with higher quality from the first to-be-played independent encoded frame, and the end frame of the frame data may be selected by the virtual reality terminal, that is, the virtual reality terminal may determine the end frame on the to-be-played video slice according to the frame index information, where the end frame may be an end independent encoded frame of the to-be-played video slice or any independent encoded frame before the end independent encoded frame, and therefore, the user may select the frame data of the virtual reality terminal and its corresponding played image content according to an actual playing situation.
In an embodiment, the video slice to be played in step S300 may be a first video slice, where when the video slice to be played is the first video slice, the frame index information further includes second frame information of a second video slice corresponding to the current video slice, an image quality of the second video slice is the same as an image quality of the first video slice, and an independently encoded frame density of the second video slice is the same as an independently encoded frame density of the current video slice, and in order to more conveniently describe the principle of step S300, a specific embodiment will be described below.
As shown in fig. 4, fig. 4 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention, wherein step S300 includes, but is not limited to, step S310 to step S330:
step S310, determining a second to-be-played independent coding frame 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;
step S320, determining a third to-be-played independent coded frame corresponding to the second to-be-played independent coded frame in the first frame information according to the second to-be-played independent coded frame;
step S330, obtaining frame data of the first video segment with the first to-be-played independent encoded frame as a starting frame and the third to-be-played independent encoded frame as an ending frame from the server according to the first to-be-played independent encoded frame and the third to-be-played independent encoded frame.
In an embodiment, the second frame information is used as an index for the second video segment, and therefore, after determining the current playing frame and the second frame information in the frame index information, the second to-be-played independently encoded frame in the second video segment corresponding to the currently playing picture can be further determined, so that playing can be performed based on the second to-be-played independently encoded frame in the second video segment in a subsequent playing process, and it can be known that a time interval between the current playing frame and the playing frame is obviously higher than a time interval between the current playing frame and the first to-be-played independently encoded frame, and therefore, based on a correspondence relationship in a time domain, a third to-be-played independently encoded frame corresponding to the current playing frame in the first video segment can be correspondingly obtained through the corresponding independently encoded frame in the second video segment, and it can be known that the third to-be-played independently encoded frame is located after the first to-be-played independently encoded frame, therefore, it can be determined that the first to-be-played independently encoded frame is the starting frame and the third to-be-played independently encoded frame is the frame data of the ending frame, so as to play a higher quality image on the first video slice.
In order to more conveniently explain the principle of the present embodiment, a specific example is given below for explanation.
Example two
As shown in fig. 5, fig. 5 is a schematic diagram of performing time-delay switching on a main view angle of a virtual reality terminal according to an embodiment of the present invention.
In the example of fig. 5, a frame currently being played on a current video slice is frame IndexN, a first video slice may be determined according to first frame information in the frame index information, and then frame IndexN 'in the first video slice and frame IndexN' following the nearest frame IndexA are determined according to a temporal relationship, and at the same time, a second video slice may be determined according to second frame information in the frame index information, and then frame IndexB 'in the second video slice is determined through frame IndexN and a high-quality video slice, that is, frame IndexB' in the second video slice is an independent encoded frame closest to frame IndexN, and then IndexB on the first video slice may be correspondingly determined according to a temporal relationship, so that frame data of all frames between two frames may be acquired through the determined frame IndexA and frame IndexB, and thus higher-quality image content may be played based on the piece of frame data, that is, a substantially delayed switching is already completed after determining IndexA, the switching delay is the time interval from the frame IndexN' to the frame IndexA, so that a picture with higher quality can be normally played after the frame IndexA, that is, a situation that there is no switching delay after the frame IndexA exists is shown.
In an embodiment, after the frame data corresponding to the image from the frame IndexA to the frame IndexB is played, the frame data starting from the frame IndexB on the first video slice may be selected to be continuously downloaded and played correspondingly, so as to continuously play the image content with higher quality.
In an embodiment, after the frame data corresponding to the image from the frame IndexA to the frame IndexB is played, the frame data starting from the frame IndexB' on the second video slice may be selected to be continuously downloaded and played, so that the image content with higher quality may also be continuously played.
In an embodiment, the video slice to be played in step S300 may be a second video slice, where when the video slice to be played is the second video slice, the frame index information further includes second frame information of the second video slice corresponding to the current video slice, an image quality of the second video slice is the same as an image quality of the first video slice, and an independently encoded frame density of the second video slice is the same as an independently encoded frame density of the current video slice, and in order to more conveniently describe the principle of step S300, a specific embodiment will be described below.
As shown in fig. 6, fig. 6 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention, wherein step S300 includes, but is not limited to, step S340 to step S360:
step S340, determining a second to-be-played independent coding frame 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;
step S350, determining a fourth frame to be played corresponding to the first independent coding frame to be played in the second frame information according to the first independent coding frame to be played;
step S360, obtaining frame data of the second video segment, in which the fourth frame to be played is used as a start frame and the second frame to be played is used as an end frame, from the server according to the fourth frame to be played and the second frame to be played.
In an embodiment, the second frame information is used as an index for the second video segment, and therefore, after the current playing frame and the second frame information in the frame index information are determined, the second to-be-played independently encoded frame in the second video segment corresponding to the currently playing picture can be further determined, so that playing can be performed in a subsequent playing process based on the second to-be-played independently encoded frame in the second video segment, and based on the correspondence relationship in the time domain, a fourth to-be-played frame corresponding to the fourth to-be-played frame in the second video segment can be correspondingly obtained through the first to-be-played independently encoded frame in the first video segment, and it can be known that the fourth to-be-played frame is located after the current playing frame and before the second to-be-played independently encoded frame, so that it can be determined that the fourth to-be-played frame is a starting frame, and the second to-be-played independently encoded frame is a frame data of an ending frame, thereby playing a higher quality image on the second video segment.
In order to more conveniently explain the principle of the present embodiment, a specific example is given below for explanation.
Example three
As shown in fig. 7, fig. 7 is a schematic diagram of a virtual reality terminal according to another embodiment of the present invention performing a delayed switching.
In the example of fig. 7, the frame currently being played on the current video slice is frame IndexN, the first video slice may be determined according to the first frame information in the frame index information, and then frame IndexN ' in the first video slice and frame IndexA closest to frame IndexN ' are determined according to the temporal relationship, and then frame IndexA ' corresponding to the second video slice on the second video slice is determined through frame IndexA, and at the same time, the second video slice may be determined according to the second frame information in the frame index information, and then frame IndexB ' in the second video slice is determined through frame IndexN and the high-quality video slice, that is, frame IndexB ' is an independently encoded frame closest to frame IndexN in the second video slice, and therefore, frame data of all frames between two frames may be acquired through the determined frame IndexA ' and frame IndexB ', so that higher-quality image content can be played based on the slice, that is, the substantially delayed switching is performed after the frame IndexA is determined, the switching delay is the time interval from the frame IndexN 'to the frame IndexA, so that the temporally corresponding frame IndexA' from the frame IndexA corresponds to a situation that a picture with higher quality can be normally played after the frame IndexA, that is, a situation that there is no switching delay after the frame IndexA.
In an embodiment, after the frame data corresponding to the image from the frame IndexA 'to the frame IndexB' is played, the frame data starting from the frame IndexB on the first video slice may be selected to be continuously downloaded and played correspondingly, so as to continuously play the image content with higher quality.
In an embodiment, after the frame data corresponding to the image from the frame IndexA ' to the frame IndexB ' is played, the frame data starting from the frame IndexB ' on the second video slice may be selected to be continuously downloaded and played, so that the image content with higher quality may also be continuously played.
It should be noted that although the independently encoded frame densities of the first video slice and the second video slice are different, the respective frame data of the first video slice and the second video slice are identical after decoding and restoring, that is, the images played by the two video slices are identical and can be synchronized in terms of time domain, for example, the image content perceived by the user is identical no matter the images are played from the frame IndexA to the frame IndexB or from the frame IndexA 'and the frame IndexB', so that both download playing modes are feasible and can be selectively executed by the virtual reality terminal.
As shown in fig. 8, fig. 8 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention, where the virtual reality video processing method can be applied to a server in the image platform shown in fig. 1, and the method includes, but is not limited to, steps S500 to S800:
step S500, frame index request information from a virtual reality terminal is obtained, and the frame index request information is used for requesting to download frame index information corresponding to a current video slice played in a second main visual angle when the virtual reality terminal detects that a user visual angle is switched from a first main visual angle to the second main visual angle, wherein the frame index information comprises first frame information of the first video slice corresponding to the current video slice, the image quality of the first video slice is higher than that of the current video slice, and the independent coding frame density of the first video slice is higher than that of the current video slice;
step S600, sending frame index information to a virtual reality terminal according to the frame index request information, so that the virtual reality terminal determines a first to-be-played independent coding frame closest to a current playing frame in first frame information according to the current playing frame and the first frame information in the frame index information, and downloads frame data taking the first to-be-played independent coding frame as a starting frame in a to-be-played video fragment according to the first to-be-played independent coding frame request, wherein the to-be-played video fragment corresponds to the current video fragment, and the image quality of the to-be-played video fragment is higher than that of the current video fragment;
step S700, acquiring frame data request information of a request for downloading frame data sent by a virtual reality terminal;
step S800, sending frame data to the virtual reality terminal according to the frame data request information, so that the virtual reality terminal plays the image according to the frame data.
In an embodiment, after acquiring the frame index request information from the virtual reality terminal, the virtual reality terminal can know that the main view angle of the virtual reality terminal at the time has been switched, in this case, the virtual reality terminal needs to acquire the frame index information corresponding to the frame index request information, and therefore, the server correspondingly sends the frame index information to the virtual reality terminal, so that the virtual reality terminal can determine the first to-be-played independently encoded frame closest to the currently-played frame according to the currently-played frame and the frame index information acquired from the server after acquiring the frame index information, because the first to-be-played independently encoded frame 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, compared with the image quality of the current video slice, the quality of an image played according to the frame data with the first to-be-played independently encoded frame as the starting frame is higher, it can be understood that, under the comparison condition, the first video slice corresponds to a high-quality image, the current video slice corresponds to a low-quality image, that is, the independent coding frame to be played is capable of being switched to play a picture with higher quality, and the switching delay is a delay from the current playing frame to the first independent coding frame to be played, and meanwhile, since the independent coding frame density of the first video slice is greater than the independent coding frame density of the current video slice, the time node corresponding to the first independent coding frame to be played is located before the time node of the delayed playing frame corresponding to the current video slice in the related art, that is, the independent coding frame density of the video slice to be switched in a delayed manner in the related art is the same as the independent coding frame density of the current video slice, and therefore, the switching delay in the related art is inevitably higher than the switching delay corresponding to the manner adopted in this embodiment, therefore, through information interaction between the server and the virtual reality terminal, the switching time delay between a high-quality picture and a low-quality picture can be reduced when the virtual reality terminal switches the visual angle, and better visual experience can be brought to a user.
In an embodiment, the frame index request information and the frame data request information are set, so that the server can send the corresponding information to the virtual reality terminal when the virtual reality terminal needs to correspondingly switch the main viewing angle and play the image, and therefore the server can be prevented from sending the information to the virtual reality terminal at an incorrect time, and stability of information interaction between the server and the virtual reality terminal is improved.
It should be noted that, because the virtual reality video processing method in this embodiment and the virtual reality video processing method in the embodiment shown in fig. 2 to 3 belong to the same inventive concept, other specific embodiments of the virtual reality video processing method in this embodiment may refer to the specific embodiment of the virtual reality video processing method in the embodiment shown in fig. 2 to 3, and in order to avoid redundancy, further detailed description of other specific embodiments of the virtual reality video processing method in this embodiment is omitted here.
As shown in fig. 9, fig. 9 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention, where a 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, an image quality of the second video segment is the same as an image quality of the first video segment, an independent coding frame density of the second video segment is the same as an independent coding frame density of the current video segment, and step S700 includes, but is not limited to, step S710:
step S710, sending frame index information to the virtual reality terminal according to the frame index request information, where the frame index information enables the virtual reality terminal to determine, according to the current playing frame and second frame information in the frame index information, a second to-be-played independent coding frame closest to the current playing frame in the second frame information, and enables the virtual reality terminal to determine, according to the second to-be-played independent coding frame, a third to-be-played independent coding frame corresponding to the second to-be-played independent coding frame in the first frame information, and enables the virtual reality terminal to request downloading of frame data in the first video segment, where the first to-be-played independent coding frame is used as a starting frame and the third to-be-played independent coding frame is used as an ending frame.
In an embodiment, the frame index information sent by the server to the virtual reality terminal includes second frame information, where the second frame information is used as an index for the second video segment, so that after determining the current playing frame and the second frame information in the frame index information, the virtual reality terminal can further determine the second to-be-played independent coding frame in the second video segment corresponding to the current playing picture, so as to play based on the second to-be-played independent coding frame in the second video segment in the subsequent playing process, and it is known that the time interval between the current playing frame and the playing frame is obviously higher than the time interval between the current playing frame and the first to-be-played independent coding frame, and therefore, based on the correspondence in the time domain, the virtual reality terminal can correspondingly obtain the third to-be-played independent coding frame corresponding to the current playing frame in the first video segment through the corresponding independent coding frame in the second video segment, therefore, the virtual reality terminal can determine that the first to-be-played independent coding frame is used as a starting frame and the third to-be-played independent coding frame is used as frame data of an ending frame, so that after corresponding frame data are downloaded, a higher-quality image can be played on the first video segment.
It is to be noted that, since the virtual reality video processing method in this embodiment and the virtual reality video processing method in the embodiment shown in fig. 4 to 5 belong to the same inventive concept, other specific embodiments of the virtual reality video processing method in this embodiment may refer to the specific embodiment of the virtual reality video processing method in the embodiment shown in fig. 4 to 5, and in order to avoid redundancy, further detailed description of other specific embodiments of the virtual reality video processing method in this embodiment is omitted here.
As shown in fig. 10, fig. 10 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention, where a 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, an image quality of the second video segment is the same as an image quality of the first video segment, an independent coding frame density of the second video segment is the same as an independent coding frame density of the current video segment, and step S700 includes, but is not limited to, step S720:
step S720, sending frame index information to the virtual reality terminal according to the frame index request information, wherein the frame index information enables the virtual reality terminal to determine a second to-be-played independent coding frame 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, enables the virtual reality terminal to determine a fourth to-be-played frame corresponding to the first to-be-played independent coding frame in the second frame information according to the first to-be-played independent coding frame, and enables the virtual reality terminal to request to download frame data taking the fourth to-be-played frame as a starting frame and the second to-be-played independent coding frame as an ending frame in the second video segment.
In an embodiment, the frame index information sent by the server to the virtual reality terminal includes second frame information, where the second frame information is used as an index for the second video segment, so that the virtual reality terminal can determine the second to-be-played independent coding frame in the second video segment corresponding to the currently-played picture, so as to play the second to-be-played independent coding frame in the second video segment in the subsequent playing process, and based on the known correspondence in the time domain, the virtual reality terminal can correspondingly obtain the fourth to-be-played frame corresponding to the second video segment through the first to-be-played independent coding frame in the first video segment, and it is known that the fourth to-be-played frame is located after the currently-played frame and before the second to-be-played independent coding frame, so that the virtual reality terminal can determine the fourth to-be-played frame as an initial frame, and the second independent coding frame to be played is taken as the frame data of the ending frame, so that after the corresponding frame data is downloaded, a higher-quality image can be played on the second video slice.
It is to be noted that, since the virtual reality video processing method in this embodiment and the virtual reality video processing method in the embodiment shown in fig. 6 to 7 belong to the same inventive concept, other specific embodiments of the virtual reality video processing method in this embodiment may refer to the specific embodiment of the virtual reality video processing method in the embodiment shown in fig. 6 to 7, and in order to avoid redundancy, further detailed description of other specific embodiments of the virtual reality video processing method in this embodiment is omitted here.
As shown in fig. 11, fig. 11 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention, where the virtual reality video processing method further includes, but is not limited to, step S900 to step S1000.
Step S900, coding a video to be played to obtain a first compressed file corresponding to the video to be played, wherein the video code rate of the first compressed file is smaller than the original code rate of the video to be played;
step S1000, slicing the first compressed file to obtain the current video slice and third frame information corresponding to the current video slice.
In an embodiment, the server can encode a video to be played of the virtual reality terminal, so as to obtain a first compressed file and a current video fragment obtained by slicing the first compressed file, and keep a video code rate of the first compressed file smaller than an original code rate of the video to be played, so that the image playing quality of the obtained current video fragment is relatively low, and meanwhile, third frame information corresponding to the current video fragment is obtained, which is convenient for determining information of a corresponding frame in the current video fragment through the third frame information, thereby providing support for view angle switching delay of the virtual reality terminal.
In an embodiment, the video to be played only needs to be encoded, that is, the specific encoding method is not limited in this embodiment, and a person skilled in the art may select the encoding method according to the actual application, for example, the encoding method may be HEVC based on MCTS under MPEG, or encoding performed under h.261, h.263, or h.264 standards.
It is to be noted that, because 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 image platform belong to the same inventive concept, other specific embodiments of the virtual reality video processing method in this embodiment may refer to the specific embodiment of the corresponding method for transcoding the selected video by the server in the embodiment shown in the image platform, and in order to avoid redundancy, other specific embodiments of the virtual reality video processing method in this embodiment are not described herein again.
As shown in fig. 12, fig. 12 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention, where the virtual reality video processing method further includes, but is not limited to, steps S1100 to S1200.
Step S1100, encoding a video to be played to obtain a second compressed file corresponding to the video to be played, wherein the video code rate of the second compressed file is equal to the original code rate of the video to be played;
step S1200, slice the second compressed file to obtain a second video slice and second frame information corresponding to the second video slice.
In an embodiment, the server can encode a video to be played of the virtual reality terminal, so as to obtain a second compressed file and a second video fragment obtained by slicing the second compressed file, and keep the video bitrate of the second compressed file equal to the original bitrate of the video to be played, so that the image playing quality of the obtained second video fragment is higher than that of the current video fragment, and meanwhile, second frame information corresponding to the current second video fragment is also obtained, which is convenient for determining information of a corresponding frame in the second video fragment through the second frame information, thereby providing support for the view angle switching delay of the virtual reality terminal.
In an embodiment, the video to be played only needs to be encoded, that is, the specific encoding method is not limited in this embodiment, and a person skilled in the art may select the encoding method according to the actual application, for example, the encoding method may be HEVC based on MCTS under MPEG, or encoding performed under h.261, h.263, or h.264 standards.
It is to be noted that, because 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 image platform belong to the same inventive concept, other specific embodiments of the virtual reality video processing method in this embodiment may refer to the specific embodiment of the corresponding method for transcoding the selected video by the server in the embodiment shown in the image platform, and in order to avoid redundancy, other specific embodiments of the virtual reality video processing method in this embodiment are not described herein again.
As shown in fig. 13, fig. 13 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention, where the virtual reality video processing method further includes, but is not limited to, steps S1300 to S1400.
Step S1300, encoding a video to be played, and reducing the interval of 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 code rate of the third compressed file is equal to the original code rate of the video to be played;
step S1400, slice the third compressed file to obtain a first video slice and first frame information corresponding to the first video slice.
In an embodiment, the server can encode a video to be played of the virtual reality terminal, and reduce an interval of independent encoding frames of the video to be played during encoding, so as to obtain a third compressed file and a first video fragment obtained by slicing the third compressed file, and keep a video bitrate of the third compressed file equal to an original bitrate of the video to be played, so that the image playing quality of the obtained first video fragment is equal to that of the second video fragment and is higher than that of the current video fragment, and meanwhile, first frame information corresponding to the current first video fragment is obtained, and information of a corresponding frame in the first video fragment is determined conveniently through the first frame information, so that support can be provided for view angle switching delay of the virtual reality terminal.
In an embodiment, the video to be played only needs to be encoded, that is, the specific encoding method is not limited in this embodiment, and a person skilled in the art may select the encoding method according to the actual application, for example, the encoding method may be HEVC based on MCTS under MPEG, or encoding performed under h.261, h.263, or h.264 standards.
It is to be noted that, because 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 image platform belong to the same inventive concept, other specific embodiments of the virtual reality video processing method in this embodiment may refer to the specific embodiment of the corresponding method for transcoding the selected video by the server in the embodiment shown in the image platform, and in order to avoid redundancy, other specific embodiments of the virtual reality video processing method in this embodiment are not described herein again.
As shown in fig. 14, fig. 14 is a flowchart of a virtual reality video processing method according to another embodiment of the present invention, where the virtual reality video processing method further includes, but is not limited to, step S1500.
Step S1500, creating frame index information according to the first frame information, the second frame information, and the third frame information.
In an embodiment, a common frame index information is created based on the acquired first frame information, second frame information and third frame information, so that frame information of different video fragments can be managed conveniently, and storage stability of the frame information is improved.
It is to be noted that, because 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 image platform belong to the same inventive concept, other specific embodiments of the virtual reality video processing method in this embodiment may refer to the specific embodiment of the corresponding method for transcoding the selected video by the server in the embodiment shown in the image platform, and in order to avoid redundancy, other specific embodiments of the virtual reality video processing method in this embodiment are not described herein again.
In addition, an embodiment of the present invention provides a virtual reality terminal including: a memory, a processor, and a computer program stored on the memory and executable on the processor.
The processor and memory may be connected by a bus or other means.
It should be noted that the virtual reality terminal in this embodiment may be applied to the image platform in the embodiment shown in fig. 1, so as to form a part of the image platform in the embodiment shown in fig. 1, and these embodiments all belong to the same inventive concept, so these embodiments have the same implementation principle and technical effect, and are not described in detail here.
The non-transitory software programs and instructions required to implement the virtual reality video processing method of the above embodiment are stored in the memory, and when executed by the processor, perform the virtual reality video processing method of the above embodiment, for example, performing the above-described method steps S100 to S400 in fig. 2, method steps S310 to S330 in fig. 4, or method steps S340 to S360 in fig. 6.
In addition, an embodiment of the present invention provides a server including: a memory, a processor, and a computer program stored on the memory and executable on the processor.
The processor and memory may be connected by a bus or other means.
It should be noted that the server in this embodiment may be applied to the image platform in the embodiment shown in fig. 1, so as to form a part of the image platform in the embodiment shown in fig. 1, and these embodiments all belong to the same inventive concept, so these embodiments have the same implementation principle and technical effect, and are not described in detail here.
The non-transitory software programs and instructions required to implement the virtual reality video processing method of the above-described embodiment are stored in the memory, and when executed by the processor, perform the virtual reality video processing method of the above-described embodiment, for example, perform the above-described method steps S500 to S800 in fig. 8, S710 in fig. 9, S720 in fig. 10, S900 to S1000 in fig. 11, S1100 to S1200 in fig. 12, S1300 to S1400 in fig. 13, or S1500 in fig. 14.
Furthermore, an embodiment of the present invention further provides a computer-readable storage medium, which stores computer-executable instructions, which are executed by a processor or a controller, for example, by a processor in the above-described embodiment, and can enable the processor to execute the virtual reality video processing method in the above-described embodiment, for example, execute the above-described method steps S100 to S400 in fig. 2, method steps S310 to S330 in fig. 4, method steps S340 to S360 in fig. 6, method steps S500 to S800 in fig. 8, method step S710 in fig. 9, method step S720 in fig. 10, method steps S900 to S1000 in fig. 11, method steps S1100 to S1200 in fig. 12, method steps S1300 to S1400 in fig. 13, or method step S1500 in fig. 14.
One of ordinary skill in the art will appreciate that all or some of the steps, systems, and methods disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. 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 tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, 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 includes any information delivery media as known to those skilled in the art.
While the preferred embodiments of the present invention have been described in detail, it will be understood by those skilled in the art that the foregoing and various other changes, omissions and deviations in the form and detail thereof may be made without departing from the scope of this invention.
Claims (13)
1. When detecting that a user visual angle is switched from a first main visual angle to a second main visual angle, acquiring frame index information corresponding to a current video fragment played in the second main visual angle from a server, wherein the frame index information comprises first frame information of a first video fragment corresponding to the current video fragment, the image quality of the first video fragment is higher than that of the current video fragment, and the independent coding frame density of the first video fragment is greater than that of the current video fragment;
determining a first to-be-played independent coding frame 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;
acquiring frame data taking the first to-be-played independent coding frame as an initial frame in video fragments to be played from a server according to the first to-be-played independent coding frame, wherein the video fragments to be played correspond to the current video fragments, and the image quality of the video fragments to be played is higher than that of the current video fragments;
and playing an image according to the frame data.
2. The virtual reality video processing method according to claim 1, wherein the video segment to be played 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 that of the first video segment, and the independent coding frame density of the second video segment is the same as that of the current video segment;
the acquiring, from a server according to the first to-be-played independent encoded frame, frame data in a to-be-played video segment, where the first to-be-played independent encoded frame is used as a start frame, includes:
determining a second to-be-played independent coding frame 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;
determining a third to-be-played independent coded frame corresponding to the second to-be-played independent coded frame in the first frame information according to the second to-be-played independent coded frame;
and acquiring frame data of the first video segment, which takes the first to-be-played independent coding frame as a starting frame and the third to-be-played independent coding frame as an ending frame, from a server according to the first to-be-played independent coding frame and the third to-be-played independent coding frame.
3. The virtual reality video processing method according to claim 1, 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 that of the first video segment, and the independently encoded frame density of the second video segment is the same as that of the current video segment;
the acquiring, from a server according to the first to-be-played independent encoded frame, frame data in a to-be-played video segment, where the first to-be-played independent encoded frame is used as a start frame, includes:
determining a second to-be-played independent coding frame 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;
determining a fourth frame to be played corresponding to the first independent coding frame to be played in the second frame information according to the first independent coding frame to be played;
and acquiring frame data of the second video fragment with the fourth frame to be played as a starting frame and the second independent coding frame to be played as an ending frame from a server according to the fourth frame to be played and the second independent coding frame to be played.
4. A virtual reality video processing method is applied to a server and comprises the following steps:
acquiring frame index request information from a virtual reality terminal, wherein the frame index request information is used for requesting to download frame index information corresponding to a current video slice played in a second main view when the virtual reality terminal detects that a user view is switched from a first main view to the second main view, the frame index information comprises first frame information of a first video slice corresponding to the current video slice, the image quality of the first video slice is higher than that of the current video slice, and the independent coding frame density of the first video slice is greater than that of the current video slice;
sending the frame index information to a virtual reality terminal according to the frame index request information, so that the virtual reality terminal determines a first to-be-played independent coding frame closest to a current playing frame in the first frame information according to the current playing frame and the first frame information in the frame index information, and downloads frame data taking the first to-be-played independent coding frame as a starting frame in a to-be-played video fragment according to the first to-be-played independent coding frame request, wherein the to-be-played video fragment corresponds to the current video fragment, and the image quality of the to-be-played video fragment is higher than that of the current video fragment;
acquiring frame data request information which is sent by a virtual reality terminal and requests for downloading the frame data;
and sending the frame data to a 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, wherein the video segment to be played 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 that of the first video segment, and the independent coding frame density of the second video segment is the same as that of the current video segment;
the frame index information enables the virtual reality terminal to determine a second to-be-played independent coding frame 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, enables the virtual reality terminal to determine a third to-be-played independent coding frame corresponding to the second to-be-played independent coding frame in the first frame information according to the second to-be-played independent coding frame, and enables the virtual reality terminal to request downloading of frame data of the first to-be-played independent coding frame serving as a starting frame and the third to-be-played independent coding frame serving as an ending frame in the first video fragment.
6. The virtual reality video processing method according to claim 4, 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 that of the first video segment, and the independently encoded frame density of the second video segment is the same as that of the current video segment;
the frame index information enables the virtual reality terminal to determine a second to-be-played independent coding frame 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, enables the virtual reality terminal to determine a fourth to-be-played frame corresponding to the first to-be-played independent coding frame in the second frame information according to the first to-be-played independent coding frame, and enables the virtual reality terminal to request downloading of frame data of the second to-be-played frame which is used as a starting frame and the second to-be-played independent coding frame as an ending frame in the second video fragment.
7. The virtual reality video processing method according to claim 5 or 6, further comprising:
coding a video to be played to obtain a first compressed file corresponding to the video to be played, wherein the video code rate of the first compressed file is smaller than the original code rate of the video to be played;
and slicing the first compressed file to obtain the current video slice and third frame information corresponding to the current video slice.
8. The virtual reality video processing method of claim 7, further comprising:
coding a video to be played to obtain a second compressed file corresponding to the video to be played, wherein the video code rate of the second compressed file is equal to the original code rate of the video to be played;
and slicing the second compressed file to obtain the second video fragment and the second frame information corresponding to the second video fragment.
9. The virtual reality video processing method of claim 8, further comprising:
coding a video to be played, and reducing the independent coding frame interval of the video to be played to obtain a third compressed file corresponding to the video to be played, wherein the video code rate of the third compressed file is equal to the original code rate of the video to be played;
and slicing the third compressed file to obtain the first video fragment and the first frame information corresponding to the first video fragment.
10. The virtual reality video processing method of claim 9, further comprising:
and creating the frame index information according to the first frame information, the second frame information and the third frame information.
11. A virtual reality terminal, comprising: memory, processor and computer program stored on the memory and executable on the processor, characterized in that 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: memory, processor and computer program stored on the memory and executable on the processor, characterized in that 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 for performing the virtual reality video processing method of any one of claims 1 to 3 or implementing the virtual reality video processing method of any one of claims 4 to 10.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010904606.3A CN114125499A (en) | 2020-09-01 | 2020-09-01 | Virtual reality video processing method, terminal, server and storage medium |
PCT/CN2021/103188 WO2022048277A1 (en) | 2020-09-01 | 2021-06-29 | Virtual reality video processing method and terminal thereof, server and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010904606.3A CN114125499A (en) | 2020-09-01 | 2020-09-01 | Virtual reality video processing method, terminal, server and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114125499A true CN114125499A (en) | 2022-03-01 |
Family
ID=80360719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010904606.3A Pending CN114125499A (en) | 2020-09-01 | 2020-09-01 | Virtual reality video processing method, terminal, server and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114125499A (en) |
WO (1) | WO2022048277A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI3603006T3 (en) * | 2017-03-23 | 2024-06-18 | Vid Scale Inc | Metrics and messages to improve experience for 360-degree adaptive streaming |
CN106937141A (en) * | 2017-03-24 | 2017-07-07 | 北京奇艺世纪科技有限公司 | A kind of bitstreams switching method and device |
CN108235131B (en) * | 2018-01-30 | 2020-07-03 | 重庆邮电大学 | Panoramic video self-adaptive transmission method based on DASH |
CN110351607B (en) * | 2018-04-04 | 2022-01-14 | 阿里巴巴(中国)有限公司 | Method for switching panoramic video scenes, computer storage medium and client |
US11094130B2 (en) * | 2019-02-06 | 2021-08-17 | Nokia Technologies Oy | Method, an apparatus and a computer program product for video encoding and video decoding |
-
2020
- 2020-09-01 CN CN202010904606.3A patent/CN114125499A/en active Pending
-
2021
- 2021-06-29 WO PCT/CN2021/103188 patent/WO2022048277A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022048277A1 (en) | 2022-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10462537B2 (en) | Network video streaming with trick play based on separate trick play files | |
KR101737325B1 (en) | Method and apparatus for reducing decreasing of qualitly of experience in a multimedia system | |
US11553154B2 (en) | Method and arrangement for supporting playout of content | |
KR102218385B1 (en) | Codec techniques for fast switching | |
US10277927B2 (en) | Movie package file format | |
US11695816B2 (en) | Video streaming | |
US20140359678A1 (en) | Device video streaming with trick play based on separate trick play files | |
US20130016791A1 (en) | Media streaming with adaptation | |
CN110351606B (en) | Media information processing method, related device and computer storage medium | |
WO2014145011A2 (en) | Method and apparatus for streaming video | |
WO2020228482A1 (en) | Video processing method, apparatus and system | |
EP3490263B1 (en) | Channel switching method and device | |
US11128897B2 (en) | Method for initiating a transmission of a streaming content delivered to a client device and access point for implementing this method | |
US9900608B2 (en) | Keyframe alignment for encoding video at multiple bitrates | |
CN114125499A (en) | Virtual reality video processing method, terminal, server and storage medium | |
CN113508601B (en) | Client and method for managing streaming sessions of multimedia content at a client | |
CN114513658B (en) | Video loading method, device, equipment and medium | |
US20220329903A1 (en) | Media content distribution and playback | |
US20230291777A1 (en) | Video streaming | |
CN115604523A (en) | Processing method of free visual angle video scene, client and server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |