CN105915937B - Panoramic video playing method and device - Google Patents

Panoramic video playing method and device Download PDF

Info

Publication number
CN105915937B
CN105915937B CN201610304275.3A CN201610304275A CN105915937B CN 105915937 B CN105915937 B CN 105915937B CN 201610304275 A CN201610304275 A CN 201610304275A CN 105915937 B CN105915937 B CN 105915937B
Authority
CN
China
Prior art keywords
video
user
coordinate
sub
viewpoint position
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.)
Active
Application number
CN201610304275.3A
Other languages
Chinese (zh)
Other versions
CN105915937A (en
Inventor
吕铁汉
许孜奕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lexiang Technology Co.,Ltd.
Original Assignee
Shanghai Le Xiang Science And Technology Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Le Xiang Science And Technology Ltd filed Critical Shanghai Le Xiang Science And Technology Ltd
Priority to CN201610304275.3A priority Critical patent/CN105915937B/en
Publication of CN105915937A publication Critical patent/CN105915937A/en
Application granted granted Critical
Publication of CN105915937B publication Critical patent/CN105915937B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Abstract

The invention discloses a panoramic video playing method and equipment, which are characterized by comprising the following steps: receiving a panoramic video playing request of a player, wherein the panoramic video playing request comprises viewpoint position information of a user; determining a video unit to be played according to the viewpoint position information of the user, wherein the video unit is obtained by pre-dividing a video frame of the panoramic video to be played; and sending the determined video unit to be played to the player in a video stream mode to solve the problem of low utilization rate of transmission bandwidth in the existing panoramic video playing technology.

Description

Panoramic video playing method and device
Technical Field
the invention relates to the field of image processing, in particular to a panoramic video playing method and device.
Background
currently, panoramic video refers to wide-angle video content beyond the normal field of view, and what we generally speak as annular/cylindrical 360 degree video provides a 360 degree field of view in the horizontal direction.
panoramic video recording has a plurality of methods, and generally, the panoramic video recording is divided into a single-shot mode and a multi-shot mode. If multiple shots or multiple cameras are used, high quality video can be obtained, but the resulting video file will typically be three to four times, or even more, the size of a normal video file. Therefore, great challenges are brought to storage and network transmission of videos, and especially, a large transmission bandwidth is required for panoramic videos in the network transmission process.
Because the existing panoramic video playing technology uniformly compresses video information in all directions into one video code stream, and because the view angle of a user is limited, when the panoramic video is played, only the corresponding angle is selected for playing, most of the information in the video code stream does not participate in displaying, so that the effective utilization rate of the video code stream to the transmission bandwidth is low, and on the basis, a scheme capable of improving the utilization rate of the panoramic video playing technology to the transmission bandwidth is urgently needed.
Disclosure of Invention
The embodiment of the invention provides a panoramic video playing method and panoramic video playing equipment, which are used for solving the problem that the utilization rate of the existing panoramic video playing technology on transmission bandwidth is low.
The method comprises a panoramic video playing method, which comprises the following steps: receiving a panoramic video playing request of a player, wherein the panoramic video playing request comprises viewpoint position information of a user; determining a video unit to be played according to the viewpoint position information of the user, wherein the video unit is obtained by pre-dividing a video frame of the panoramic video to be played; and sending the determined video unit to be played to the player in a video stream mode.
In addition, an embodiment of the present invention further provides a method for playing a panoramic video from a player side, where the method includes:
A player sends a panoramic video playing request to a server side, wherein the panoramic video playing request comprises viewpoint position information of a user; the player receives a video stream which is sent by the server side and consists of video units to be played; the video units in the video stream are obtained by pre-dividing video frames of the panoramic video to be played by the server side, and the server side determines the video units to be played according to the viewpoint position information of the user.
Based on the same inventive concept, the embodiment of the present invention further provides a server for panoramic video, including: the device comprises a receiving unit, a display unit and a control unit, wherein the receiving unit is used for receiving a panoramic video playing request of a player, and the panoramic video playing request comprises viewpoint position information of a user;
The determining unit is used for determining a video unit to be played according to the viewpoint position information of the user, wherein the video unit is obtained by pre-dividing a video frame of the panoramic video to be played;
and the sending unit is used for sending the determined video unit to be played to the player in a video stream mode.
In addition, an embodiment of the present invention further provides a scene video player, including: the system comprises a sending unit, a receiving unit and a processing unit, wherein the sending unit is used for sending a panoramic video playing request to a server side, and the panoramic video playing request comprises viewpoint position information of a user;
The receiving unit is used for receiving a video stream which is sent by the server side and consists of video units to be played; the video units in the video stream are obtained by pre-dividing video frames of the panoramic video to be played by the server side, and the server side determines the video units to be played according to the viewpoint position information of the user.
The embodiment of the invention obtains a plurality of video frames by scanning the panoramic video, and then segments the video frames according to the coordinate attributes of the video frames to obtain a plurality of video units, namely, the panoramic video is decomposed in advance; when a playing request of the panoramic video is received, the video unit of the panoramic video corresponding to the viewpoint position information is determined according to the viewpoint position information of the user carried in the playing request, and the video stream formed by the video unit is sent to the player.
Drawings
in order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
fig. 1 is a schematic flow chart of a method for playing a panoramic video from a server side according to an embodiment of the present invention;
Fig. 2 is a diagram illustrating an example of a method for cutting a panoramic video according to an embodiment of the present invention;
fig. 3 is a panoramic video playing method provided from the player side according to an embodiment of the present invention;
FIG. 4 is an example of a prior art player that may be a virtual reality headset;
fig. 5 is a schematic structural diagram of a panoramic video playing device according to an embodiment of the present invention.
Detailed Description
in order to make the objects, technical solutions and advantages of the present invention clearer, the present invention will be described in further detail with reference to the accompanying drawings, and it is apparent that the described embodiments are only a part of the embodiments of the present invention, not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, an embodiment of the present invention provides a flow diagram of a panoramic video playing method, and a specific implementation method includes:
step S101, receiving a panoramic video playing request of a player, wherein the panoramic video playing request comprises viewpoint position information of a user.
And step S102, determining a video unit to be played according to the viewpoint position information of the user, wherein the video unit is obtained by pre-dividing the video frame of the panoramic video to be played.
step S103, sending the determined video unit to be played to the player in a video stream mode.
because a one-second panoramic video usually has 25 panoramic pictures, i.e. 25 video frames, each panoramic picture is an image with 360 degrees or 720 degrees, when a server side uniformly compresses a segment of panoramic video into a video code stream, the video stream in the code stream having a large angle range is not watched by a user but occupies a transmission bandwidth, so the server side actively acquires viewpoint position information of the user in a player, wherein the viewpoint position information may include a coordinate position of the user, an observation direction of the user, and the like, and the server may determine a maximum angle range which can be currently seen by the user according to the viewpoint position information, so that only the video stream of the portion may be compressed and then transmitted to the player, obviously, a portion of the transmission bandwidth may be saved by doing so.
before step S101 is executed, the server needs to pre-divide the current panoramic video, that is, the server divides the video frame into video units corresponding to a plurality of sub-coordinate intervals in one direction according to a coordinate interval covered by the video frame in the direction, where the sub-coordinate intervals are subsets of the coordinate intervals, and a total set of all the sub-coordinate intervals is the same as the coordinate interval covered by the direction.
That is, the server side needs to complete the cutting of the panoramic video, because the view angle range of a general user is 120 degrees at most, the server side can perform the cutting by comprehensively considering the view range of the user and the complexity of coding after the cutting, for example, as shown in fig. 2, an original video is 360 degrees, and the server determines that a coordinate interval corresponding to the current viewpoint position information of the user is approximately (10 °, 120 °), then the server side, in order to satisfy the current view range of the user as much as possible, will select to cut each video frame in the panoramic video by using multiple cutting angles, so that the cut video streams obtained by various cutting methods can satisfy the viewing requirements of the user as much as possible, for example, the server side can copy the video frames corresponding to (0, 360 °) at the current time into 3 parts at the same time, then the first part obtains the cut (0, a 240 deg. first video unit, a second cut of (120 deg., 360 deg.) second video unit, and a third cut of (0, 120 deg.) and (240 deg., 360 deg.) third video unit and fourth video unit, so that the server side can obtain a cut first video stream composed of the first video units, a cut second video stream composed of the second video units, and a cut third video stream composed of the third video units and the fourth video units. Obviously, any one of the three video streams is sent to the player to satisfy the current visual field range of the user.
Certainly, considering that the third video stream is actually composed of the third video unit and the fourth video unit, further, the server side may perform splicing according to the coordinate attributes of the third video unit and the fourth video unit of each frame, then obtain a spliced image, further compress the spliced images of the plurality of video frames within a set time duration, obtain the third video stream, and send the third video stream to the player side so that the player can play the third video stream.
it can be understood that the server side may also divide each video frame in the panoramic video into smaller segments, for example, fig. 2 may be divided into one sub-coordinate interval for each degree in the horizontal direction, and then since the coordinate interval corresponding to the current viewpoint position information of the user is approximately (10 ° and 120 °), a video unit corresponding to each sub-coordinate interval within (0 and 120 °) may be compressed into one video stream and sent to the player side, and the player receives the compressed video stream, decompresses it, and then stitches the video units corresponding to each sub-coordinate interval.
Considering that the video stream obtained after being cut by the server is usually stored in the server in the form of segments, the playing request sent by the server side received by the player side further includes an identifier of the panoramic video to be played, and before determining the video unit to be played, the method further includes: determining at least one frame of video frame to be played according to the identification of the panoramic video to be played;
or the panoramic video playing request is viewpoint position updating information; before the determining the video unit to be played, the method further includes: and determining at least one frame of video frame to be played from the panoramic video being played according to the viewpoint position updating information.
specifically, the playing request sent by the player to the server includes that the panoramic video to be played is a certain movie, so the server receives the request and then correspondingly sends the cut video stream corresponding to the movie to the player, and of course, the playing request sent by the player may also include the start time of the video stream, so when the server receives the playing request including the start time, the panoramic video of the set period after the start time can be correspondingly cut, the cut video stream is formed, for example, the panoramic video within five seconds after 12:00 is cut, and the cut video stream within the time segment is obtained (12:00, 12: 05).
of course, the broadcast request that is received at this time may be a change of the viewpoint position information of the user, for example, from (10 °, 120 °) to (60 °, 180 °), so that the server side needs to transmit the video unit combination video stream corresponding to each sub-coordinate interval within (60 °, 180 °) to the player side when receiving the broadcast request, and usually, the server side compresses the determined video units to obtain the video stream.
Because the viewpoint position information of the user has non-fixity, in order to ensure that the video stream to be played sent by the server side can still meet the watching requirement of the user even if the viewpoint of the user temporarily changes in a small range, the visual field range of the video stream sent by the server side to the player is usually larger than the coordinate interval determined by the player side, namely, the angle range of the user visual field is determined according to the observation point position of the user in the viewpoint position information and the observation direction of the user; determining a coordinate interval of each frame of video to be played according to the angle range of the user visual field, wherein the coordinate interval of each frame of video to be played is larger than the angle range of the user visual field; and determining a video unit to be played according to the coordinate interval of each frame of video frame to be played.
That is, when the angle range of the field of view of the user is (10 °, 120 °), the server side determines that the range of the coordinate interval of each frame of video frame is (0, 240 °), and then compresses the video unit corresponding to the coordinate interval of each frame of video frame within a set time length, for example, five seconds, which is (0, 240 °) into one video stream to be transmitted to the player, so that the viewing direction of the user is changed from (10 °, 120 °) to (60 °, 180 °) within the five seconds in time, and then the 5 seconds of video stream previously provided by the server can still meet the viewing requirements of the user.
in addition, if the user performs the pause processing in the playing process of the video, and it is considered that the user may watch the panoramic video at each angle in the pause process at this time, when the player performs the pause, the player sends a request to the server side, where the request includes a stop time point of the paused video, and when the server side receives the request, the server side simultaneously sends the video frame corresponding to the time point to the player side, and the player performs playing after receiving the video frame, so that the user can browse the panoramic picture at the time point.
Because the motion information in the player can be timely sent to the server side, the server side in the embodiment of the invention can further predict the track of the viewpoint position information of the user according to the operation information transmitted by the player, namely predict the viewpoint position information of the user in the next time period; determining a video unit in a video frame to be played in the next time interval from the panoramic video according to the predicted viewpoint position information;
and when the viewpoint position information of the next time interval of the user is consistent with the predicted viewpoint position information, sending a video stream of the next time interval to the player, wherein the video stream of the next time interval is composed of video units in the video frame to be played of the next time interval.
for example, the server side predicts that the coordinate interval corresponding to the viewpoint position information of the user is likely to be changed to (120 ° and 240 °) within the next five seconds, the server side can compress the video unit of the sub-coordinate interval corresponding to (100 ° and 280 °) of each frame of video frame within the five seconds to obtain a video stream, the server side stores the video stream as a standby video stream at the server side, and the server side timely transmits the standby video stream to the player when the coordinate interval corresponding to the playing request sent by the player at the next time to the server side is indeed consistent with the prediction.
Based on the same inventive concept, an embodiment of the present invention provides a panoramic video playing method from a player perspective, as shown in fig. 3, the method includes:
step S201, a player sends a panoramic video playing request to a server side, wherein the panoramic video playing request comprises viewpoint position information of a user;
Step S202, the player receives a video stream sent by the server side, wherein the video stream comprises a video unit to be played, which is determined by the server side according to the viewpoint position information of the user; the video unit is obtained by pre-dividing a video frame of a panoramic video to be played at the server side.
wherein the player may be a virtual reality headset comprising first to sixth sides (based on which it may be determined that the first to sixth sides of the headset are respectively front, rear, upper, lower, left, right with respect to the camera, assuming that the virtual reality headset is worn on the head of a user in normal use, as shown in fig. 4). The infrared lamps (also called infrared points) are arranged on each side surface, wherein the infrared lamps on each side surface are arranged according to a preset arrangement rule.
Further, after the player receives a video stream composed of video units to be played and sent by the server side, the method further includes:
the player splices video units corresponding to the sub-coordinate intervals belonging to the same video frame according to the sub-coordinate intervals of each video unit in the received video stream to obtain spliced video frames;
And the player plays the spliced video frames according to the time sequence.
Specifically, the player splices the sub-coordinate intervals of each video unit in the received video stream according to the coordinate attributes to obtain an image spliced by the video units of each frame of video frame; and the player plays the images spliced by each frame of video frame according to the time sequence.
That is to say, after receiving the video stream sent by the server side, the player performs splicing according to the sub-coordinate interval of each video unit in the video stream, for example, it is mentioned above that a video frame of (0, 360 °) is cut into video units with each degree as one sub-coordinate interval, so if the coordinate interval corresponding to the current viewpoint position information of the user is approximately (10 °, 120 °), the player needs to splice the video units of each sub-coordinate interval in (0, 240 °) in the video stream according to the coordinate attribute and the sequence of time, and after the splicing is completed, normal playing can be performed.
Based on the same technical concept, the embodiment of the invention also provides a server and a player, and the server and the player can execute the method embodiment. As shown in fig. 5, the server provided in the embodiment of the present invention includes: receiving unit 401, determining unit 402, and transmitting unit 403, where:
A receiving unit 401, configured to receive a panoramic video playing request of a player, where the panoramic video playing request includes viewpoint position information of a user;
a determining unit 402, configured to determine a video unit to be played according to the viewpoint position information of the user, where the video unit is obtained by pre-dividing a video frame of a panoramic video to be played;
A sending unit 403, configured to send the determined video unit to be played to the player in a video stream manner.
Further, the panoramic video playing request further includes an identifier of a panoramic video to be played, and the determining unit 402 is further configured to: determining at least one frame of video frame to be played according to the identification of the panoramic video to be played;
or the panoramic video playing request is viewpoint position updating information; the determining unit 402 is further configured to: and determining at least one frame of video frame to be played from the panoramic video being played according to the viewpoint position updating information.
Further, still include: a dividing unit 404, configured to divide the video frame into video units corresponding to a plurality of sub-coordinate intervals in a direction according to a coordinate interval covered by the video frame in the direction, where the sub-coordinate intervals are subsets of the coordinate intervals, and a total set of all sub-coordinate intervals is the same as the coordinate interval covered by the direction.
wherein the determining unit 402 is specifically configured to: determining the angle range of the user field of vision according to the observation point position of the user in the viewpoint position information and the observation direction of the user;
Determining a coordinate interval of each frame of video to be played according to the angle range of the user visual field, wherein the coordinate interval of each frame of video to be played is larger than the angle range of the user visual field;
And determining a video unit to be played according to the coordinate interval of each frame of video frame to be played.
Further, still include: a prediction unit 405 for predicting viewpoint position information of a user for a next period;
the determining unit 402 is further configured to: determining a video unit in a video frame to be played in the next time interval from the panoramic video according to the predicted viewpoint position information;
the sending unit 403 is further configured to: and when the viewpoint position information of the next time interval of the user is consistent with the predicted viewpoint position information, sending a video stream of the next time interval to the player, wherein the video stream of the next time interval is composed of video units in the video frame to be played of the next time interval.
based on the same inventive concept, an embodiment of the present invention further provides a panoramic video player, as shown in fig. 5, including: a sending unit 501 and a receiving unit 502, wherein:
a sending unit 501, configured to send a panoramic video playing request to a server side, where the panoramic video playing request includes viewpoint position information of a user;
a receiving unit 502, configured to receive a video stream sent by the server side, where the video stream includes a video unit to be played that is determined by the server side according to the viewpoint position information of the user; the video unit is obtained by pre-dividing a video frame of a panoramic video to be played at the server side.
Further, the video splicing device further includes a splicing unit 503, configured to splice video units corresponding to sub-coordinate intervals belonging to the same video frame according to the sub-coordinate interval of each video unit in the received video stream, so as to obtain a spliced video frame; and playing the spliced images of each frame of video frame according to the time sequence.
In summary, in the embodiments of the present invention, a plurality of video frames are obtained by scanning a panoramic video, and then the video frames are segmented according to the coordinate attributes of the video frames to obtain a plurality of video units, that is, the panoramic video is decomposed in advance; when a playing request of the panoramic video is received, the video unit of the panoramic video corresponding to the viewpoint position information is determined according to the viewpoint position information of the user carried in the playing request, and the video stream formed by the video unit is sent to the player.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
it will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (8)

1. A panoramic video playing method is characterized by comprising the following steps:
receiving a panoramic video playing request of a player, wherein the panoramic video playing request comprises viewpoint position information of a user;
Determining the angle range of the user field of vision according to the observation point position of the user in the viewpoint position information and the observation direction of the user;
determining a video unit corresponding to each sub-coordinate interval in the coordinate interval of each frame of video frame to be played according to the angle range of the user visual field, wherein the coordinate interval of each frame of video frame to be played is larger than the angle range of the user visual field; the video unit corresponding to the sub-coordinate interval is a video unit corresponding to a plurality of sub-coordinate intervals which are pre-divided by a server side according to the visual field range of a user and the complexity of coding after cutting, wherein the sub-coordinate intervals are subsets of the coordinate intervals, and the whole set formed by all the sub-coordinate intervals is the same as the coordinate intervals covered by the observation direction;
Compressing the video unit corresponding to each sub-coordinate interval into a video stream, and sending the video stream to a player side so that the player can play the video stream.
2. The method of claim 1, wherein the panoramic video play request further includes an identification of a panoramic video to be played, and wherein determining a video unit to be played is preceded by: determining at least one frame of video frame to be played according to the identification of the panoramic video to be played;
Or the panoramic video playing request is viewpoint position updating information; before the determining the video unit to be played, the method further includes: and determining at least one frame of video frame to be played from the panoramic video being played according to the viewpoint position updating information.
3. the method of claim 1 or 2, wherein after sending the video stream to a player side, further comprising:
predicting viewpoint position information of the user in the next time period;
Determining a video unit in a video frame to be played in the next time interval from the panoramic video according to the predicted viewpoint position information;
and when the viewpoint position information of the next time interval of the user is consistent with the predicted viewpoint position information, sending a video stream of the next time interval to the player, wherein the video stream of the next time interval is composed of video units in the video frame to be played of the next time interval.
4. A panoramic video playing method is characterized by comprising the following steps:
a player sends a panoramic video playing request to a server side, wherein the panoramic video playing request comprises viewpoint position information of a user, and the viewpoint position information comprises an observation point position of the user and an observation direction of the user;
the player receives a video stream which is sent by the server side and generated by compressing a video unit corresponding to each sub-coordinate interval, wherein the video unit corresponding to each sub-coordinate interval is determined by the server side according to the angle range of the user visual field, and the angle range of the user visual field is determined according to the observation point position of the user in the viewpoint position information and the observation direction of the user; the video unit corresponding to the sub-coordinate interval is a video unit corresponding to a plurality of sub-coordinate intervals which are pre-divided by the server side according to the visual field range of a user and the complexity of coding after cutting, wherein the sub-coordinate interval is a subset of the coordinate interval, and the whole set formed by all the sub-coordinate intervals is the same as the coordinate interval covered by the observation direction;
The player splices video units corresponding to the sub-coordinate intervals belonging to the same video frame according to the sub-coordinate intervals of each video unit in the received video stream to obtain spliced video frames;
and the player plays the spliced video frames according to the time sequence.
5. A server for panoramic video, comprising:
the device comprises a receiving unit, a display unit and a control unit, wherein the receiving unit is used for receiving a panoramic video playing request of a player, and the panoramic video playing request comprises viewpoint position information of a user;
the determining unit is used for determining the angle range of the user visual field according to the observation point position of the user in the viewpoint position information and the observation direction of the user; determining a video unit corresponding to each sub-coordinate interval in the coordinate interval of each frame of video frame to be played according to the angle range of the user visual field, wherein the coordinate interval of each frame of video frame to be played is larger than the angle range of the user visual field; the video unit corresponding to the sub-coordinate interval is a video unit corresponding to a plurality of sub-coordinate intervals which are pre-divided by a server side according to the visual field range of a user and the complexity of coding after cutting, wherein the sub-coordinate intervals are subsets of the coordinate intervals, and the whole set formed by all the sub-coordinate intervals is the same as the coordinate intervals covered by the observation direction;
And the sending unit is used for sending the video stream compressed by the video unit corresponding to each sub-coordinate interval to the player.
6. The server of claim 5, wherein the panoramic video play request further includes an identification of a panoramic video to be played, the determination unit further to: determining at least one frame of video frame to be played according to the identification of the panoramic video to be played;
or the panoramic video playing request is viewpoint position updating information; the determination unit is further configured to: and determining at least one frame of video frame to be played from the panoramic video being played according to the viewpoint position updating information.
7. The server according to claim 5 or 6, further comprising:
A prediction unit for predicting viewpoint position information of a user in a next period;
The determination unit is further configured to: determining a video unit in a video frame to be played in the next time interval from the panoramic video according to the predicted viewpoint position information;
the sending unit is further configured to: and when the viewpoint position information of the next time interval of the user is consistent with the predicted viewpoint position information, sending a video stream of the next time interval to the player, wherein the video stream of the next time interval is composed of video units in the video frame to be played of the next time interval.
8. a panoramic video player, comprising:
A sending unit, configured to send a panoramic video playing request to a server side, where the panoramic video playing request includes viewpoint position information of a user, and the viewpoint position information includes a viewpoint position of the user and an observation direction of the user;
A receiving unit, configured to receive a video stream compressed and generated by a video unit corresponding to each sub-coordinate interval sent by the server side, where the video unit corresponding to each sub-coordinate interval is determined by the server side according to an angle range of a field of view of the user, and the angle range of the field of view of the user is determined according to a viewpoint position of the user in the viewpoint position information and a viewing direction of the user; the video unit corresponding to the sub-coordinate interval is a video unit corresponding to a plurality of sub-coordinate intervals which are pre-divided by the server side according to the visual field range of a user and the complexity of coding after cutting, wherein the sub-coordinate interval is a subset of the coordinate interval, and the whole set formed by all the sub-coordinate intervals is the same as the coordinate interval covered by the observation direction;
The splicing unit is used for splicing the video units corresponding to the sub-coordinate intervals belonging to the same video frame according to the sub-coordinate interval of each video unit in the received video stream to obtain a spliced video frame; and playing the spliced images of each frame of video frame according to the time sequence.
CN201610304275.3A 2016-05-10 2016-05-10 Panoramic video playing method and device Active CN105915937B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610304275.3A CN105915937B (en) 2016-05-10 2016-05-10 Panoramic video playing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610304275.3A CN105915937B (en) 2016-05-10 2016-05-10 Panoramic video playing method and device

Publications (2)

Publication Number Publication Date
CN105915937A CN105915937A (en) 2016-08-31
CN105915937B true CN105915937B (en) 2019-12-13

Family

ID=56748002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610304275.3A Active CN105915937B (en) 2016-05-10 2016-05-10 Panoramic video playing method and device

Country Status (1)

Country Link
CN (1) CN105915937B (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106385587B (en) * 2016-09-14 2019-08-02 三星电子(中国)研发中心 Share the method, apparatus and system at virtual reality visual angle
CN107872626B (en) * 2016-09-26 2020-06-09 中国电信股份有限公司 Panoramic video playing method and system and server for playing panoramic video
CN109644296A (en) * 2016-10-10 2019-04-16 华为技术有限公司 A kind of video stream transmission method, relevant device and system
CN106453913A (en) * 2016-10-31 2017-02-22 北京疯景科技有限公司 Method and apparatus for previewing panoramic contents
CN106534827B (en) * 2016-12-19 2018-03-02 暴风集团股份有限公司 Method and system based on user perspective playing panoramic video
CN108282449B (en) * 2017-01-06 2020-10-09 华为技术有限公司 Streaming media transmission method and client applied to virtual reality technology
CN108693953A (en) * 2017-02-28 2018-10-23 华为技术有限公司 A kind of augmented reality AR projecting methods and cloud server
CN106851398A (en) * 2017-03-10 2017-06-13 北京小鸟看看科技有限公司 The storage method of panoramic video file, player method, storage device and player
WO2018170725A1 (en) * 2017-03-21 2018-09-27 深圳市大疆创新科技有限公司 Image transmission method, device, and apparatus
CN108810574B (en) * 2017-04-27 2021-03-12 腾讯科技(深圳)有限公司 Video information processing method and terminal
CN108810427B (en) * 2017-05-02 2020-12-04 北京大学 Viewpoint-based panoramic video content representation method and apparatus
CN107172442A (en) * 2017-06-11 2017-09-15 成都吱吖科技有限公司 A kind of interactive panoramic video storage method and device based on virtual reality
CN109286855B (en) * 2017-07-19 2020-10-13 北京大学 Panoramic video transmission method, transmission device and transmission system
WO2019041179A1 (en) * 2017-08-30 2019-03-07 华为技术有限公司 Vr video playing processing method and device
JP7085816B2 (en) 2017-09-26 2022-06-17 キヤノン株式会社 Information processing equipment, information providing equipment, control methods, and programs
CN108156467B (en) * 2017-11-16 2021-05-11 腾讯科技(成都)有限公司 Data transmission method and device, storage medium and electronic device
CN108111899B (en) * 2017-12-29 2021-05-11 中兴通讯股份有限公司 Video transmission method and device, client, server and storage medium
CN108683842B (en) * 2018-04-25 2021-06-04 影石创新科技股份有限公司 Panoramic camera and method and device for outputting panoramic video
CN108833880B (en) * 2018-04-26 2020-05-22 北京大学 Method and device for predicting viewpoint and realizing optimal transmission of virtual reality video by using cross-user behavior mode
CN108833929A (en) * 2018-06-26 2018-11-16 曜宇航空科技(上海)有限公司 A kind of playback method and play system of panoramic video
CN110708566A (en) * 2018-07-09 2020-01-17 上海交通大学 Panoramic video transmission method and system based on node calculation
CN110704673B (en) * 2018-07-09 2022-09-23 上海交通大学 Feedback information identification method, system and storage medium based on video content consumption
CN110798707B (en) 2018-08-02 2023-06-16 华为技术有限公司 Method, client and server for transmitting media data
CN109547830B (en) * 2018-10-24 2021-07-09 重庆爱奇艺智能科技有限公司 Method and device for synchronous playing of multiple virtual reality devices
CN109348291B (en) * 2018-11-16 2021-05-18 深圳市梦网视讯有限公司 Panoramic video code stream distribution method and system based on motion analysis
CN110166850B (en) * 2019-05-30 2020-11-06 上海交通大学 Method and system for predicting panoramic video watching position by multiple CNN networks
CN110248178B (en) * 2019-06-18 2021-11-23 深圳大学 Viewport prediction method and system using object tracking and historical track panoramic video
CN111147883A (en) * 2019-12-31 2020-05-12 歌尔科技有限公司 Live broadcast method and device, head-mounted display equipment and readable storage medium
CN111225263B (en) * 2020-01-17 2022-06-14 广州虎牙科技有限公司 Video playing control method and device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043617A (en) * 2007-03-21 2007-09-26 汤一平 Omnidirectional visual sensor based helmet
CN104010225A (en) * 2014-06-20 2014-08-27 合一网络技术(北京)有限公司 Method and system for displaying panoramic video
CN104602129A (en) * 2015-01-27 2015-05-06 三星电子(中国)研发中心 Playing method and system of interactive multi-view video
CN104735464A (en) * 2015-03-31 2015-06-24 华为技术有限公司 Panorama video interactive transmission method, server and client end
CN105323552A (en) * 2015-10-26 2016-02-10 北京时代拓灵科技有限公司 Method and system for playing panoramic video

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9241103B2 (en) * 2013-03-15 2016-01-19 Voke Inc. Apparatus and method for playback of multiple panoramic videos with control codes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043617A (en) * 2007-03-21 2007-09-26 汤一平 Omnidirectional visual sensor based helmet
CN104010225A (en) * 2014-06-20 2014-08-27 合一网络技术(北京)有限公司 Method and system for displaying panoramic video
CN104602129A (en) * 2015-01-27 2015-05-06 三星电子(中国)研发中心 Playing method and system of interactive multi-view video
CN104735464A (en) * 2015-03-31 2015-06-24 华为技术有限公司 Panorama video interactive transmission method, server and client end
CN105323552A (en) * 2015-10-26 2016-02-10 北京时代拓灵科技有限公司 Method and system for playing panoramic video

Also Published As

Publication number Publication date
CN105915937A (en) 2016-08-31

Similar Documents

Publication Publication Date Title
CN105915937B (en) Panoramic video playing method and device
EP3606082B1 (en) Panoramic video playback method and client terminal
US10432987B2 (en) Virtualized and automated real time video production system
US20150124048A1 (en) Switchable multiple video track platform
CN108900857B (en) Multi-view video stream processing method and device
CN104012106A (en) Aligning videos representing different viewpoints
WO2014025319A1 (en) System and method for enabling user control of live video stream(s)
US8957947B2 (en) Image processing apparatus and control method thereof
KR102644833B1 (en) Method, and system for compensating delay of virtural reality stream
CN110582012B (en) Video switching method, video processing device and storage medium
CN103078937B (en) Method, client terminal, server and system for implementing multi-video cloud synthesis on basis of information network
CN110913278B (en) Video playing method, display terminal and storage medium
CN113141531B (en) Method and device for cross-device play control and play device
CN113038220A (en) Program directing method, program directing system, program directing apparatus, and computer-readable storage medium
CN112423006A (en) Live broadcast scene switching method, device, equipment and medium
EP3621309A1 (en) Transmission system for multi-channel image, control method therefor, and multi-channel image playback method and apparatus
CN109862385B (en) Live broadcast method and device, computer readable storage medium and terminal equipment
KR20070032894A (en) Moving picture viewing system, moving picture viewing device, control method and program thereof
JP2015162117A (en) server device, program, and information processing method
CN108683900B (en) Image data processing method and device
CN107734278B (en) Video playback method and related device
US20180227504A1 (en) Switchable multiple video track platform
CN113949884A (en) Multi-view video data processing method, device and storage medium
CN111885417A (en) VR video playing method, device, equipment and storage medium
KR102524987B1 (en) Method and Apparatus for Providing and Storing Streaming Contents

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 322103 Room 201, East Building, building C, headquarters center, No. 23, Guangfu East Street, houtang community, Jiangbei street, Dongyang City, Jinhua City, Zhejiang Province (self declaration)

Patentee after: Lexiang Technology Co.,Ltd.

Address before: 322103 Room 201, East Building, building C, headquarters center, No. 23, Guangfu East Street, houtang community, Jiangbei street, Dongyang City, Jinhua City, Zhejiang Province (self declaration)

Patentee before: Zhejiang Lexiang Technology Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 322103 Room 201, East Building, building C, headquarters center, No. 23, Guangfu East Street, houtang community, Jiangbei street, Dongyang City, Jinhua City, Zhejiang Province (self declaration)

Patentee after: Zhejiang Lexiang Technology Co.,Ltd.

Address before: 200125 6th floor, building 8, honghuiyinyuewan, No.1 yanjiaqiao, Pudong New Area, Shanghai

Patentee before: SHANGHAI LEXIANG TECHNOLOGY Co.,Ltd.