A method and device for processing panoramic video
By detecting and decoding the high-definition video stream when the main view area switch is detected during panoramic video playback, and rendering it to the corresponding area, the problem of high video stream decoding delay in the existing technology is solved, and the processing efficiency of panoramic video is improved.
Patent Information
- Application Number
- CN202011218388.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-04
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2040-11-04
AI Technical Summary
In the existing panoramic video playback technology, the video stream encoding delay of the main viewing angle and auxiliary viewing angle is high, resulting in the video display being unable to be switched in time after the user's viewing angle is switched, especially the main viewing angle screen cannot be quickly switched from low definition to high definition, causing user discomfort.
When the main view area switch is detected, the corresponding high-definition video code stream is obtained, and non-key frame decoding is performed by only referring to the previous video frame to reduce the decoding delay, and the video code stream to be rendered is rendered to the corresponding area of the panoramic video.
It achieves fast decoding and rendering of the main-view video stream when switching viewpoints, reduces decoding delay, improves panoramic video processing efficiency, and solves the problem of low processing efficiency in the existing technology.
Smart Images

Figure CN114449348B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computers, and in particular to a method and device for processing panoramic videos. Background Art
[0002] In the current panoramic video playback technology, the user's viewing angle is divided into a main angle and an auxiliary angle. Generally, the user is facing the main angle to play a higher-definition video stream, and the two sides of the main angle are auxiliary angles (left and right) to play lower-definition video streams. When the user moves his head left or right, the main angle and the auxiliary angle will automatically switch. The main angle and the auxiliary angle are generally encoded and transmitted in the same encoding method, and the encoding method has a high delay. This transmission method will cause the video display to fail to switch in time after the user switches the angle of view, especially the main angle screen cannot switch from a low-definition video stream to a high-definition video stream in time, which makes the user uncomfortable.
[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0004] The present application provides a method and device for processing panoramic videos, so as to at least solve the technical problem of low efficiency in processing panoramic videos in related technologies.
[0005] According to one aspect of an embodiment of the present application, a method for processing a panoramic video is provided, including:
[0006] When it is detected that the main viewing angle area of the panoramic video display is switched to the first area, obtaining a to-be-switched video stream corresponding to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching;
[0007] Decoding the video code stream to be switched to obtain a video code stream to be rendered, wherein a decoding process of a non-key frame in the video code stream to be switched only refers to a video frame before the non-key frame, and a decoding delay of the video code stream to be switched is lower than a decoding delay of the original video code stream;
[0008] Render the to-be-rendered video stream to the first area in the panoramic video.
[0009] According to another aspect of the embodiment of the present application, a method for processing a panoramic video is also provided, including:
[0010] In the case of detecting that the main viewing angle area of the panoramic video display is switched to the first area, obtaining a to-be-switched video stream corresponding to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching, the decoding process of the non-key frame in the to-be-switched video stream only refers to the video frame before the non-key frame, and the decoding delay of the to-be-switched video stream is lower than the decoding delay of the original video stream;
[0011] The video code stream to be switched is sent to a display device of the panoramic video.
[0012] According to another aspect of the embodiment of the present application, a panoramic video processing device is also provided, including:
[0013] A first acquisition module is used to acquire a to-be-switched video stream corresponding to the first area when detecting that the main viewing angle area of the panoramic video display is switched to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching;
[0014] A first decoding module is used to decode the video code stream to be switched to obtain a video code stream to be rendered, wherein the decoding process of the non-key frame in the video code stream to be switched only refers to the video frame before the non-key frame, and the decoding delay of the video code stream to be switched is lower than the decoding delay of the original video code stream;
[0015] The first rendering module is used to render the video stream to be rendered into the first area in the panoramic video.
[0016] According to another aspect of the embodiment of the present application, a panoramic video processing device is also provided, including:
[0017] A second acquisition module is used to acquire a to-be-switched video stream corresponding to the first area when it is detected that the main viewing angle area of the panoramic video display is switched to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching, the decoding process of the non-key frame in the to-be-switched video stream only refers to the video frame before the non-key frame, and the decoding delay of the to-be-switched video stream is lower than the decoding delay of the original video stream;
[0018] The first sending module is used to send the video code stream to be switched to the display device of the panoramic video.
[0019] According to another aspect of an embodiment of the present application, a storage medium is further provided, which includes a stored program, and the above method is executed when the program is run.
[0020] According to another aspect of an embodiment of the present application, an electronic device is further provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the above method through the computer program.
[0021] In an embodiment of the present application, when it is detected that the main viewing angle area of the panoramic video display is switched to the first area, a to-be-switched video stream corresponding to the first area is obtained, wherein the clarity of the to-be-switched video stream is higher than the clarity of the original video stream displayed in the first area before the area switching; the to-be-switched video stream is decoded to obtain a to-be-rendered video stream, wherein the decoding process of non-key frames in the to-be-switched video stream only refers to the video frames before the non-key frames, and the decoding delay of the to-be-switched video stream is lower than the decoding delay of the original video stream; the to-be-rendered video stream is rendered to the first area in the panoramic video, so that during the playback of the panoramic video, the main viewing angle area displays a higher definition The high-definition video stream of the main view is displayed, and other areas display video streams of lower definition. When the perspective is switched, the high-definition video stream corresponding to the first area of the switched main view is obtained as the video stream to be switched. On the one hand, the decoding process of the non-key frames in the video stream to be switched only refers to the video frames before the non-key frames, thereby reducing the decoding delay of the decoding process of the video stream of the main view. On the other hand, the decoding delay of the video stream to be switched of the main view is lower than the decoding delay of the original video stream, so that the video stream of the main view is decoded faster, thereby achieving the technical effect of improving the processing efficiency of the panoramic video, and then solving the technical problem of low processing efficiency of the panoramic video in the related art. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0023] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0024] Figure 1 is a schematic diagram of a hardware environment of a panoramic video processing method according to an embodiment of the present application;
[0025] Figure 2 is a flowchart of an optional panoramic video processing method according to an embodiment of the present application;
[0026] Figure 3 is a schematic diagram of an optional panoramic video playback scenario according to an embodiment of the present application;
[0027] Figure 4 is a schematic diagram of an optional video code stream encoding method according to an embodiment of the present application;
[0028] Figure 5 is a flowchart of another optional panoramic video processing method according to an embodiment of the present application;
[0029] Figure 6 is a schematic diagram of an optional video code stream distribution process according to an embodiment of the present application;
[0030] Figure 7 is a schematic diagram of an optional panoramic video processing device according to an embodiment of the present application;
[0031] Figure 8 is a schematic diagram of another optional panoramic video processing device according to an embodiment of the present application;
[0032] Fig. 9 It is a structural block diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0033] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0034] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0035] Optionally, in this embodiment, the above panoramic video processing method can be applied to Figure 1 In the hardware environment shown in FIG. 1 , a terminal 101 (equivalent to a panoramic video display device) and a server 103 (equivalent to a video distribution source) are formed. Figure 1 As shown, the server 103 is connected to the terminal 101 through a network, and can be used to provide services (such as game services, application services, etc.) for the terminal or the client installed on the terminal. A database can be set on the server or independently of the server to provide data storage services for the server 103. The above network includes but is not limited to: a wide area network, a metropolitan area network or a local area network, and the terminal 101 is not limited to a PC, a mobile phone, a tablet computer, etc. The processing method of the panoramic video of the embodiment of the present application can be executed by the server 103, or by the terminal 101, or by the server 103 and the terminal 101. Among them, the terminal 101 executes the processing method of the panoramic video of the embodiment of the present application, and it can also be executed by the client installed thereon.
[0036] According to one aspect of the embodiments of the present application, a method embodiment for processing a panoramic video is provided. Figure 2 is a flowchart of an optional panoramic video processing method according to an embodiment of the present application, such as Figure 2 As shown, the method may include the following steps:
[0037] Step S202, when it is detected that the main viewing angle area of the panoramic video display is switched to the first area, obtaining a to-be-switched video stream corresponding to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching;
[0038] Step S204, decoding the video stream to be switched to obtain a video stream to be rendered, wherein the decoding process of the non-key frames in the video stream to be switched only refers to the video frames before the non-key frames, and the decoding delay of the video stream to be switched is lower than the decoding delay of the original video stream;
[0039] Step S206: Render the video stream to be rendered to the first area in the panoramic video.
[0040] Through the above steps S202 to S206, during the playback of the panoramic video, the area of the main view angle displays a video stream with a higher definition, and other areas display video streams with a lower definition. When the view angle is switched, the high-definition video stream corresponding to the first area of the switched main view angle is obtained as the video stream to be switched. On the one hand, the decoding process of the non-key frames in the video stream to be switched only refers to the video frames before the non-key frames, thereby reducing the decoding delay of the decoding process of the video stream of the main view angle. On the other hand, the decoding delay of the video stream to be switched of the main view angle is lower than the decoding delay of the original video stream, so that the video stream of the main view angle is decoded faster, thereby achieving the technical effect of improving the processing efficiency of the panoramic video, thereby solving the technical problem of low processing efficiency of the panoramic video in the related art.
[0041] Optionally, in this embodiment, the above-mentioned panoramic video processing method can be applied to, but is not limited to, scenes such as VR devices playing panoramic videos and circular screens playing panoramic videos. Figure 3 is a schematic diagram of an optional panoramic video playback scenario according to an embodiment of the present application, such as Figure 3 As shown, the user's current perspective is divided into a main perspective, a left perspective, and a right perspective. A high-definition image is played in the main perspective, and a low-definition image is played in other perspectives.
[0042] Optionally, in this embodiment, the above-mentioned panoramic video processing method can be but is not limited to being applied to a display device for panoramic video. The panoramic video can be connected to a video distribution source to obtain a video code stream to be played from the video distribution source.
[0043] In the technical solution provided in step S202, the clarity of the video stream to be switched is higher than the clarity of the original video stream displayed in the first area before the area switching, that is, a higher-definition picture is played on the main perspective, and a lower-definition picture is played in other areas except the main perspective. When the perspective is changed, the picture clarity is adjusted as the perspective is changed.
[0044] As an optional embodiment, when it is detected that the main viewing area of the panoramic video display is switched to the first area, obtaining the to-be-switched video code stream corresponding to the first area includes:
[0045] S11, when it is detected that the main viewing angle area displayed by the panoramic video is switched to the first area, sending viewing angle switching information to the video distribution source;
[0046] S12, receiving a first video code stream and a second video code stream corresponding to the first area returned by the video distribution source in response to the view switching information, wherein the definition of the first video code stream is a first definition, the definition of the second video code stream is a second definition, the first definition is higher than the second definition, and the second video code stream is the original video code stream displayed in the first area before the area switching;
[0047] S13: Determine the first video code stream as the video code stream to be switched, wherein the second video code stream is displayed on the first area in the panoramic video before the first video code stream is decoded.
[0048] Optionally, in this embodiment, during the process of switching the viewing angle, the low-definition second video stream continues to be displayed on the first area in the panoramic video before the high-definition first video stream is decoded until the first video stream can start playing.
[0049] Optionally, in this embodiment, the video distribution source stores both high-definition video streams and low-definition video streams to provide continuously played images for the viewing angle switching process.
[0050] As an optional embodiment, after sending the view angle switching information to the video distribution source, the method further includes:
[0051] S21, receiving a third video code stream and a fourth video code stream corresponding to the second area returned by the video distribution source in response to the view switching information, wherein the main view area is switched from the second area to the first area, the definition of the third video code stream is the first definition, the definition of the fourth video code stream is the second definition, and the third video code stream is the video code stream displayed in the second area before the area switching;
[0052] S22, decoding the fourth video code stream to obtain a fifth video code stream, wherein the third video code stream is displayed on the second area in the panoramic video before the fourth video code stream is decoded;
[0053] S23, rendering the fifth video code stream to the second area in the panoramic video;
[0054] S24, stop receiving the third video code stream.
[0055] Optionally, in this embodiment, the main viewing area is switched from the second area to the first area, and the panoramic video display device requests the high-definition code stream of the first area from the video distribution source, and also requests the low-definition code stream of the second area from the video distribution source. The video distribution source simultaneously returns the high-definition third video code stream and the low-definition fourth video code stream corresponding to the second area. Before the fourth video code stream is decoded, the high-definition third video code stream will continue to be displayed on the second area in the panoramic video, so that the picture played on the second area can be continuous. After the low-definition fifth video code stream is rendered to the second area in the panoramic video, the panoramic video display device stops receiving the high-definition third video code stream.
[0056] In the technical solution provided in step S204, the video code stream can be divided into picture groups. A picture group (Group of Pictures, GOP) refers to a set of continuous pictures in a video. Usually, the first picture in a GOP is an I frame, which is intra-coded and does not need to refer to other frames. Other frames in a GOP can be B frames or P frames, where P frames are coded with forward reference and B frames are coded with bidirectional reference.
[0057] Optionally, in this embodiment, the decoding process of the non-key frame in the video stream to be switched only refers to the video frame before the non-key frame, that is, the picture group in the video stream to be switched only includes I frames and P frames.
[0058] Optionally, in this embodiment, the encoding mode of the video stream can be selected from a variety of low-latency encoding modes, as long as the decoding delay of the video stream to be switched is lower than the decoding delay of the original video stream. For example, the video stream to be switched can adopt an encoding mode in which P frames only refer to I frames, and the original video stream can adopt an LDP encoding mode.
[0059] Among them, LDP coding (Low-Delay-P) is a low-delay P frame coding configuration. The first frame in each GOP is encoded as an I frame, and all subsequent frames are encoded as P frames. When encoding each P frame, the key frame and the previous P frame are referenced, or the previous P frame and the previous P frame are referenced. Figure 4 is a schematic diagram of an optional video code stream encoding method according to an embodiment of the present application, such as Figure 4 As shown in the figure, the high-definition video bitstream can be encoded in mode 1, and all P frames only refer to I frames. Among them, POC (picture order count) indicates the display order of source video frames during video encoding. The low-definition video bitstream can be encoded in mode 2, and P frames with POC of 1 to 4 refer to the key frame and the previous P frame, and P frames with POC of 5 to 8 refer to the previous P frame and POC of 4.
[0060] As an optional embodiment, decoding the to-be-switched video code stream includes:
[0061] S31, decoding the key frame in the video stream to be switched;
[0062] S32, storing the decoded key frame into a reference frame set;
[0063] S33, decoding non-key frames after the key frame in parallel with reference to the decoded key frame.
[0064] Optionally, in this embodiment, the non-key frames are encoded by referring to only the key frames, and all non-key frames in the same GOP can be decoded in parallel, thereby further improving the decoding speed. It should be noted that the parallel decoding described in this embodiment means that decoding can be started as soon as the non-key frames are acquired, without waiting for all non-key frames to be acquired and then decoded together.
[0065] In the technical solution provided in step S206, the video stream to be rendered may be rendered to the first area in the following manner, but is not limited to:
[0066] S41, performing synchronization detection on the decoded bitstream in the to-be-rendered video bitstream and the original video bitstream;
[0067] S42: When it is detected that the decoded code stream is time-synchronized with the original video code stream, switching rendering of the original video code stream on the first area in the panoramic video to rendering of the video code stream to be rendered.
[0068] Optionally, in this embodiment, the decoded code stream in the rendered video code stream and the original video code stream are synchronized and detected. If the two are detected to be synchronized, the rendered video code stream is switched to avoid unstable images during the perspective switching process.
[0069] As an optional embodiment, after rendering the to-be-rendered video code stream to the first area in the panoramic video, the method further includes:
[0070] S51, sending view switching completion information to the video distribution source;
[0071] S52: Stop receiving the second video code stream.
[0072] Optionally, in this embodiment, after rendering the video stream to be rendered to the first area in the panoramic video, perspective switching completion information is sent to the video distribution source to notify the video distribution source that the perspective switching has been completed, and stop receiving the second video stream.
[0073] As an optional embodiment, after sending the view angle switching completion information to the video distribution source, the method further includes:
[0074] S61, receiving a sixth video code stream sent by the video distribution source, wherein the sixth video code stream is a video code stream having the same definition as the first video code stream but higher image quality than the first video code stream;
[0075] S62, decoding the sixth video code stream to obtain a seventh video code stream;
[0076] S63: Switch the to-be-rendered video stream rendered in the first area to the seventh video stream.
[0077] Optionally, in this embodiment, after sending the perspective switching completion information to the video distribution source, a sixth video stream sent by the video distribution source can also be received, where the sixth video stream has the same clarity as the first video stream but higher image quality than the first video stream, and is decoded to obtain a seventh video stream, and the video stream to be rendered in the first area is switched to the seventh video stream. That is to say, after confirming that the perspective switching has been completed, a high-definition stream with better image quality is obtained from the video distribution source, and the video rendered in the first area is switched from a high-definition video stream encoded with low latency to a high-definition video stream with the same clarity but higher image quality, thereby improving the image quality of the main perspective area.
[0078] According to another aspect of the embodiments of the present application, another method embodiment for processing panoramic video is provided. Figure 5 is a flowchart of another optional panoramic video processing method according to an embodiment of the present application, such as Figure 5 As shown, the method may include the following steps:
[0079] Step S502, when it is detected that the main viewing angle area of the panoramic video display is switched to the first area, a to-be-switched video stream corresponding to the first area is obtained, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching, the decoding process of the non-key frame in the to-be-switched video stream only refers to the video frame before the non-key frame, and the decoding delay of the to-be-switched video stream is lower than the decoding delay of the original video stream;
[0080] Step S504: sending the video code stream to be switched to the display device of the panoramic video.
[0081] Optionally, in this embodiment, the panoramic video processing method may be, but is not limited to, applied to the video distribution source.
[0082] In the technical solution provided in step S502, if the main viewing angle area of the panoramic video display is switched, the video distribution source obtains the high-definition video code stream of the switched area and provides it to the display device of the panoramic video for display.
[0083] As an optional embodiment, when it is detected that the main viewing area of the panoramic video display is switched to the first area, obtaining the to-be-switched video code stream corresponding to the first area includes:
[0084] S71, receiving viewing angle switching information sent by a display device of the panoramic video, wherein the viewing angle switching information is used to instruct a main viewing angle area displayed by the panoramic video to switch to the first area;
[0085] S72, in response to the view switching information, obtaining a first video code stream and a second video code stream corresponding to the first area from a video storage, wherein the definition of the first video code stream is a first definition, the definition of the second video code stream is a second definition, the first definition is higher than the second definition, and the second video code stream is the original video code stream displayed in the first area before the area switching;
[0086] S73, determining the first video code stream as the video code stream to be switched;
[0087] Sending the to-be-switched video code stream to the display device of the panoramic video includes:
[0088] S74: Send the first video code stream and the second video code stream to the display device of the panoramic video simultaneously.
[0089] Optionally, in this embodiment, the video distribution source may trigger the acquisition of the high-definition video code stream of the first area where the main viewing angle is located after the switching through the viewing angle switching information sent by the panoramic video display device.
[0090] Optionally, in this embodiment, the video distribution source can simultaneously obtain the high-definition code stream and the low-definition code stream of the first area and provide them to the panoramic video display device at the same time, thereby ensuring the continuity of the video picture display.
[0091] As an optional embodiment, after receiving the viewing angle switching information sent by the display device of the panoramic video, the method further includes:
[0092] S81, in response to the perspective switching information, obtaining a third video code stream and a fourth video code stream corresponding to the second area from the video storage, wherein the perspective switching information indicates that the main perspective area is switched from the second area to the first area, the definition of the third video code stream is the first definition, the definition of the fourth video code stream is the second definition, and the third video code stream is the video code stream displayed in the second area before the area switching;
[0093] S82: Send the third video code stream and the fourth video code stream to the display device of the panoramic video simultaneously.
[0094] Optionally, in this embodiment, for the second area of the main viewing angle before the viewing angle is switched, the video distribution source may also provide a high-definition video stream and a low-definition video stream simultaneously during the viewing angle switching process.
[0095] As an optional embodiment, after simultaneously sending the first video code stream and the second video code stream to the display device of the panoramic video, the method further includes:
[0096] S91, receiving view switching completion information sent by the display device of the panoramic video;
[0097] S92: Stop sending the second video code stream in response to the view switching completion information.
[0098] Optionally, in this embodiment, the video distribution source stops sending the low-definition second video code stream corresponding to the first area after receiving the view switching completion information sent by the display device of the panoramic video.
[0099] As an optional embodiment, after receiving the view switching completion information sent by the display device of the panoramic video, the method further includes:
[0100] S101, sending a sixth video stream to a display device of the panoramic video, wherein the sixth video stream has the same definition as the first video stream but higher image quality than the first video stream.
[0101] Optionally, in this embodiment, after receiving the perspective switching completion information sent by the display device of the panoramic video, a sixth video stream with the same clarity as the first video stream but higher image quality than the first video stream is sent to the display device of the panoramic video, so that the display device of the panoramic video can render a higher quality video stream in the first area, thereby improving the user experience.
[0102] As an optional embodiment, before sending the sixth video code stream to the display device of the panoramic video, the method further includes one of the following:
[0103] S111, obtaining the sixth video code stream stored in advance;
[0104] S112: convert the first video code stream to be sent to the sixth video code stream.
[0105] Optionally, in this embodiment, a video stream with the same definition but higher image quality can be obtained by but is not limited to one of the above two methods, one is to pre-store a video stream with the same definition but higher image quality, and the other is to convert a low-latency encoded high-definition video stream into a video stream with the same definition but higher image quality.
[0106] Optionally, in this embodiment, the video distribution source may obtain the to-be-switched video code stream corresponding to the first area in the following manner, but is not limited to:
[0107] S121, calculating the bitstream information corresponding to the first area according to the time and direction of switching of the main viewing area;
[0108] S122: Acquire the video bitstream to be switched according to the bitstream information.
[0109] In an alternative embodiment, Figure 6 is a schematic diagram of an optional video code stream distribution process according to an embodiment of the present application, such as Figure 6 As shown in the figure, when the user's perspective switches, a corresponding signal will be sent to the video distribution source to notify the perspective switch. The video distribution source calculates the code stream corresponding to the high-definition video source that needs to be sent and its start time based on the time and direction of the perspective switch, and sends the high-definition code stream to the user. After receiving the high-definition code stream, the user starts decoding. When the decoded part is synchronized with the original low-definition code stream and the current user time, the high-definition code stream is rendered instead. After that, the video source stops sending the low-definition code stream to this viewpoint. At the same time, a low-definition code stream is sent to the part of the original main perspective after the switch occurs.
[0110] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0111] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a disk, or an optical disk), and includes a number of instructions for an electronic device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0112] According to another aspect of an embodiment of the present application, a panoramic video processing device for implementing the above-mentioned panoramic video processing method is also provided. Figure 7 is a schematic diagram of an optional panoramic video processing device according to an embodiment of the present application, such as Figure 7 As shown, the device may include:
[0113] A first acquisition module 72 is used to acquire a to-be-switched video stream corresponding to the first area when detecting that the main viewing angle area of the panoramic video display is switched to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching;
[0114] A first decoding module 74 is used to decode the video code stream to be switched to obtain a video code stream to be rendered, wherein the decoding process of the non-key frame in the video code stream to be switched only refers to the video frame before the non-key frame, and the decoding delay of the video code stream to be switched is lower than the decoding delay of the original video code stream;
[0115] The first rendering module 76 is used to render the video stream to be rendered into the first area in the panoramic video.
[0116] It should be noted that the first acquisition module 72 in this embodiment can be used to execute step S202 in the embodiment of the present application, the first decoding module 74 in this embodiment can be used to execute step S204 in the embodiment of the present application, and the first rendering module 76 in this embodiment can be used to execute step S206 in the embodiment of the present application.
[0117] It should be noted that the examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the contents disclosed in the above embodiments. It should be noted that the above modules as part of the device can be run in Figure 1 In the hardware environment shown, it can be implemented by software or by hardware.
[0118] Through the above module, during the playback of the panoramic video, the area of the main perspective displays a video stream with a higher definition, and other areas display video streams with a lower definition. When the perspective is switched, the high-definition video stream corresponding to the first area of the switched main perspective is obtained as the video stream to be switched. On the one hand, the decoding process of the non-key frames in the video stream to be switched only refers to the video frames before the non-key frames, thereby reducing the decoding delay of the decoding process of the video stream of the main perspective. On the other hand, the decoding delay of the video stream to be switched of the main perspective is lower than the decoding delay of the original video stream, so that the video stream of the main perspective is decoded faster, thereby achieving the technical effect of improving the processing efficiency of the panoramic video, and then solving the technical problem of low processing efficiency of the panoramic video in the related technology.
[0119] As an optional embodiment, the first acquisition module includes:
[0120] A sending unit, configured to send viewing angle switching information to a video distribution source when detecting that the main viewing angle area displayed by the panoramic video is switched to the first area;
[0121] a receiving unit, configured to receive a first video code stream and a second video code stream corresponding to the first area returned by the video distribution source in response to the view switching information, wherein the definition of the first video code stream is a first definition, the definition of the second video code stream is a second definition, the first definition is higher than the second definition, and the second video code stream is the original video code stream displayed in the first area before the area switching;
[0122] A determination unit is used to determine the first video code stream as the video code stream to be switched, wherein the second video code stream is displayed on the first area in the panoramic video before the first video code stream is decoded.
[0123] As an optional embodiment, the device further includes:
[0124] A first receiving module is used to receive, after sending the view switching information to the video distribution source, a third video code stream and a fourth video code stream corresponding to the second area returned by the video distribution source in response to the view switching information, wherein the main view area is switched from the second area to the first area, the definition of the third video code stream is the first definition, the definition of the fourth video code stream is the second definition, and the third video code stream is the video code stream displayed in the second area before the area switching;
[0125] A second decoding module is used to decode the fourth video code stream to obtain a fifth video code stream, wherein the third video code stream is displayed on the second area in the panoramic video before the fourth video code stream is decoded;
[0126] A second rendering module, configured to render the fifth video code stream to the second area in the panoramic video;
[0127] The first stopping module is used to stop receiving the third video code stream.
[0128] As an optional embodiment, the device further includes:
[0129] A second sending module is used to send perspective switching completion information to the video distribution source after rendering the to-be-rendered video code stream to the first area in the panoramic video;
[0130] The second stopping module is used to stop receiving the second video code stream.
[0131] As an optional embodiment, the device is also used for:
[0132] After sending the view switching completion information to the video distribution source, receiving a sixth video code stream sent by the video distribution source, wherein the sixth video code stream is a video code stream having the same definition as the first video code stream but higher image quality than the first video code stream;
[0133] Decoding the sixth video code stream to obtain a seventh video code stream;
[0134] The to-be-rendered video stream rendered in the first area is switched to the seventh video stream.
[0135] As an optional embodiment, the first rendering module includes:
[0136] A detection unit, used for performing synchronization detection on the decoded bitstream in the to-be-rendered video bitstream and the original video bitstream;
[0137] The switching unit is used to switch rendering of the to-be-rendered video stream from rendering the original video stream on the first area in the panoramic video when it is detected that the decoded stream is time synchronized with the original video stream.
[0138] As an optional embodiment, the first decoding module includes:
[0139] A first decoding unit, configured to decode key frames in the video code stream to be switched;
[0140] A storage unit, used for storing the decoded key frame into a reference frame set;
[0141] The second decoding unit is used to decode the non-key frames after the key frame in parallel with reference to the decoded key frame.
[0142] According to another aspect of an embodiment of the present application, another panoramic video processing device for implementing the above-mentioned panoramic video processing method is also provided. Figure 8 is a schematic diagram of another optional panoramic video processing device according to an embodiment of the present application, such as Figure 8 As shown, the device may include:
[0143] A second acquisition module 82 is used to acquire a to-be-switched video stream corresponding to the first area when detecting that the main viewing angle area of the panoramic video display is switched to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching, the decoding process of the non-key frames in the to-be-switched video stream only refers to the video frames before the non-key frames, and the decoding delay of the to-be-switched video stream is lower than the decoding delay of the original video stream;
[0144] The first sending module 84 is used to send the video code stream to be switched to the display device of the panoramic video.
[0145] It should be noted that the acquisition module 42 in this embodiment can be used to execute step S202 in the embodiment of the present application, and the determination module 44 in this embodiment can be used to execute step S204 in the embodiment of the present application.
[0146] As an optional embodiment, the second acquisition module is used to: receive the perspective switching information sent by the display device of the panoramic video, wherein the perspective switching information is used to indicate that the main perspective area displayed by the panoramic video is switched to the first area; in response to the perspective switching information, obtain the first video code stream and the second video code stream corresponding to the first area from the video storage, wherein the definition of the first video code stream is the first definition, the definition of the second video code stream is the second definition, the first definition is higher than the second definition, and the second video code stream is the original video code stream displayed in the first area before the area switching; determine the first video code stream as the video code stream to be switched;
[0147] The first sending module is used to simultaneously send the first video code stream and the second video code stream to the display device of the panoramic video.
[0148] As an optional embodiment, the device further includes:
[0149] a third acquisition module, configured to, after receiving the viewing angle switching information sent by the display device of the panoramic video, acquire, in response to the viewing angle switching information, a third video code stream and a fourth video code stream corresponding to the second area from the video storage, wherein the viewing angle switching information indicates that the main viewing area is switched from the second area to the first area, the definition of the third video code stream is the first definition, the definition of the fourth video code stream is the second definition, and the third video code stream is the video code stream displayed in the second area before the area switching;
[0150] The third sending module is used to simultaneously send the third video code stream and the fourth video code stream to the display device of the panoramic video.
[0151] As an optional embodiment, the device further includes:
[0152] A second receiving module, configured to receive view switching completion information sent by the panoramic video display device after simultaneously sending the first video code stream and the second video code stream to the panoramic video display device;
[0153] The third stopping module is used to stop sending the second video code stream in response to the view switching completion information.
[0154] As an optional embodiment, the device is also used for:
[0155] After receiving the view switching completion information sent by the display device of the panoramic video, a sixth video stream is sent to the display device of the panoramic video, wherein the sixth video stream has the same clarity as the first video stream but higher image quality than the first video stream.
[0156] As an optional embodiment, the device is also used for one of the following:
[0157] Before sending the sixth video code stream to the display device of the panoramic video, obtaining the sixth video code stream stored in advance;
[0158] The first video code stream to be sent is converted into the sixth video code stream.
[0159] As an optional embodiment, the second acquisition module includes:
[0160] A calculation unit, configured to calculate the bitstream information corresponding to the first area according to the time and direction of switching of the main viewing area;
[0161] An acquiring unit is used to acquire the video bitstream to be switched according to the bitstream information.
[0162] It should be noted that the examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the contents disclosed in the above embodiments. It should be noted that the above modules as part of the device can be run in Figure 1 In the hardware environment shown, it can be implemented by software or by hardware, wherein the hardware environment includes a network environment.
[0163] According to another aspect of the embodiments of the present invention, an electronic device for implementing the above-mentioned panoramic video processing method is also provided. Fig. 9 As shown, the electronic device includes a memory 902 and a processor 904. The memory 902 stores a computer program, and the processor 904 is configured to execute the steps in any of the above method embodiments through the computer program.
[0164] Optionally, in this embodiment, the electronic device may be located in at least one network device among a plurality of network devices of a computer network.
[0165] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:
[0166] When it is detected that the main viewing angle area of the panoramic video display is switched to the first area, obtaining a to-be-switched video stream corresponding to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching;
[0167] Decoding the video code stream to be switched to obtain a video code stream to be rendered, wherein a decoding process of a non-key frame in the video code stream to be switched only refers to a video frame before the non-key frame, and a decoding delay of the video code stream to be switched is lower than a decoding delay of the original video code stream;
[0168] Render the to-be-rendered video stream to the first area in the panoramic video.
[0169] Optionally, in this embodiment, the processor may also be configured to perform the following steps through a computer program:
[0170] In the case of detecting that the main viewing angle area of the panoramic video display is switched to the first area, obtaining a to-be-switched video stream corresponding to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching, the decoding process of the non-key frame in the to-be-switched video stream only refers to the video frame before the non-key frame, and the decoding delay of the to-be-switched video stream is lower than the decoding delay of the original video stream;
[0171] The video code stream to be switched is sent to a display device of the panoramic video.
[0172] Alternatively, a person skilled in the art may understand that: Fig. 9 The structure shown is for illustration only, and the electronic device may also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, a mobile Internet device (Mobile Internet Devices, MID), a PAD, or other terminal devices. Fig. 9 The structure of the electronic device is not limited. Fig. 9 More or fewer components (such as network interfaces, etc.) as shown in, or with Fig. 9 Different configurations are shown.
[0173] Among them, the memory 902 can be used to store software programs and modules, such as the program instructions / modules corresponding to the panoramic video processing method and device in the embodiment of the present invention. The processor 904 executes various functional applications and data processing by running the software programs and modules stored in the memory 902, that is, realizing the above-mentioned panoramic video processing method. The memory 902 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 902 may further include a memory remotely located relative to the processor 904, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 902 can be specifically, but not limited to, used to store data and information in the processing process of panoramic videos. As an example, such as Fig. 9 As shown, the memory 902 may include, but is not limited to, the first acquisition module 9022, the first decoding module 9024, and the first rendering module 9026 in the video image processing device. In addition, other module units in the panoramic video processing device may also be included but are not limited to, which will not be repeated in this example.
[0174] As an example, the memory 902 may include, but is not limited to, the second acquisition module and the first sending module in the above-mentioned another panoramic video processing device. In addition, it may also include, but is not limited to, other module units in the panoramic video processing device, which will not be repeated in this example.
[0175] Optionally, the transmission device 906 is used to receive or send data via a network. Specific examples of the above-mentioned network may include a wired network and a wireless network. In one example, the transmission device 906 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 906 is a radio frequency (Radio Frequency, RF) module, which is used to communicate with the Internet wirelessly.
[0176] In addition, the electronic device further includes: a display 908 for displaying data and information in the processing of the panoramic video; and a connection bus 910 for connecting various module components in the electronic device.
[0177] The embodiment of the present application further provides a storage medium. Optionally, in this embodiment, the storage medium can be used to execute the program code of the panoramic video processing method.
[0178] Optionally, in this embodiment, the storage medium may be located on at least one network device among a plurality of network devices in the network shown in the above embodiment.
[0179] Optionally, in this embodiment, the storage medium is configured to store program codes for executing the following steps:
[0180] When it is detected that the main viewing angle area of the panoramic video display is switched to the first area, obtaining a to-be-switched video stream corresponding to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching;
[0181] Decoding the video code stream to be switched to obtain a video code stream to be rendered, wherein a decoding process of a non-key frame in the video code stream to be switched only refers to a video frame before the non-key frame, and a decoding delay of the video code stream to be switched is lower than a decoding delay of the original video code stream;
[0182] Render the to-be-rendered video stream to the first area in the panoramic video.
[0183] Optionally, in this embodiment, the storage medium is further configured to store program codes for executing the following steps:
[0184] In the case of detecting that the main viewing angle area of the panoramic video display is switched to the first area, obtaining a to-be-switched video stream corresponding to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching, the decoding process of the non-key frame in the to-be-switched video stream only refers to the video frame before the non-key frame, and the decoding delay of the to-be-switched video stream is lower than the decoding delay of the original video stream;
[0185] The video code stream to be switched is sent to a display device of the panoramic video.
[0186] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment will not be described in detail here.
[0187] Optionally, in this embodiment, the above-mentioned storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store program codes.
[0188] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0189] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
[0190] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0191] In the several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0192] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0193] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0194] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A method for processing panoramic video, characterized in that: include: When it is detected that the main viewing angle area of the panoramic video display is switched to the first area, obtaining a to-be-switched video stream corresponding to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching; Decoding the video stream to be switched to obtain a video stream to be rendered, wherein a decoding process of a non-key frame in the video stream to be switched only refers to a key video frame located before the non-key frame in the video stream to be switched, and a decoding delay of the video stream to be switched is lower than a decoding delay of the original video stream; Rendering the to-be-rendered video stream to the first area in the panoramic video; The decoding of the to-be-switched video stream includes: decoding a key frame in the to-be-switched video stream; storing the decoded key frame in a reference frame set; and decoding non-key frames after the key frame in parallel with reference to the decoded key frame; After rendering the to-be-rendered video code stream to the first area in the panoramic video, the method further includes: sending a view switching completion message to a video distribution source; stopping receiving a second video code stream; After sending the view switching completion information to the video distribution source, the method further includes: receiving a sixth video code stream sent by the video distribution source, wherein the sixth video code stream is a video code stream with the same definition as the first video code stream but higher image quality than the first video code stream; decoding the sixth video code stream to obtain a seventh video code stream; switching the to-be-rendered video code stream rendered in the first area to the seventh video code stream, wherein the definition of the first video code stream is a first definition, the definition of the second video code stream is a second definition, the first definition is higher than the second definition, and the second video code stream is the original video code stream displayed in the first area before the area switching; Rendering the video stream to be rendered to the first area in the panoramic video includes: performing synchronization detection on a decoded stream in the video stream to be rendered and the original video stream; when it is detected that the decoded stream and the original video stream are time synchronized, switching rendering of the original video stream on the first area in the panoramic video to rendering of the video stream to be rendered; Wherein, when it is detected that the main viewing area of the panoramic video display switches to the first area, obtaining the video code stream to be switched corresponding to the first area includes: when it is detected that the main viewing area of the panoramic video display switches to the first area, sending viewing angle switching information to a video distribution source; receiving the first video code stream and the second video code stream corresponding to the first area returned by the video distribution source in response to the viewing angle switching information; determining the first video code stream as the video code stream to be switched, wherein the second video code stream is displayed on the first area in the panoramic video before the first video code stream is decoded.
2. The method according to claim 1, characterized in that After sending the view switching information to the video distribution source, the method further includes: Receive a third video code stream and a fourth video code stream corresponding to the second area returned by the video distribution source in response to the view switching information, wherein the main view area is switched from the second area to the first area, the definition of the third video code stream is the first definition, the definition of the fourth video code stream is the second definition, and the third video code stream is the video code stream displayed in the second area before the area switching; Decoding the fourth video code stream to obtain a fifth video code stream, wherein the third video code stream is displayed on the second area in the panoramic video before the fourth video code stream is decoded; Rendering the fifth video code stream to the second area in the panoramic video; Stop receiving the third video stream.
3. A method for processing panoramic video, characterized in that: include: In the case of detecting that the main viewing angle area of the panoramic video display is switched to the first area, obtaining a to-be-switched video stream corresponding to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching, the decoding process of the non-key frames in the to-be-switched video stream only refers to the key video frames in the to-be-switched video stream that are located before the non-key frames, and the decoding delay of the to-be-switched video stream is lower than the decoding delay of the original video stream; Sending the video code stream to be switched to a display device of the panoramic video; The display device is used to decode the key frame in the video code stream to be switched; store the decoded key frame in a reference frame set; and decode the non-key frame after the key frame in parallel with reference to the decoded key frame; After simultaneously sending the first video code stream and the second video code stream to the display device of the panoramic video, the method further includes: receiving a view switching completion message sent by the display device of the panoramic video; and stopping sending the second video code stream in response to the view switching completion message; After receiving the view switching completion information sent by the display device of the panoramic video, the method further includes: sending a sixth video code stream to the display device of the panoramic video, wherein the sixth video code stream is a video code stream with the same definition as the first video code stream but higher image quality than the first video code stream, wherein the definition of the first video code stream is a first definition, the definition of the second video code stream is a second definition, the first definition is higher than the second definition, the second video code stream is the original video code stream displayed in the first area before area switching, and the first video code stream is determined as the video code stream to be switched; The display device is further used to perform synchronization detection between a decoded code stream in the video code stream to be rendered and the original video code stream; when it is detected that the decoded code stream and the original video code stream are time synchronized, switching rendering of the original video code stream on the first area in the panoramic video to rendering of the video code stream to be rendered; In the case where it is detected that the main viewing angle area of the panoramic video display is switched to the first area, obtaining the to-be-switched video code stream corresponding to the first area includes: receiving viewing angle switching information sent by the display device of the panoramic video, wherein the viewing angle switching information is used to indicate that the main viewing angle area of the panoramic video display is switched to the first area; in response to the viewing angle switching information, obtaining the first video code stream and the second video code stream corresponding to the first area from the video storage; Sending the to-be-switched video code stream to the display device of the panoramic video includes: sending the first video code stream and the second video code stream to the display device of the panoramic video at the same time.
4. The method according to claim 3, characterized in that After receiving the viewing angle switching information sent by the display device of the panoramic video, the method further includes: In response to the view switching information, a third video code stream and a fourth video code stream corresponding to the second area are acquired from the video storage, wherein the view switching information indicates that the main view area is switched from the second area to the first area, the definition of the third video code stream is the first definition, the definition of the fourth video code stream is the second definition, and the third video code stream is the video code stream displayed in the second area before the area switching; The third video code stream and the fourth video code stream are simultaneously sent to a display device of the panoramic video.
5. The method according to claim 3, characterized in that: Before sending the sixth video code stream to the display device of the panoramic video, the method further includes one of the following: Acquire the sixth video code stream stored in advance; The first video code stream to be sent is converted into the sixth video code stream.
6. The method according to claim 3, characterized in that Acquiring the to-be-switched video stream corresponding to the first area includes: Calculate the bitstream information corresponding to the first area according to the time and direction of switching of the main viewing area; The video code stream to be switched is obtained according to the code stream information.
7. A panoramic video processing device, characterized in that: include: A first acquisition module is used to acquire a to-be-switched video stream corresponding to the first area when detecting that the main viewing angle area of the panoramic video display is switched to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching; A first decoding module is used to decode the video code stream to be switched to obtain a video code stream to be rendered, wherein the decoding process of the non-key frames in the video code stream to be switched only refers to the key video frames located before the non-key frames in the video code stream to be switched, and the decoding delay of the video code stream to be switched is lower than the decoding delay of the original video code stream; A first rendering module, configured to render the video stream to be rendered into the first area in the panoramic video; The decoding of the to-be-switched video stream includes: decoding a key frame in the to-be-switched video stream; storing the decoded key frame in a reference frame set; and decoding non-key frames after the key frame in parallel with reference to the decoded key frame; After rendering the to-be-rendered video code stream to the first area in the panoramic video, the method further includes: sending a view switching completion message to a video distribution source; and stopping receiving a second video code stream; After sending the view switching completion information to the video distribution source, the method further includes: receiving a sixth video code stream sent by the video distribution source, wherein the sixth video code stream is a video code stream with the same definition as the first video code stream but higher image quality than the first video code stream; decoding the sixth video code stream to obtain a seventh video code stream; switching the to-be-rendered video code stream rendered in the first area to the seventh video code stream; Rendering the video stream to be rendered to the first area in the panoramic video includes: performing synchronization detection on a decoded stream in the video stream to be rendered and the original video stream; when it is detected that the decoded stream and the original video stream are time synchronized, switching rendering of the original video stream on the first area in the panoramic video to rendering of the video stream to be rendered; Wherein, when it is detected that the main viewing area of the panoramic video display switches to the first area, obtaining the video code stream to be switched corresponding to the first area includes: when it is detected that the main viewing area of the panoramic video display switches to the first area, sending viewing angle switching information to a video distribution source; receiving the first video code stream and the second video code stream corresponding to the first area returned by the video distribution source in response to the viewing angle switching information; determining the first video code stream as the video code stream to be switched, wherein the second video code stream is displayed on the first area in the panoramic video before the first video code stream is decoded.
8. A panoramic video processing device, characterized in that: include: A second acquisition module is used to acquire a to-be-switched video stream corresponding to the first area when it is detected that the main viewing angle area of the panoramic video display is switched to the first area, wherein the definition of the to-be-switched video stream is higher than the definition of the original video stream displayed in the first area before the area switching, the decoding process of the non-key frames in the to-be-switched video stream only refers to the key video frames in the to-be-switched video stream that are located before the non-key frames, and the decoding delay of the to-be-switched video stream is lower than the decoding delay of the original video stream; A first sending module, configured to send the video code stream to be switched to a display device of the panoramic video; The display device is used to decode the key frame in the video code stream to be switched; store the decoded key frame in a reference frame set; and decode the non-key frame after the key frame in parallel with reference to the decoded key frame; After simultaneously sending the first video code stream and the second video code stream to the display device of the panoramic video, the method further includes: receiving a view switching completion message sent by the display device of the panoramic video; and stopping sending the second video code stream in response to the view switching completion message; After receiving the view switching completion information sent by the display device of the panoramic video, the method further includes: sending a sixth video code stream to the display device of the panoramic video, wherein the sixth video code stream is a video code stream with the same definition as the first video code stream but higher image quality than the first video code stream, and determining the first video code stream as the video code stream to be switched; The display device is further used to perform synchronization detection between a decoded code stream in the video code stream to be rendered and the original video code stream; when it is detected that the decoded code stream and the original video code stream are time synchronized, switching rendering of the original video code stream on the first area in the panoramic video to rendering of the video code stream to be rendered; In the case where it is detected that the main viewing angle area of the panoramic video display is switched to the first area, obtaining the to-be-switched video code stream corresponding to the first area includes: receiving viewing angle switching information sent by the display device of the panoramic video, wherein the viewing angle switching information is used to indicate that the main viewing angle area of the panoramic video display is switched to the first area; in response to the viewing angle switching information, obtaining the first video code stream and the second video code stream corresponding to the first area from the video storage; Sending the to-be-switched video code stream to the display device of the panoramic video includes: sending the first video code stream and the second video code stream to the display device of the panoramic video at the same time.
9. A storage medium, characterized in that: The storage medium includes a stored program, wherein the program executes the method described in any one of claims 1 to 6 when executed.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: The processor executes the method described in any one of claims 1 to 6 through the computer program.
Citation Information
Patent Citations
Panoramic video scene switching method, computer storage medium and client
CN110351607A
Video decoding method, system and device and computer readable storage medium
CN111800653A