WO2018192276A1 - Video recommendation method, server, and client - Google Patents

Video recommendation method, server, and client Download PDF

Info

Publication number
WO2018192276A1
WO2018192276A1 PCT/CN2018/071527 CN2018071527W WO2018192276A1 WO 2018192276 A1 WO2018192276 A1 WO 2018192276A1 CN 2018071527 W CN2018071527 W CN 2018071527W WO 2018192276 A1 WO2018192276 A1 WO 2018192276A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
panoramic
user
video data
client
Prior art date
Application number
PCT/CN2018/071527
Other languages
French (fr)
Chinese (zh)
Inventor
李东晖
刘俊成
徐昊
李捷
杨伟东
潘柏宇
王冀
Original Assignee
传线网络科技(上海)有限公司
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 传线网络科技(上海)有限公司 filed Critical 传线网络科技(上海)有限公司
Publication of WO2018192276A1 publication Critical patent/WO2018192276A1/en

Links

Images

Classifications

    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • 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
    • 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/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • 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
    • 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/482End-user interface for program selection
    • 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/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • 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/81Monomedia components thereof
    • 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/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Definitions

  • the present application relates to the field of Internet technologies, and in particular, to a video recommendation method, a server, and a client.
  • video websites With the continuous development of Internet technology and the increasing speed of network transmission, people are more and more accustomed to watching videos online through video websites (and video applications corresponding to video websites). At present, due to the huge amount of video on the network, video websites usually provide users with video search and video recommendation functions, so that users can find videos of their own interest from numerous videos.
  • video sites when making video recommendations, video sites usually pre-populate multiple videos with tags that can be used to indicate the content of the video.
  • tags may include labels such as “stunning” and “speech” indicating the subject matter of the video, and may also include labels such as "Zhang San” and “Wang Er” indicating the video actors.
  • the video server's business server can count the tags of the videos to derive the type of video the user is interested in. In this way, different videos can be recommended to different users based on the statistical results.
  • the above video recommendation method may have the following problems:
  • the amount of information displayed in panoramic video is more abundant.
  • the user facing the video may be a video of the football game, and on the left side of the user's line of sight may be a video of the cheerleading performance.
  • the video website usually recommends a series of soccer game videos to the user after viewing the panoramic video, which may cause the recommended video to fail to meet the real needs of the user. It can be seen from the above that when applied to a scene of panoramic video, the method of video recommendation in the prior art may have the problem that the video of interest is not accurately recommended to the user.
  • the purpose of the embodiments of the present application is to provide a video recommendation method, a server, and a client, so as to be able to provide a video to the user that meets its real needs, thereby improving the effectiveness of the video recommendation.
  • an embodiment of the present application provides a video recommendation method, where the method includes: receiving a video loading request sent by a client, where the video loading request is directed to panoramic video data; wherein the panoramic video data is characterized
  • the panoramic video includes at least two video regions displaying different contents; feeding the panoramic video data to the client, so that the client obtains the panoramic video according to the panoramic video data rendering; receiving the client
  • the viewing area information sent by the end, the viewing area information is used to represent the target video area currently viewed by the user; and the recommended video data is fed back to the client based on the viewing area information; wherein the recommended video data is characterized
  • the content displayed in the video is adapted to the content displayed in the target video area.
  • an embodiment of the present application further provides a server, where the server includes a network communication port, a memory, and a processor, where the network communication port is configured to receive a video loading request and a viewing area sent by the client. And feeding back the panoramic video data and the recommended video data to the client; the memory is configured to store the panoramic video data; the processor is configured to receive the video sent by the client by using the network communication port Loading a request, the video loading request is directed to the panoramic video data in the memory; wherein the panoramic video characterized by the panoramic video data includes at least two video regions exhibiting different content; controlling the network communication port to the The client feeds back the panoramic video data, so that the client obtains the panoramic video according to the panoramic video data rendering; and receives viewing area information sent by the client through the network communication port, the viewing The area information is used to represent the target video area currently viewed by the user; See area information, feedback controls the network communication port recommended video data to the client; wherein the recommended content data characterizing the video displayed in the video display with
  • the embodiment of the present application further provides a video recommendation method, where the method includes: sending a video loading request to a server, the video loading request is directed to the panoramic video data in the server; and receiving the feedback from the server And the panoramic video data is obtained according to the panoramic video data, and the panoramic video includes at least two video regions displaying different content; acquiring current viewing area information of the user, and sending the information to the server Viewing area information; the viewing area information is used to represent a target video area currently viewed by the user; receiving recommended video data fed back by the server; content displayed in the video represented by the recommended video data and the target video area The content of the display is adapted.
  • an embodiment of the present application further provides a client, where the client includes a network communication port, a display, and a processor, where the network communication port is configured to send a video loading request and a viewing area information to the server. And receiving the panoramic video data and the recommended video data fed back by the server; the display, configured to display the panoramic video of the panoramic video data representation and display the video of the recommended video data representation; the processor, configured to: Controlling, by the network communication port, a video loading request to the server, the video loading request is directed to the panoramic video data in the server; receiving, by the network communication port, the panoramic video data fed back by the server, and according to the The panoramic video data is rendered to obtain a panoramic video; the panoramic video includes at least two video regions displaying different content; acquiring current viewing area information of the user, and controlling the network communication port to send the viewing area information to the server The viewing area information is used to characterize the user a target video area currently being viewed; receiving recommended video data fed back by the server through the network communication port; content displayed
  • the present application can receive viewing area information sent by the client, and the viewing area information can be used to represent the target video area currently viewed by the user when viewing the panoramic video. Then, when the video is recommended to the user, the video adapted to the content of the display may be recommended to the user according to the content displayed in the target video area. In this way, although the information contained in the panoramic video is more, the technical solution of the present application can recommend the video that is really interested to the user according to the video area actually viewed by the user, thereby improving the effectiveness of the video recommendation.
  • FIG. 1 is a schematic diagram of interaction between a server and a client in an embodiment of the present application
  • FIG. 2 is a schematic diagram of a video area in an embodiment of the present application.
  • FIG. 3 is a schematic diagram of association between a video tag and a video area in the embodiment of the present application.
  • FIG. 4 is a flowchart of a method for performing video recommendation based on a video tag in an embodiment of the present application
  • FIG. 5 is a schematic structural diagram of a server according to an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a client in an embodiment of the present application.
  • the embodiment of the present application provides a video recommendation method, which can be applied to a system architecture of a server and a client.
  • the server may be a device that stores panoramic video data.
  • the server may be a background service server of a website capable of providing a video service.
  • the website may be, for example, iQiyi, Sohu video, Acfun, and the like.
  • the server may be an electronic device having a data operation, a storage function, and a network interaction function; or may be software running in the electronic device to provide support for data processing, storage, and network interaction.
  • the number of the servers is not specifically limited in the present embodiment.
  • the server may be a server, or may be several servers, or a server cluster formed by several servers.
  • the client may be an electronic device for rendering panoramic video data.
  • the client may be, for example, a desktop computer, a tablet computer, a notebook computer, a smart phone, a digital assistant, a smart wearable device, a shopping guide terminal, a television set with network access function, or the like.
  • the client may also be software capable of running in the above electronic device.
  • the client may be a browser in an electronic device, and an access portal provided by the video website platform may be loaded in the browser.
  • the video website platform may be, for example, iQiyi, Sohu video, Acfun, etc., and the access portal may be the first page of the website platform.
  • the client may also be an application running in the smart terminal provided by the video website platform.
  • An embodiment of the present application provides a video recommendation method, which may be applied to a server.
  • the method may include the following steps.
  • S1 Receive a video loading request sent by the client, where the video loading request is directed to the panoramic video data; wherein the panoramic video data represented by the panoramic video data includes at least two video regions displaying different content.
  • a panoramic video database may be provided in the server.
  • the panoramic video database may be a data set that stores panoramic video data.
  • the panoramic video database may adopt any one of database formats such as MySQL, Oracle, DB2, and Sybase.
  • the panoramic video database can be deployed on a storage medium in the server.
  • various panoramic video data may be stored in the panoramic video database.
  • Each panoramic video data in the panoramic video database may have its own data identification.
  • the data identifier and the panoramic video data may be stored in the form of a key-value (key-value pair), so that the corresponding panoramic video data can be obtained from the panoramic video database by using the provided data identifier. .
  • the panoramic video data can be drawn as a panoramic video by a drawing standard.
  • the drawing standard may be, for example, the Open GL standard, the WebGL standard, or the like.
  • the panoramic video may be a sphere video centered at a specified observation point.
  • the designated observation point may be a center point of the panoramic video, and the image observed by the specified observation point may be displayed on a display for viewing by a user.
  • the user can change the line of sight of the specified observation point by interacting with an input device of the display or display.
  • the line of sight of the specified observation point can be deflected to the left accordingly, so that the video information on the left side of the panoramic video can be displayed on the display.
  • the panoramic video data may be rendered by an electronic device with a display to obtain a panoramic video characterized by the panoramic video data.
  • the electronic device with the display may be provided with a gyroscope.
  • the line of sight of the specified observation point may be synchronized with the flipping of the electronic device under the action of the gyroscope. deflection.
  • the user when the user views the panoramic video through the head-mounted VR glasses, the user can bow down, and then the target observation point can be deflected downward according to the influence of the gyroscope in the VR glasses, in the VR glasses.
  • the video screen below the previous video screen can be displayed.
  • a link of the panoramic video may be displayed in the client.
  • the link can be a text link, a picture link, or a video link.
  • the user can send a video load request to the server by clicking on the link.
  • the user may further input a Uniform Resource Locator (URL) pointing to the panoramic video data in the client, so as to send a video loading request to the server according to the URL.
  • URL Uniform Resource Locator
  • the video loading request may be a character string that is written according to a preset rule.
  • the preset rule may be a network communication protocol that is followed between the client and the server.
  • the video loading request may be a string written in accordance with the HTTP protocol.
  • the preset rule may define various components in the video loading request and an order of arrangement between the respective components.
  • the video loading request may include a request identifier field, a source IP address field, and a destination IP address field.
  • the request identification field may populate an identification of the panoramic video data.
  • the source IP address field may fill in an IP address of the client, and the target IP address field may fill in an IP address of the server. In this way, the video loading request can be sent from the client to the server.
  • the video loading request pointing to the panoramic video data may refer to the identifier that carries the panoramic video data in the video loading request.
  • the server may extract the identifier of the panoramic video data from the video loading request.
  • the server may read the panoramic video data having the identifier from the panoramic video database.
  • the panoramic video data characterizing the panoramic video may refer to that the panoramic video may be obtained by rendering the panoramic video data.
  • the panoramic video usually has more information, and different video content can be displayed in different areas of the panoramic video.
  • a panoramic video showing a beach volleyball game the user is playing beach volleyball in front of the user.
  • the left side of the user is a cheerleading performance on the side of the field, and the user is behind the sea and the beach.
  • at least two video regions displaying different content may be included.
  • the above-mentioned panoramic video of a beach volleyball game may include at least three video areas, which respectively show beach volleyball matches, cheerleading performances, and sea and beach scenery.
  • the video area included in the panoramic video may be pre-designated by the uploader of the panoramic video.
  • an uploader may pre-assign a total of three video regions in the panoramic video, and the uploader may also define a video displayed in each video region.
  • the subject of the content For example, the theme of the video content displayed in the three video regions of the panoramic video may be "volleyball game", "performance", and "seascape", respectively.
  • the video area included in the panoramic video may also be obtained by technology recognition of image recognition after the panoramic video is uploaded.
  • an image material library can usually be provided.
  • materials of various scenes that may appear in the video, and a theme corresponding to each material may be stored.
  • the material of these scenes can be stored in the form of feature vectors.
  • feature vectors of respective regions in the panoramic video can be analyzed in real time, and the distance between the analyzed feature vector and the feature vector in the image material library can be calculated.
  • the calculated distance is less than the specified threshold, it indicates that the content displayed in the area is similar to a material in the image library.
  • the area can then be used as a video area, and the subject matter of the content displayed in the video area can be the subject of similar material.
  • the analysis shows that the content displayed in a certain area is a cabaret performance, then the area can be used as a video area, and the theme corresponding to the video area can be “song and dance performance”.
  • the method of image recognition the number of video regions included in the panoramic video and the theme corresponding to each video region can be determined.
  • S2 feeding back the panoramic video data to the client, so that the client obtains the panoramic video according to the panoramic video data rendering.
  • the panoramic video data may be fed back to the client.
  • the client may render the panoramic video data into a corresponding panoramic video based on a drawing standard.
  • the panoramic video data may be rendered in a spatial coordinate system to obtain a sphere video characterized by the panoramic video data.
  • the center of the sphere video can have a specified observation point. By adjusting the viewing angle of the specified observation point, different portions of the sphere video can be displayed on the display of the client.
  • the panoramic video data is rendered in the space after being rendered by the drawing standard, the user views the spherical video through the display, because the radius of curvature of the spherical video is large, and The area actually displayed by the display is small relative to the entire sphere video, so that a portion of the sphere video viewed by the user from the display can be approximated as a flat video.
  • the client in order to improve the loading speed of the video and reduce the load of the client, only a part of the video in the panoramic video may be rendered, wherein the part of the rendered video may be a video that can be viewed in the current viewing area of the user.
  • the video data in the current view of the user can be rendered normally, and the video data in the current view of the user can be not rendered, thereby reducing the amount of data that the client needs to render, so as to reduce the load on the client.
  • the client due to the reduced amount of data being rendered, the client can display the rendered video to the user faster, thereby increasing the loading speed of the video.
  • S3 Receive viewing area information sent by the client, where the viewing area information is used to represent a target video area currently viewed by the user.
  • the user can view the panoramic video through the display of the client. Specifically, the user can change the line of sight of the specified observation point of the panoramic video by flipping the client or interacting with the display of the client, so that the video content displayed on the display can be changed.
  • the video picture currently displayed on the display of the client may be content that is of interest to the user.
  • the video area currently displayed on the display can be used as the target video area currently viewed by the user.
  • the video area may be used as the target video area.
  • the area of the cheerleading performance occupies 90% of the entire display, so it can be judged that the user is really interested in the video area showing the cheerleading performance.
  • the video area to which the user's current line of sight is aligned can also be determined by identifying the pupil of the user, so that the video area to which the user's line of sight is aligned can be used as the target video area. .
  • the video region in the panoramic video may also be characterized by angle information, such that each of the video regions may be associated with angle information.
  • the angle information associated with the video region in the panoramic video may be represented by an azimuth and/or a pitch angle, and may also be represented by longitude and/or latitude.
  • the angle information may include start angle information and end angle information, so that the angle interval of the video area may be jointly defined by the start angle information and the end angle information.
  • the starting angle information is 30 degrees east longitude and 20 degrees north latitude
  • the ending angle information is 60 degrees east longitude and 20 degrees south latitude
  • the sphere video is according to two warps and two weft lines.
  • the upper defined area may be the video area.
  • the starting angle information or the ending angle information may be a preset default angle, so that it may be defaulted.
  • the starting angle information or only the ending angle information may be included.
  • the starting angle information may default to (0, 0)
  • only the angle information needs to be terminated to define the range of the video area, and thus related to the video area in the panoramic video.
  • only the termination angle information may be included.
  • the designated observation point of the panoramic video may generally have an initial observation line of sight, which may be pre-specified in the panoramic video data.
  • the initial observation line of sight can be used as a reference line of sight.
  • the line of sight of the specified observation point of the panoramic video can be changed by flipping the client or interacting with the display of the client.
  • the user's current line of sight can be characterized by the deviation between the changed line of sight and the initial observed line of sight. For example, the azimuth angle corresponding to the initial observation line of sight may be 0 degrees, then when the user adjusts the line of sight of the specified observation point left and right, an angle may exist between the current line of sight and the initial observation line of sight.
  • the size can be used to characterize the location of the user's current line of sight. For example, when the angle is 30 degrees, it may indicate that the specified observation point is deflected to the right by 30 degrees from the position of the initial observation line of sight; for example, when the angle is -30 degrees, the specified observation may be indicated. The point is deflected 30 degrees to the left from the position of the initial observation line of sight. It should be noted that the angle interval corresponding to each video area in the panoramic video and the angle used to represent the current line of sight of the user can all adopt the same reference line of sight, thereby ensuring the uniformity of the angle.
  • the target video area that the user is currently viewing can be determined according to the angle interval in which the angle corresponding to the user's current line of sight is located. For example, if the angle corresponding to the current line of sight of the user is 45 degrees, and the angle range corresponding to a certain video area is -50 degrees to 50 degrees, it can be determined that the user is currently viewing the video area.
  • the viewing area information may be sent to the server, where the viewing area information may be used to represent the target video area currently viewed by the user.
  • the viewing area information may have various forms.
  • the viewing area information may include an angle corresponding to a video currently viewed by the user. Then, after the server receives the viewing area information sent by the client, the angle can be extracted, and then the angle between the angle and the video area can be matched to determine the target video area currently viewed by the user.
  • the viewing area information may further include an identifier of the video area.
  • the identification of the video area may be a character string capable of uniquely characterizing the video area. For example, if a total of three video regions are included in one panoramic video, the identifiers of the three video regions may be “A001”, “A002”, and “A003”, respectively.
  • the server feeds back the panoramic video data to the client, the panoramic video data may include an identifier of each video area.
  • the identifier of the target video area may be added to the viewing area information. In this way, the server may extract an identifier of the video area carried in the viewing area information, and according to the identifier, the target video area currently viewed by the user may be determined.
  • S4 Feeding recommended video data to the client based on the viewing area information; wherein content displayed in the video represented by the recommended video data is adapted to content displayed in the target video area.
  • the server may feed back the recommended recommended video data to the client according to the content displayed in the target video area.
  • the video displayed in the target video area can usually have more tags, and each tag can reflect one aspect of the video.
  • tags For example, in a video of a Chinese football match against South Korea, you can have such labels as “Football”, “National Football”, “World Cup”, “Korea”, “Oriental Universities”.
  • labels such as “Quentin Tarantino”, “Oscar Best Movie”, “Leonardo DiCaprio”, “Plot”, “English Soundtrack”, etc. .
  • various video data stored in the server may be associated with a series of tags.
  • multiple videos with the same tag can be considered as associated videos.
  • the greater the number of identical tags the higher the similarity between the two videos.
  • the server can recommend other films directed by Quentin Tarantino to the client.
  • the recommended video data corresponding to each video region in the panoramic video may be pre-specified.
  • a panoramic video is uploaded, it can be determined that it contains the number of video regions and what is displayed in each video region.
  • the technique of image recognition described in step S1 may be employed to determine the number of video regions included in the panoramic video and the theme corresponding to each video region.
  • the server can assign associated recommended video data to each video region.
  • recommended video data is allocated, recommended video data having the same theme can be assigned to each video area.
  • the panoramic video includes three video areas, and the theme of the content displayed in the three video areas may be “volleyball game”, “performance” and “seascape” respectively.
  • the recommended video data of the same topic can be allocated to the video area.
  • the association between the identifier of the video area and the recommended video data may be stored in the server. In this way, after the server receives the viewing area information, the identifier of the target video area may be extracted from the viewing area information, and then the recommended video associated with the identifier of the target video area may be queried according to the locally stored association relationship. Data so that the recommended video data can be fed back to the client.
  • the content displayed in the video represented by the recommended video data is adapted to the content displayed in the target video area, and may refer to the content displayed in the video represented by the recommended video data and the target video area.
  • the content displayed is identical or similar in at least one respect.
  • both videos have the same actors, the same scenery, the same director, the same theme, the same year, and so on.
  • the overall content displayed by the video represented by the recommended video data may be adapted to the content displayed in the target video area.
  • the content displayed in the target video area is a movie directed by a director
  • the overall content displayed by the video represented by the recommended video data may be another movie directed by the director.
  • the video represented by the recommended video data may also be a panoramic video, and the content displayed in one area of the panoramic video is adapted to the content displayed in the target video area.
  • the server may feed back to the client a panoramic video about the basketball game, but the cheerleading performance may also be displayed in an area of the panoramic video.
  • the video content that is adapted to the content displayed in the target video region may be directly displayed in the current line of sight of the user.
  • the client can directly display the video area of the cheerleading performance to the user instead of presenting the video area of the basketball game to the user.
  • the user views the panoramic video of the real-time travel in Dubai on the video website through the head-mounted VR glasses.
  • three video regions may be included, which are located directly in front of the user, on the left side, and above.
  • the identifiers of the three video areas may be "A001", “A002", and "A003", respectively.
  • the music and dance performance in the hotel is displayed in front of the user.
  • the left side of the user shows the beautiful fountain in the hotel, and the top of the user shows the famous artist's famous painting.
  • the user watches the panoramic video he is very interested in the famous painting displayed above, and the user can look up at the famous painting above.
  • the gyroscope in the VR glasses can feed back the angle between the user's current line of sight and the reference line of sight as the pitch angle of 80 degrees and the azimuth angle of 10 degrees according to the degree of inversion of the VR glasses.
  • the angle range of the video area where the upper famous painting is located is: the azimuth angle is from -40 degrees to 40 degrees, and the pitch angle is from 50 degrees to 90 degrees.
  • the VR glasses can determine at this time that the user is currently watching the video area where the above-mentioned famous painting is located, so that the identifier "A003" of the video area can be fed back to the server of the video website.
  • the association between the identifier of the video area and the video tag can be stored in the server of the video website. Then according to "A003", you can find the related labels such as "mural painting”, “Michelangelo”, “Renaissance” and so on.
  • the server may query the video data including any one of the above three tags in the locally stored video data, and feed the queried video data to the VR glasses. In this way, the VR glasses can render the video data fed back by the server to the current page after the user views the full scene video for the user to select to view.
  • each of the video regions in the panoramic video may be bound to at least one video tag.
  • the video tag can be determined based on the video displayed in the video area.
  • each video tag can embody an aspect of the video displayed in the video area. Please refer to Figure 3.
  • the video area In a video area, the video of China's football match against South Korea is displayed. Then the video area can have these video labels such as "soccer”, “national football”, “World Cup” and "Bird's Nest".
  • a video tag such as "beauty”, “pull team”, “competition performance” may be provided.
  • the video tag bound to the video area may be pre-specified by the uploader of the panoramic video.
  • an uploader may pre-assign a total of three video regions in the panoramic video, and the labels of the video content displayed in the three video regions may be respectively “ Volleyball match, "performance” and "sea view”.
  • the video tag bound to the video area may also be obtained by technology recognition of image recognition.
  • an image material library can usually be provided.
  • materials of various scenes that may appear in the video, and video tags corresponding to the respective materials may be stored.
  • the material of these scenes can be stored in the form of feature vectors.
  • feature vectors of respective video regions in the panoramic video can be analyzed in real time, and the distance between the analyzed feature vector and the feature vector in the image material library can be calculated.
  • the calculated distance is less than the specified threshold, it indicates that the content displayed in the video area is similar to a material in the image library.
  • the label corresponding to the similar material can be used as the video label bound to the video area.
  • the server may determine at least one target video tag bound to the target video area represented by the viewing area information, and based on the at least one target.
  • the video tag feeds back the recommended video data to the client.
  • various video data stored in the server can be associated with a series of tags. In this way, multiple videos with the same tag can be considered as associated videos. The greater the number of identical tags, the higher the similarity between the two videos.
  • at least one target video tag bound to the target video area can first be determined.
  • the method of determining the at least one target video tag may include randomly extracting a specified number of non-repeating video tags from the video tags bound to the target video region, and using the extracted video tags as the target video tags. Moreover, the method of determining the at least one target video tag may further include counting the number of times each video tag is used as a search term, and using a specified number of video tags having a higher number of statistics as the target video tag.
  • the recommended video data may be fed back to the client based on the at least one target video tag.
  • the content displayed in the video represented by the recommended video data may be adapted to the content displayed in the target video region.
  • the matching may refer to that the video characterized by the recommended video data is provided with at least one of the target video tags.
  • the server can determine that the target video tag bound to the target video area can be "Quentin Tarantino" ", "drama", “black liberation” and so on.
  • the server can recommend other videos directed by Quentin Tarantino to the client, all of which have video tags of "Quentin Tarantino".
  • the video region in the panoramic video may be associated with angle information that may be used to characterize the location of the video region in the panoramic video.
  • the angle information associated with the video region in the panoramic video may be represented by an azimuth and/or a pitch angle, and may also be represented by longitude and/or latitude.
  • the angle information may include start angle information and end angle information, so that the angle interval of the video area may be jointly defined by the start angle information and the end angle information.
  • the two warp threads and two weft lines are defined on the sphere video.
  • the area can be the video area.
  • the designated observation point of the panoramic video may generally have an initial observation line of sight, which may be pre-specified in the panoramic video data.
  • the initial observed line of sight can be used as a reference line of sight.
  • the line of sight of the specified observation point of the panoramic video can be changed by flipping the client or interacting with the display of the client.
  • the deviation between the changed line of sight and the initial observed line of sight can be utilized to characterize the current line of sight of the user.
  • the azimuth angle corresponding to the initial observation line of sight may be 0 degrees, then when the user adjusts the line of sight of the specified observation point left and right, an angle may exist between the current line of sight and the initial observation line of sight.
  • the size can be used to characterize the location of the user's current line of sight. For example, when the angle is 30 degrees, it may indicate that the specified observation point is deflected to the right by 30 degrees from the position of the initial observation line of sight; for example, when the angle is -30 degrees, the specified observation may be indicated. The point is deflected 30 degrees to the left from the position of the initial observation line of sight. It should be noted that the angle interval corresponding to each video area in the panoramic video and the angle used to represent the current line of sight of the user can all adopt the same reference line of sight, thereby ensuring the uniformity of the angle.
  • the viewing area information received by the server may include an angle between the current line of sight of the user and the reference line of sight.
  • the angle interval in which the angle in the viewing area information is located can be determined, so that the target video area that the user is currently viewing can be determined.
  • the determined video region corresponding to the angle interval may be determined as the target video region currently viewed by the user. For example, if the current line of sight of the user corresponds to an angle of 45 degrees, and a certain video area corresponds to an angle range of -50 degrees to 50 degrees, then it can be determined that the user is currently viewing the video area.
  • the panoramic video data when the server feeds back the panoramic video data to the client, the panoramic video data may include video tag data, where the video tag data is used to represent each block. At least one video tag bound to the video area. In the video tag data, an association relationship between the identifier of the video area and the video tag may be included. In this way, after receiving the panoramic video data, the client can store the video tag data in the panoramic video data in the local cache, and can obtain the corresponding video tag according to the identifier of the video area.
  • the method may further include the following steps.
  • S31 Receive at least one target video tag sent by the client, where the target video tag is determined according to a target video area viewed by the user.
  • the client may render the panoramic video data as a panoramic video, and may store the video tag data in the panoramic video data in a local cache.
  • the client may determine the target video area currently viewed by the user by using the scheme described in step S3. After determining the target video area, the client may query the video tag corresponding to the target video area according to the video tag data in the local cache. After querying the video tag corresponding to the target video area, the client may send the whole or a part of the queried video tag as the target video tag to the server. Specifically, when extracting a part of the tags from the queried video tags, a specified number of non-repeating video tags may be randomly extracted, and the extracted video tags are used as the target video tags.
  • the target video tag sent by the client to the server can be determined according to the target video area viewed by the user.
  • S41 Feeding recommended video data to the client based on the at least one target video tag; wherein the video rendered according to the recommended video data is provided with at least one target video tag.
  • various video data stored in the server may be provided with a series of video tags.
  • multiple videos with the same tag can be considered as associated videos.
  • the server can feed back the recommended video data to the client based on the at least one target video tag.
  • the recommended video data fed back by the server to the client may be: the video rendered according to the recommended video data is provided with at least one target video tag.
  • the server can determine that the target video tag bound to the target video area can be "Quentin Tarantino" ", "drama", "black liberation” and so on.
  • the server can recommend other videos directed by Quentin Tarantino to the client, all of which have video tags of "Quentin Tarantino".
  • the viewing area information may further include a duration for the user to view the target video area. Specifically, the duration may be obtained by counting the total duration of the user's line of sight staying in the target video area. In this way, when the recommended video data is fed back to the client, it can be determined whether the duration of the user viewing the target video area is sufficiently long. Specifically, when the duration of the user watching the target video area reaches a specified length of time, the recommended video data is fed back to the client.
  • the specified duration may be 1 minute, and when the user views the target video area for 1 minute, the client feedback that can be used by the user is adapted to the content displayed in the target video area. Recommended video data. If the duration of the user viewing the target video area does not reach 1 minute, the recommended video data is not fed back to the client based on the target video area.
  • the video area can be associated with the angle information and can also be associated with the video label, and the angle information can also be associated with the video label.
  • the angular interval represented by the angle information can be associated with at least one video tag, and the association relationship can be stored in the server. Then, when the client obtains the angle corresponding to the current line of sight of the user, the angle can be sent to the server.
  • the server can determine the video tag corresponding to the current line of sight of the user according to the angle interval in which the angle is located.
  • association relationship may also be sent by the server to the client, so that after determining the angle, the client may locally query the angle interval in which the angle is located, so that the client can obtain The video tag corresponding to the user's current line of sight, so that the obtained video tag can be directly fed back to the server.
  • the present application further provides a server including a network communication port 100, a memory 200, and a processor 300.
  • the network communication port 100 is configured to receive a video loading request and a viewing area information sent by the client, and feed back the panoramic video data and the recommended video data to the client.
  • the memory 200 is configured to store panoramic video data.
  • the processor 300 is configured to receive, by using the network communication port, a video loading request sent by the client, where the video loading request is directed to the panoramic video data in the memory; wherein the panoramic video data is characterized
  • the panoramic video includes at least two video regions displaying different content; controlling the network communication port to feed back the panoramic video data to the client, so that the client obtains the according to the panoramic video data rendering a panoramic video; receiving, by the network communication port, viewing area information sent by the client, where the viewing area information is used to represent a target video area currently viewed by the user; and controlling the network communication port based on the viewing area information
  • the recommended video data is fed back to the client; wherein the content displayed in the video characterized by the recommended video data is adapted to the content displayed in the target video region.
  • the network communication port 100 may be a virtual port that is bound to a different communication protocol so that different data can be transmitted or received.
  • the network communication port may be port 80 responsible for web data communication, port 21 responsible for FTP data communication, and port 25 responsible for mail data communication.
  • the network communication port can also be a physical communication interface or a communication chip.
  • it may be a wireless mobile network communication chip, such as GSM, CDMA, etc.; it may also be a Wifi chip; it may also be a Bluetooth chip.
  • the memory 200 may be a memory device for storing information.
  • a device capable of storing binary data may be a memory; in an integrated circuit, a circuit having a storage function without a physical form may also be a memory such as a RAM, a FIFO, etc.; in the system, having a physical form of storage
  • the device can also be called a memory, such as a memory stick, a TF card, or the like.
  • the processor 300 can be implemented in any suitable manner.
  • a processor can employ, for example, a microprocessor or processor and a computer readable medium, logic gate, switch, application specific integrated circuit that stores computer readable program code (eg, software or firmware) executable by the (micro)processor. (Application Specific Integrated Circuit, ASIC), programmable logic controller and embedded microcontroller form, etc. This application is not limited.
  • the specific functions implemented by the network communication port 100, the memory 200, and the processor 300 of the server disclosed in the above embodiments may be compared with the implementation manner of the video recommendation method on the server side in the present application, and the video recommendation method of the present application may be implemented.
  • the embodiment achieves the technical effect of the method embodiment.
  • the application also provides a video recommendation method, which can be applied to the client.
  • the method may include the following steps.
  • S10 Send a video loading request to the server, the video loading request pointing to the panoramic video data in the server.
  • a link of the panoramic video may be displayed in the client.
  • the link can be a text link, a picture link, or a video link.
  • the user can send a video load request to the server by clicking on the link.
  • the user may further input a Uniform Resource Locator (URL) pointing to the panoramic video data in the client, so as to send a video loading request to the server according to the URL.
  • URL Uniform Resource Locator
  • the video loading request may be a character string that is written according to a preset rule.
  • the preset rule may be a network communication protocol that is followed between the client and the server.
  • the video loading request may be a string written in accordance with the HTTP protocol.
  • the preset rule may define various components in the video loading request and an order of arrangement between the respective components.
  • the video loading request may include a request identifier field, a source IP address field, and a destination IP address field.
  • the request identification field may populate an identification of the panoramic video data.
  • the source IP address field may fill in an IP address of the client, and the target IP address field may fill in an IP address of the server. In this way, the video loading request can be sent from the client to the server.
  • a panoramic video database may be provided in the server.
  • the panoramic video database may be a data set that stores panoramic video data.
  • the panoramic video database may adopt any one of database formats such as MySQL, Oracle, DB2, and Sybase.
  • the panoramic video database can be deployed on a storage medium in the server.
  • various panoramic video data may be stored in the panoramic video database.
  • Each panoramic video data in the panoramic video database may have its own data identification.
  • the data identifier and the panoramic video data may be stored in the form of a key-value (key-value pair), so that the corresponding panoramic video data can be obtained from the panoramic video database by using the provided data identifier. .
  • the video loading request to the panoramic video data in the server may refer to the identifier that carries the panoramic video data in the video loading request.
  • the server may extract the identifier of the panoramic video data from the video loading request.
  • the server may read the panoramic video data having the identifier from the panoramic video database.
  • S20 Receive the panoramic video data fed back by the server, and obtain a panoramic video according to the panoramic video data rendering; the panoramic video includes at least two video regions that display different content.
  • the panoramic video data may be fed back to the client.
  • the client may render the panoramic video data into a corresponding panoramic video based on a drawing standard.
  • the panoramic video data may be rendered in a spatial coordinate system to obtain a sphere video characterized by the panoramic video data.
  • the center of the sphere video can have a specified observation point. By adjusting the viewing angle of the specified observation point, different portions of the sphere video can be displayed on the display of the client.
  • the panoramic video usually has a large amount of information, and different video contents can be displayed in different areas of the panoramic video.
  • a panoramic video showing a beach volleyball game the user is playing beach volleyball in front of the user.
  • the left side of the user is a cheerleading performance on the side of the field, and the user is behind the sea and the beach.
  • at least two video regions displaying different content may be included.
  • at least three video areas may be included, which show beach volleyball matches, cheerleading performances, and sea and beach scenery.
  • S30 Acquire current viewing area information of the user, and send the viewing area information to the server; the viewing area information is used to represent a target video area currently viewed by the user.
  • the user can view the panoramic video through the display of the client. Specifically, the user can change the line of sight of the specified observation point of the panoramic video by flipping the client or interacting with the display of the client, so that the video content displayed on the display can be changed.
  • the video picture currently displayed on the display of the client may be content that is of interest to the user.
  • the video area currently displayed on the display can be used as the target video area currently viewed by the user.
  • the video area may be used as the target video area.
  • the area of the cheerleading performance occupies 90% of the entire display, so it can be judged that the user is really interested in the video area showing the cheerleading performance.
  • the pupil of the user can also be identified to determine the video area to which the user's current line of sight is aligned, so that the video area to which the user's line of sight is aligned can be used as the target video. region.
  • the video region in the panoramic video may also be characterized by angle information, such that each of the video regions may be associated with angle information.
  • angle information associated with the video region in the panoramic video may be represented by an azimuth and/or pitch angle, and may also be represented by longitude and/or latitude.
  • the angle information may include start angle information and end angle information, so that the angle interval of the video area may be jointly defined by the start angle information and the end angle information.
  • the area defined on the sphere video according to the two warps and two weft lines is It can be the video area.
  • the designated observation point of the panoramic video may generally have an initial observation line of sight, which may be pre-specified in the panoramic video data.
  • the initial observation line of sight can be used as a reference line of sight.
  • the line of sight of the specified observation point of the panoramic video can be changed by flipping the client or interacting with the display of the client.
  • the user's current line of sight can be characterized by the deviation between the changed line of sight and the initial observed line of sight. For example, the azimuth angle corresponding to the initial observation line of sight may be 0 degrees, then when the user adjusts the line of sight of the specified observation point left and right, an angle may exist between the current line of sight and the initial observation line of sight.
  • the size can be used to characterize the location of the user's current line of sight. For example, when the angle is 30 degrees, it may indicate that the specified observation point is deflected to the right by 30 degrees from the position of the initial observation line of sight; for example, when the angle is -30 degrees, the specified observation may be indicated. The point is deflected 30 degrees to the left from the position of the initial observation line of sight. It should be noted that the angle interval corresponding to each video area in the panoramic video and the angle used to represent the current line of sight of the user can all adopt the same reference line of sight, thereby ensuring the uniformity of the angle.
  • the target video area that the user is currently viewing can be determined according to the angle interval in which the angle corresponding to the user's current line of sight is located. For example, if the angle corresponding to the current line of sight of the user is 45 degrees, and the angle range corresponding to a certain video area is -50 degrees to 50 degrees, it can be determined that the user is currently viewing the video area.
  • the viewing area information may be sent to the server, where the viewing area information may be used to represent the target video area currently viewed by the user.
  • the viewing area information may have various forms.
  • the viewing area information may include an angle corresponding to a video currently viewed by the user. Then, after the server receives the viewing area information sent by the client, the angle can be extracted, and then the angle can be matched with the angle interval of each video area, so that the target video area currently viewed by the user can be determined.
  • the viewing area information may further include an identifier of the video area.
  • the identification of the video area may be a character string capable of uniquely characterizing the video area. For example, if a total of three video regions are included in one panoramic video, the identifiers of the three video regions may be “A001”, “A002”, and “A003”, respectively.
  • the server feeds back the panoramic video data to the client, the panoramic video data may include an identifier of each video region.
  • the identifier of the target video area may be added to the viewing area information. In this way, the server may extract an identifier of the video area carried in the viewing area information, and according to the identifier, the target video area currently viewed by the user may be determined.
  • S40 Receive recommended video data fed back by the server; content displayed in the video represented by the recommended video data is adapted to content displayed in the target video area.
  • the server may feed back the recommended recommended video data to the client according to the content displayed in the target video area.
  • the video displayed in the target video area can usually have more tags, and each tag can reflect one aspect of the video.
  • tags For example, in a video of a Chinese football match against South Korea, you can have such labels as “Football”, “National Football”, “World Cup Qualifier”, “Korea”, “Oriental Universities”.
  • labels such as “Quentin Tarantino”, “Oscar Best Movie”, “Leonardo DiCaprio”, “Plot”, “English Soundtrack”, etc. .
  • various video data stored in the server may be associated with a series of tags.
  • multiple videos with the same tag can be considered as associated videos.
  • the greater the number of identical tags the higher the similarity between the two videos.
  • the server can recommend other films directed by Quentin Tarantino to the client.
  • the recommended video data corresponding to each video region in the panoramic video may be pre-specified.
  • a panoramic video is uploaded, it can be determined that it contains the number of video regions and what is displayed in each video region.
  • the technique of image recognition described in step S1 may be employed to determine the number of video regions included in the panoramic video and the theme corresponding to each video region.
  • the server can assign associated recommended video data to each video region.
  • recommended video data is allocated, recommended video data having the same theme can be assigned to each video area.
  • the panoramic video includes three video areas, and the theme of the content displayed in the three video areas may be “volleyball game”, “performance” and “seascape” respectively.
  • the recommended video data of the same topic can be allocated to the video area.
  • the association between the identifier of the video area and the recommended video data may be stored in the server. In this way, after the server receives the viewing area information, the identifier of the target video area may be extracted from the viewing area information, and then the recommended video associated with the identifier of the target video area may be queried according to the locally stored association relationship. Data so that the recommended video data can be fed back to the client.
  • the content displayed in the video represented by the recommended video data is adapted to the content displayed in the target video area, and may refer to the content displayed in the video represented by the recommended video data and the target video area.
  • the content displayed is identical or similar in at least one respect.
  • both videos have the same actors, the same scenery, the same director, the same theme, the same year, and so on.
  • the specified observation point of the panoramic video may generally have an initial observation line of sight, which may be pre-specified in the panoramic video data.
  • the initial observation line of sight can be used as a reference line of sight.
  • the line of sight of the specified observation point of the panoramic video can be changed by flipping the client or interacting with the display of the client. The angle between the changed line of sight and the initial observed line of sight can be utilized to characterize the user's current line of sight.
  • the azimuth angle corresponding to the initial observation line of sight may be 0 degrees, then when the user adjusts the line of sight of the specified observation point left and right, an angle may exist between the current line of sight and the initial observation line of sight.
  • the size can be used to characterize the location of the user's current line of sight. For example, when the angle is 30 degrees, it may indicate that the specified observation point is deflected to the right by 30 degrees from the position of the initial observation line of sight; for example, when the angle is -30 degrees, the specified observation may be indicated. The point is deflected 30 degrees to the left from the position of the initial observation line of sight. In this way, after determining the angle between the current line of sight of the user and the reference line of sight, the angle may be used as the current viewing area information of the user.
  • the identifier of each block of video regions may be included in the panoramic video data. Then, when the current viewing area information of the user is obtained, the video area with the largest area is displayed in the current viewing area of the user, and the identifier of the video area with the largest display area is used as the current viewing area information of the user.
  • the current view of the user may refer to the area displayed by the display of the client to the user. Specifically, when only one video area is displayed on the display, the video area can be used as the target video area. When at least two video regions are displayed on the display, it is necessary to make a determination on the video region that the user is really interested in.
  • a video area having the largest display area in the display may be determined, and a video area having the largest display area is used as the target video area.
  • some of the video images displayed on the display are volleyball matches, and the other part is a cheerleading performance.
  • the area of the cheerleading performance occupies 90% of the entire display, so it can be judged that the user is really interested in the video area showing the cheerleading performance.
  • the panoramic video data may include an identifier of each video area.
  • the identification of the video area may be a character string capable of uniquely characterizing the video area.
  • the identifiers of the three video regions may be “A001”, “A002”, and “A003”, respectively. Then, after the client determines the target video area currently viewed by the user, the identifier of the target video area may be used as the current viewing area information of the user.
  • the line of sight of the user may be determined, and the identifier of the video area in which the line of sight of the user is aligned is used as the current viewing of the user.
  • the area information in particular, when the user is using the VR glasses, the video area to which the user's current line of sight is aligned can be determined by identifying the pupil of the user, so that the video area to which the user's line of sight is aligned can be used as the Target video area.
  • the panoramic video data may further include an angular interval of each block of video regions.
  • the video regions in the panoramic video may be characterized by angle information such that each of the video regions may be associated with angle information.
  • the angle information associated with the video region in the panoramic video may be represented by an azimuth and/or a pitch angle, and may also be represented by longitude and/or latitude.
  • the angle information may include start angle information and end angle information, so that the angle interval of the video area may be jointly defined by the start angle information and the end angle information.
  • the area defined on the sphere video according to the two warps and two weft lines is It can be the video area.
  • the angle between the current line of sight of the user and the reference line of sight can be determined, and the angle interval in which the angle is located can be determined, so that the determined angle interval can be determined as The current viewing area information of the user.
  • the client can feed the angle range of -50 degrees to 50 degrees as the viewing area information to the server.
  • the panoramic video data may further include video tag data, where the video tag data may be used to represent at least one video tag to which each of the video regions is bound.
  • the video tag data an association relationship between the identifier of the video area and the video tag may be included.
  • the client may render the panoramic video data as a panoramic video, and may store the video tag data in the panoramic video data in a local cache.
  • the client may determine the target video area currently viewed by the user by using the scheme described in step S30. After determining the target video area, the client may query the video tag corresponding to the target video area according to the video tag data in the local cache. After querying the video tag corresponding to the target video area, the client may send the whole or a part of the queried video tag as the target video tag to the server. Specifically, when extracting a part of the tags from the queried video tags, a specified number of non-repeating video tags may be randomly extracted, and the extracted video tags are used as the target video tags.
  • the client can determine at least one target video tag that is bound to the target video area currently viewed by the user, and send the at least one target video tag to the server.
  • the content displayed in the video represented by the recommended video data is adapted to the content displayed in the target video area, and may refer to that the video represented by the recommended video data is provided with at least one target video tag.
  • the present application further provides a client, which includes a network communication port 110, a display 210, and a processor 310.
  • the network communication port 110 is configured to send a video loading request and viewing area information to the server, and receive the panoramic video data and the recommended video data fed back by the server;
  • the display 210 is configured to display a panoramic video represented by the panoramic video data and display a video represented by the recommended video data;
  • the processor 310 is configured to control the network communication port to send a video loading request to a server, where the video loading request is directed to the panoramic video data in the server; and the network communication port receives the feedback that is sent by the server And obtaining panoramic video according to the panoramic video data, and the panoramic video includes at least two video regions displaying different contents; acquiring current viewing area information of the user, and controlling the network communication port to The server sends the viewing area information; the viewing area information is used to represent a target video area currently viewed by the user; the recommended video data fed back by the server is received through the network communication port; and the recommended video data is represented in the video The displayed content is adapted to the content displayed in the target video area.
  • the network communication port 110 may be a virtual port that is bound to a different communication protocol so that different data can be transmitted or received.
  • the network communication port may be port 80 responsible for web data communication, port 21 responsible for FTP data communication, and port 25 responsible for mail data communication.
  • the network communication port can also be a physical communication interface or a communication chip.
  • it may be a wireless mobile network communication chip, such as GSM, CDMA, etc.; it may also be a Wifi chip; it may also be a Bluetooth chip.
  • the display 210 may be a display tool that displays a certain electronic file to a screen through a specific transmission device and then reflects it to the human eye.
  • the display may include a liquid crystal display (LCD), a cathode ray tube (CRT) display, a light emitting diode (LED) display, and the like.
  • the processor 310 can be implemented in any suitable manner.
  • a processor can employ, for example, a microprocessor or processor and a computer readable medium, logic gate, switch, application specific integrated circuit that stores computer readable program code (eg, software or firmware) executable by the (micro)processor. (Application Specific Integrated Circuit, ASIC), programmable logic controller and embedded microcontroller form, etc. This application is not limited.
  • the specific functions implemented by the network communication port 110, the display 210, and the processor 310 of the client disclosed in the foregoing embodiments may be compared with the implementation manner of the video recommendation method on the client side of the present application, and the present application may be implemented.
  • the implementation of the video recommendation method achieves the technical effect of the method implementation.
  • the present application can receive viewing area information sent by the client, and the viewing area information can be used to represent the target video area currently viewed by the user when viewing the panoramic video. Then, when the video is recommended to the user, the video adapted to the content of the display may be recommended to the user according to the content displayed in the target video area. In this way, although the information contained in the panoramic video is more, the technical solution of the present application can recommend the video that is really interested to the user according to the video area actually viewed by the user, thereby improving the effectiveness of the video recommendation.
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • HDL Hardware Description Language
  • the logic steps can be used to make the client and the server use logic gates, switches, ASICs, and programmable logic. Controllers and embedded microcontrollers, etc., implement the same functionality.
  • a client, server can be considered a hardware component, and the means for implementing various functions included therein can also be considered as a structure within the hardware component.
  • a device for implementing various functions can be considered as a software module that can be both a method of implementation and a structure within a hardware component.
  • the present application can be implemented by means of software plus a necessary general hardware platform. Based on such understanding, the technical solution of the present application may be embodied in the form of a software product in essence or in the form of a software product, which may be stored in a storage medium such as a ROM/RAM or a disk. , an optical disk, etc., includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods described in various embodiments of the present application or portions of the embodiments.
  • a computer device which may be a personal computer, server, or network device, etc.
  • the application can be described in the general context of computer-executable instructions executed by a computer, such as a program module.
  • program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types.
  • the present application can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network.
  • program modules can be located in both local and remote computer storage media including storage devices.

Abstract

Disclosed by the embodiments of the present application are a video recommendation method, server, and client, said method comprising: receiving a video load request sent by a client, said video load request referring to panoramic video data; the panoramic video characterized by said panoramic video data comprising at least two video areas displaying different content; feeding said panoramic video data back to said client, so that the client obtains the panoramic video according to the rendering of the panoramic video data; receiving view area information sent by the client, said view area information being used for characterizing the target video area currently being viewed by a user; on the basis of said view area information, feeding recommended video data back to the client; the content displayed in the video characterized by the recommended video data corresponds to the content displayed in the target video area. The technical solution provided by the present application provides to the user a video meeting said user's actual requirements, thereby improving the effectiveness of video recommendation.

Description

一种视频推荐方法、服务器及客户端Video recommendation method, server and client
本申请要求于2017年04月21日递交的申请号为201710267151.7、发明名称为“一种视频推荐方法、服务器及客户端”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims the priority of the Chinese Patent Application No. 201710267151.7, entitled "A Video Recommendation Method, Server and Client", filed on April 21, 2017, the entire contents of which is incorporated herein by reference. .
技术领域Technical field
本申请涉及互联网技术领域,特别涉及一种视频推荐方法、服务器及客户端。The present application relates to the field of Internet technologies, and in particular, to a video recommendation method, a server, and a client.
背景技术Background technique
随着互联网技术的不断发展以及网络传输速度的不断攀升,人们越来越习惯于通过视频网站(以及视频网站对应的视频应用)在线观看视频。目前,由于网络中视频的数量十分巨大,视频网站通常会为用户提供视频搜索和视频推荐功能,以使得用户能够从众多的视频中寻找到自己感兴趣的视频。With the continuous development of Internet technology and the increasing speed of network transmission, people are more and more accustomed to watching videos online through video websites (and video applications corresponding to video websites). At present, due to the huge amount of video on the network, video websites usually provide users with video search and video recommendation functions, so that users can find videos of their own interest from numerous videos.
目前,在进行视频推荐时,视频网站通常会预先为各个视频打上多个标签,这些标签可以用于表明视频的内容。例如,这些标签中可以包括表明视频题材的“惊悚”、“言情”等标签,还可以包括表明视频演员的“张三”、“王二”等标签。当用户观看了一部分视频之后,视频网站的业务服务器可以统计这些视频的标签,从而得出用户感兴趣的视频类型。这样,便可以根据统计的结果,向不同的用户推荐不同的视频。Currently, when making video recommendations, video sites usually pre-populate multiple videos with tags that can be used to indicate the content of the video. For example, these tags may include labels such as "stunning" and "speech" indicating the subject matter of the video, and may also include labels such as "Zhang San" and "Wang Er" indicating the video actors. After the user views a portion of the video, the video server's business server can count the tags of the videos to derive the type of video the user is interested in. In this way, different videos can be recommended to different users based on the statistical results.
然而,随着全景视频的普及,上述的视频推荐方法可能会存在以下问题:However, with the popularity of panoramic video, the above video recommendation method may have the following problems:
相比于传统的平面视频,全景视频中展示的信息量更加丰富。例如,在一个展示足球比赛的全景视频中,正对用户的可以是足球比赛的视频,而在用户视线左侧可以是拉拉队表演的视频。当用户在观看全景视频时,其可能只对拉拉队表演感兴趣,而对足球比赛不感兴趣。如果按照现有技术中视频推荐的方式,视频网站通常会在用户观看完该全景视频后,向该用户推荐一系列的足球比赛视频,这就会造成推荐的视频无法满足用户真实需求的问题。由上可见,在应用到全景视频的场景中时,现有技术中视频推荐的方法可能会存在无法准确地向用户推荐其感兴趣的视频的问题。Compared to traditional flat video, the amount of information displayed in panoramic video is more abundant. For example, in a panoramic video showing a football match, the user facing the video may be a video of the football game, and on the left side of the user's line of sight may be a video of the cheerleading performance. When the user is watching a panoramic video, it may only be interested in cheerleading performances and not in football competitions. According to the method recommended by the video in the prior art, the video website usually recommends a series of soccer game videos to the user after viewing the panoramic video, which may cause the recommended video to fail to meet the real needs of the user. It can be seen from the above that when applied to a scene of panoramic video, the method of video recommendation in the prior art may have the problem that the video of interest is not accurately recommended to the user.
发明内容Summary of the invention
本申请实施方式的目的是提供一种视频推荐方法、服务器及客户端,以能够向用户提供满足其真实需求的视频,从而提高视频推荐的有效性。The purpose of the embodiments of the present application is to provide a video recommendation method, a server, and a client, so as to be able to provide a video to the user that meets its real needs, thereby improving the effectiveness of the video recommendation.
为实现上述目的,本申请实施方式提供一种视频推荐方法,所述方法包括:接收客户端发来的视频加载请求,所述视频加载请求指向全景视频数据;其中,所述全景视频数据表征的全景视频中包括至少两块展示不同内容的视频区域;向所述客户端反馈所述全景视频数据,以使得所述客户端根据所述全景视频数据渲染来得到所述全景视频;接收所述客户端发来的观看区域信息,所述观看区域信息用于表征用户当前观看的目标视频区域;基于所述观看区域信息,向所述客户端反馈推荐视频数据;其中,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。To achieve the above objective, an embodiment of the present application provides a video recommendation method, where the method includes: receiving a video loading request sent by a client, where the video loading request is directed to panoramic video data; wherein the panoramic video data is characterized The panoramic video includes at least two video regions displaying different contents; feeding the panoramic video data to the client, so that the client obtains the panoramic video according to the panoramic video data rendering; receiving the client The viewing area information sent by the end, the viewing area information is used to represent the target video area currently viewed by the user; and the recommended video data is fed back to the client based on the viewing area information; wherein the recommended video data is characterized The content displayed in the video is adapted to the content displayed in the target video area.
为实现上述目的,本申请实施方式还提供一种服务器,所述服务器包括网络通信端口、存储器以及处理器,其中:所述网络通信端口,用于接收客户端发来的视频加载请求和观看区域信息,并向所述客户端反馈全景视频数据和推荐视频数据;所述存储器,用于存储全景视频数据;所述处理器,用于通过所述网络通信端口接收所述客户端发来的视频加载请求,所述视频加载请求指向所述存储器中的全景视频数据;其中,所述全景视频数据表征的全景视频中包括至少两块展示不同内容的视频区域;控制所述网络通信端口向所述客户端反馈所述全景视频数据,以使得所述客户端根据所述全景视频数据渲染来得到所述全景视频;通过所述网络通信端口接收所述客户端发来的观看区域信息,所述观看区域信息用于表征用户当前观看的目标视频区域;基于所述观看区域信息,控制所述网络通信端口向所述客户端反馈推荐视频数据;其中,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。To achieve the above objective, an embodiment of the present application further provides a server, where the server includes a network communication port, a memory, and a processor, where the network communication port is configured to receive a video loading request and a viewing area sent by the client. And feeding back the panoramic video data and the recommended video data to the client; the memory is configured to store the panoramic video data; the processor is configured to receive the video sent by the client by using the network communication port Loading a request, the video loading request is directed to the panoramic video data in the memory; wherein the panoramic video characterized by the panoramic video data includes at least two video regions exhibiting different content; controlling the network communication port to the The client feeds back the panoramic video data, so that the client obtains the panoramic video according to the panoramic video data rendering; and receives viewing area information sent by the client through the network communication port, the viewing The area information is used to represent the target video area currently viewed by the user; See area information, feedback controls the network communication port recommended video data to the client; wherein the recommended content data characterizing the video displayed in the video display with the video content in the target area adapted.
为实现上述目的,本申请实施方式还提供一种视频推荐方法,所述方法包括:向服务器发送视频加载请求,所述视频加载请求指向所述服务器中的全景视频数据;接收所述服务器反馈的所述全景视频数据,并根据所述全景视频数据渲染来得到全景视频;所述全景视频中包括至少两块展示不同内容的视频区域;获取用户当前的观看区域信息,并向所述服务器发送所述观看区域信息;所述观看区域信息用于表征用户当前观看的目标视频区域;接收所述服务器反馈的推荐视频数据;所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。To achieve the above objective, the embodiment of the present application further provides a video recommendation method, where the method includes: sending a video loading request to a server, the video loading request is directed to the panoramic video data in the server; and receiving the feedback from the server And the panoramic video data is obtained according to the panoramic video data, and the panoramic video includes at least two video regions displaying different content; acquiring current viewing area information of the user, and sending the information to the server Viewing area information; the viewing area information is used to represent a target video area currently viewed by the user; receiving recommended video data fed back by the server; content displayed in the video represented by the recommended video data and the target video area The content of the display is adapted.
为实现上述目的,本申请实施方式还提供一种客户端,所述客户端包括网络通信端口、显示器及处理器,其中:所述网络通信端口,用于向服务器发送视频加载请求和观看区域信息,并接收所述服务器反馈的全景视频数据和推荐视频数据;所述显示器,用于显示所述全景视频数据表征的全景视频并显示所述推荐视频数据表征的视频;所述处理器,用于控制所述网络通信端口向服务器发送视频加载请求,所述视频加载请求指向 所述服务器中的全景视频数据;通过所述网络通信端口接收所述服务器反馈的所述全景视频数据,并根据所述全景视频数据渲染来得到全景视频;所述全景视频中包括至少两块展示不同内容的视频区域;获取用户当前的观看区域信息,并控制所述网络通信端口向所述服务器发送所述观看区域信息;所述观看区域信息用于表征用户当前观看的目标视频区域;通过所述网络通信端口接收所述服务器反馈的推荐视频数据;所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。To achieve the above objective, an embodiment of the present application further provides a client, where the client includes a network communication port, a display, and a processor, where the network communication port is configured to send a video loading request and a viewing area information to the server. And receiving the panoramic video data and the recommended video data fed back by the server; the display, configured to display the panoramic video of the panoramic video data representation and display the video of the recommended video data representation; the processor, configured to: Controlling, by the network communication port, a video loading request to the server, the video loading request is directed to the panoramic video data in the server; receiving, by the network communication port, the panoramic video data fed back by the server, and according to the The panoramic video data is rendered to obtain a panoramic video; the panoramic video includes at least two video regions displaying different content; acquiring current viewing area information of the user, and controlling the network communication port to send the viewing area information to the server The viewing area information is used to characterize the user a target video area currently being viewed; receiving recommended video data fed back by the server through the network communication port; content displayed in the video characterized by the recommended video data is adapted to content displayed in the target video area.
由上可见,本申请可以接收客户端发来的观看区域信息,所述观看区域信息可以用于表征用户在观看全景视频时当前所观看的目标视频区域。那么,在向用户推荐视频时,可以根据所述目标视频区域中展示的内容,将与该展示的内容相适配的视频推荐给用户。这样,尽管全景视频中包含的信息较多,但本申请的技术方案还是能够根据用户实际观看的视频区域,向用户推荐其真正感兴趣的视频,从而提高了视频推荐的有效性。As can be seen from the above, the present application can receive viewing area information sent by the client, and the viewing area information can be used to represent the target video area currently viewed by the user when viewing the panoramic video. Then, when the video is recommended to the user, the video adapted to the content of the display may be recommended to the user according to the content displayed in the target video area. In this way, although the information contained in the panoramic video is more, the technical solution of the present application can recommend the video that is really interested to the user according to the video area actually viewed by the user, thereby improving the effectiveness of the video recommendation.
附图说明DRAWINGS
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings to be used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description are only It is a few embodiments described in the present application, and other drawings can be obtained from those skilled in the art without any inventive labor.
图1为本申请实施方式中服务器与客户端的交互示意图;FIG. 1 is a schematic diagram of interaction between a server and a client in an embodiment of the present application;
图2为本申请实施方式中视频区域的示意图;2 is a schematic diagram of a video area in an embodiment of the present application;
图3为本申请实施方式中视频标签与视频区域的关联示意图;3 is a schematic diagram of association between a video tag and a video area in the embodiment of the present application;
图4为本申请实施方式中基于视频标签进行视频推荐的方法流程图;4 is a flowchart of a method for performing video recommendation based on a video tag in an embodiment of the present application;
图5为本申请实施方式中服务器的结构示意图;FIG. 5 is a schematic structural diagram of a server according to an embodiment of the present application;
图6为本申请实施方式中客户端的结构示意图。FIG. 6 is a schematic structural diagram of a client in an embodiment of the present application.
具体实施方式detailed description
为了使本领域技术人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。In order to enable those skilled in the art to better understand the technical solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the drawings in the embodiments of the present application. The manners are only a part of the embodiments of the present application, and not all of them. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present application without departing from the inventive scope shall fall within the scope of the application.
本申请实施方式提供一种视频推荐方法,所述视频推荐方法可以应用于服务器和客户端的系统架构中。所述服务器可以是存储全景视频数据的设备。具体地,所述服务器可以是能够提供视频服务的网站的后台业务服务器。所述网站例如可以是爱奇艺、搜狐视频、Acfun等。在本实施方式中,所述服务器可以为一个具有数据运算、存储功能以及网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件。在本实施方式中并不具体限定所述服务器的数量。所述服务器可以为一个服务器,还可以为几个服务器,或者,若干服务器形成的服务器集群。The embodiment of the present application provides a video recommendation method, which can be applied to a system architecture of a server and a client. The server may be a device that stores panoramic video data. Specifically, the server may be a background service server of a website capable of providing a video service. The website may be, for example, iQiyi, Sohu video, Acfun, and the like. In this embodiment, the server may be an electronic device having a data operation, a storage function, and a network interaction function; or may be software running in the electronic device to provide support for data processing, storage, and network interaction. The number of the servers is not specifically limited in the present embodiment. The server may be a server, or may be several servers, or a server cluster formed by several servers.
在本实施方式中,所述客户端可以是用于渲染全景视频数据的电子设备。具体地,所述客户端例如可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、具有网络访问功能的电视机等。或者,所述客户端也可以为能够运行于上述电子设备中的软件。具体的,所述客户端可以为电子设备中的浏览器,所述浏览器中可以加载视频网站平台提供的访问入口。所述视频网站平台例如可以是爱奇艺、搜狐视频、Acfun等,所述访问入口可以是上述网站平台的首页。所述客户端还可以是视频网站平台提供的在智能终端中运行的应用。In this embodiment, the client may be an electronic device for rendering panoramic video data. Specifically, the client may be, for example, a desktop computer, a tablet computer, a notebook computer, a smart phone, a digital assistant, a smart wearable device, a shopping guide terminal, a television set with network access function, or the like. Alternatively, the client may also be software capable of running in the above electronic device. Specifically, the client may be a browser in an electronic device, and an access portal provided by the video website platform may be loaded in the browser. The video website platform may be, for example, iQiyi, Sohu video, Acfun, etc., and the access portal may be the first page of the website platform. The client may also be an application running in the smart terminal provided by the video website platform.
本申请实施方式提供一种视频推荐方法,所述视频推荐方法可以应用于服务器中。请参阅图1,所述方法可以包括以下步骤。An embodiment of the present application provides a video recommendation method, which may be applied to a server. Referring to FIG. 1, the method may include the following steps.
S1:接收客户端发来的视频加载请求,所述视频加载请求指向全景视频数据;其中,所述全景视频数据表征的全景视频中包括至少两块展示不同内容的视频区域。S1: Receive a video loading request sent by the client, where the video loading request is directed to the panoramic video data; wherein the panoramic video data represented by the panoramic video data includes at least two video regions displaying different content.
在本实施方式中,所述服务器中可以提供有全景视频数据库。所述全景视频数据库可以是存储全景视频数据的数据集。所述全景视频数据库可以采用MySQL、Oracle、DB2、Sybase等数据库格式中的任意一种。所述全景视频数据库可以部署在服务器中的存储介质上。In this embodiment, a panoramic video database may be provided in the server. The panoramic video database may be a data set that stores panoramic video data. The panoramic video database may adopt any one of database formats such as MySQL, Oracle, DB2, and Sybase. The panoramic video database can be deployed on a storage medium in the server.
在本实施方式中,所述全景视频数据库中可以存储各种全景视频数据。所述全景视频数据库中的每个全景视频数据可以具备各自的数据标识。所述数据标识与全景视频数据之间可以通过key-value(键值对)的形式来进行存储,这样,通过提供的数据标识,便可以从所述全景视频数据库中获取到对应的全景视频数据。In this embodiment, various panoramic video data may be stored in the panoramic video database. Each panoramic video data in the panoramic video database may have its own data identification. The data identifier and the panoramic video data may be stored in the form of a key-value (key-value pair), so that the corresponding panoramic video data can be obtained from the panoramic video database by using the provided data identifier. .
在本实施方式中,所述全景视频数据可以通过绘图标准来绘制为全景视频。所述绘图标准例如可以是Open GL标准、WebGL标准等。所述全景视频可以是以指定观测点为中心的球体视频。所述指定观测点可以是观测所述全景视频的中心点,所述指定观测点观测到的图像可以展示于显示器上,以供用户观看。一方面,用户可以通过与显示器 或者显示器的输入设备进行交互,从而改变所述指定观测点的视线。例如,用户在显示器上施加向右滑动的手势时,所述指定观测点的视线可以相应地向左偏转,从而可以在显示器上显示全景视频中左侧的视频信息。另一方面,还可以通过带有显示器的电子设备渲染所述全景视频数据,以得到所述全景视频数据表征的全景视频。所述带有显示器的电子设备中可以具备陀螺仪,当所述电子设备发生翻转时,在所述陀螺仪的作用下,所述指定观测点的视线可以随着电子设备的翻转而进行同步的偏转。例如,用户在通过头戴式VR眼镜观看全景视频时,用户可以向下低头,那么受到VR眼镜中陀螺仪的影响,所述指定观测点便可以相应地向下偏转,在所述VR眼镜中可以展示之前视频画面下方的视频画面。In this embodiment, the panoramic video data can be drawn as a panoramic video by a drawing standard. The drawing standard may be, for example, the Open GL standard, the WebGL standard, or the like. The panoramic video may be a sphere video centered at a specified observation point. The designated observation point may be a center point of the panoramic video, and the image observed by the specified observation point may be displayed on a display for viewing by a user. In one aspect, the user can change the line of sight of the specified observation point by interacting with an input device of the display or display. For example, when a user applies a gesture of swiping to the right on the display, the line of sight of the specified observation point can be deflected to the left accordingly, so that the video information on the left side of the panoramic video can be displayed on the display. Alternatively, the panoramic video data may be rendered by an electronic device with a display to obtain a panoramic video characterized by the panoramic video data. The electronic device with the display may be provided with a gyroscope. When the electronic device is turned over, the line of sight of the specified observation point may be synchronized with the flipping of the electronic device under the action of the gyroscope. deflection. For example, when the user views the panoramic video through the head-mounted VR glasses, the user can bow down, and then the target observation point can be deflected downward according to the influence of the gyroscope in the VR glasses, in the VR glasses. The video screen below the previous video screen can be displayed.
在本实施方式中,所述客户端中可以展示全景视频的链接。所述链接可以是文字链接、图片链接或者视频链接。用户通过点击该链接,从而可以向所述服务器发送视频加载请求。此外,用户还可以在所述客户端中输入指向所述全景视频数据的统一资源定位符(Uniform Resource Locator,URL),从而根据所述URL向所述服务器发送视频加载请求。In this embodiment, a link of the panoramic video may be displayed in the client. The link can be a text link, a picture link, or a video link. The user can send a video load request to the server by clicking on the link. In addition, the user may further input a Uniform Resource Locator (URL) pointing to the panoramic video data in the client, so as to send a video loading request to the server according to the URL.
在本实施方式中,所述视频加载请求可以是按照预设规则进行编写的字符串。其中,所述预设规则可以是所述客户端与所述服务器之间遵循的网络通信协议。例如,所述视频加载请求可以是按照HTTP协议进行编写的字符串。所述预设规则可以限定视频加载请求中的各个组成部分以及各个组成部分之间的排列顺序。例如,所述视频加载请求中可以包括请求标识字段、源IP地址字段以及目的IP地址字段。所述请求标识字段可以填充所述全景视频数据的标识。所述源IP地址字段可以填写所述客户端的IP地址,所述目标IP地址字段可以填写所述服务器的IP地址。这样,所述视频加载请求便可以从所述客户端发送至所述服务器处。In this embodiment, the video loading request may be a character string that is written according to a preset rule. The preset rule may be a network communication protocol that is followed between the client and the server. For example, the video loading request may be a string written in accordance with the HTTP protocol. The preset rule may define various components in the video loading request and an order of arrangement between the respective components. For example, the video loading request may include a request identifier field, a source IP address field, and a destination IP address field. The request identification field may populate an identification of the panoramic video data. The source IP address field may fill in an IP address of the client, and the target IP address field may fill in an IP address of the server. In this way, the video loading request can be sent from the client to the server.
在本实施方式中,所述视频加载请求指向全景视频数据可以指所述视频加载请求中携带所述全景视频数据的标识。这样,服务器接收到所述视频加载请求后,可以从所述视频加载请求中提取所述全景视频数据的标识。在提取出所述全景视频数据的标识后,所述服务器可以从所述全景视频数据库中读取具备所述标识的全景视频数据。In this embodiment, the video loading request pointing to the panoramic video data may refer to the identifier that carries the panoramic video data in the video loading request. In this way, after receiving the video loading request, the server may extract the identifier of the panoramic video data from the video loading request. After extracting the identifier of the panoramic video data, the server may read the panoramic video data having the identifier from the panoramic video database.
在本实施方式中,所述全景视频数据表征全景视频可以指通过对所述全景视频数据进行渲染,可以得到所述全景视频。具体地,所述全景视频中通常具备较多的信息,在所述全景视频的不同区域,可以显示不同的视频内容。例如,在一个展示沙滩排球比赛的全景视频中,用户正前方是沙滩排球的比赛,用户左侧是场边啦啦队的表演,用户后 方是大海和沙滩的风景。那么在一个全景视频中,可以包括至少两块展示不同内容的视频区域。例如,上述的沙滩排球比赛的全景视频中,可以包括至少三块视频区域,这三块视频区域分别展示沙滩排球的比赛、啦啦队的表演以及大海和沙滩的风景。In this embodiment, the panoramic video data characterizing the panoramic video may refer to that the panoramic video may be obtained by rendering the panoramic video data. Specifically, the panoramic video usually has more information, and different video content can be displayed in different areas of the panoramic video. For example, in a panoramic video showing a beach volleyball game, the user is playing beach volleyball in front of the user. The left side of the user is a cheerleading performance on the side of the field, and the user is behind the sea and the beach. Then in a panoramic video, at least two video regions displaying different content may be included. For example, the above-mentioned panoramic video of a beach volleyball game may include at least three video areas, which respectively show beach volleyball matches, cheerleading performances, and sea and beach scenery.
在本实施方式中,所述全景视频中所包含的视频区域可以是该全景视频的上传者预先指定的。例如,某个上传者在上传所述沙滩排球比赛的全景视频时,可以预先指定在该全景视频中,总共可以划分出三块视频区域,并且该上传者还可以限定每块视频区域展示的视频内容的主题。例如,该全景视频的三块视频区域展示的视频内容的主题可以分别为“排球比赛”、“表演”以及“海景”。In this embodiment, the video area included in the panoramic video may be pre-designated by the uploader of the panoramic video. For example, when uploading a panoramic video of the beach volleyball game, an uploader may pre-assign a total of three video regions in the panoramic video, and the uploader may also define a video displayed in each video region. The subject of the content. For example, the theme of the video content displayed in the three video regions of the panoramic video may be "volleyball game", "performance", and "seascape", respectively.
在本实施方式中,所述全景视频中所包含的视频区域还可以是在全景视频上传之后,通过图像识别的技术识别得到的。具体地,在进行图像识别时,通常可以具备图像素材库。在所述图像素材库中可以存储视频中可能出现的各种场景的素材,以及与各个素材相对应的主题。这些场景的素材可以通过特征向量的形式进行存储。当两个素材的内容比较接近时,其对应的特征向量之间的距离也会较近。因此,在进行图像识别时,可以实时分析所述全景视频中各个区域的特征向量,并可以计算分析得到的特征向量与图像素材库中的特征向量之间的距离。当计算得到的距离小于指定阈值时,则表明该区域中展示的内容与图像素材库中的某个素材相似。那么便可以将该区域作为一个视频区域,并且该视频区域中展示的内容的主题可以是相似的素材的主题。例如,在对某个全景视频进行图像识别时,分析得到某一区域中展示的内容为歌舞表演,那么该区域可以作为一个视频区域,并且该视频区域对应的主题可以为“歌舞表演”。这样,通过图像识别的方法,可以确定所述全景视频中包含的视频区域的数量,以及每个视频区域对应的主题。In this embodiment, the video area included in the panoramic video may also be obtained by technology recognition of image recognition after the panoramic video is uploaded. Specifically, when image recognition is performed, an image material library can usually be provided. In the image material library, materials of various scenes that may appear in the video, and a theme corresponding to each material may be stored. The material of these scenes can be stored in the form of feature vectors. When the contents of the two materials are relatively close, the distance between their corresponding feature vectors will be closer. Therefore, when image recognition is performed, feature vectors of respective regions in the panoramic video can be analyzed in real time, and the distance between the analyzed feature vector and the feature vector in the image material library can be calculated. When the calculated distance is less than the specified threshold, it indicates that the content displayed in the area is similar to a material in the image library. The area can then be used as a video area, and the subject matter of the content displayed in the video area can be the subject of similar material. For example, when performing image recognition on a panoramic video, the analysis shows that the content displayed in a certain area is a cabaret performance, then the area can be used as a video area, and the theme corresponding to the video area can be “song and dance performance”. Thus, by the method of image recognition, the number of video regions included in the panoramic video and the theme corresponding to each video region can be determined.
S2:向所述客户端反馈所述全景视频数据,以使得所述客户端根据所述全景视频数据渲染来得到所述全景视频。S2: feeding back the panoramic video data to the client, so that the client obtains the panoramic video according to the panoramic video data rendering.
在本实施方式中,当服务器从所述全景视频数据库中获取到所述视频加载请求指向的全景视频数据后,可以向所述客户端反馈所述全景视频数据。In this embodiment, after the server obtains the panoramic video data pointed to by the video loading request from the panoramic video database, the panoramic video data may be fed back to the client.
在本实施方式中,所述客户端在接收到所述全景视频数据后,便可以基于绘图标准将所述全景视频数据渲染为相应的全景视频。具体地,可以在空间坐标系中渲染所述全景视频数据,从而得到所述全景视频数据表征的球体视频。该球体视频的球心处可以具备指定观测点。通过调整所述指定观测点的观测角度,从而可以在客户端的显示器上显示所述球体视频的不同部分。In this embodiment, after receiving the panoramic video data, the client may render the panoramic video data into a corresponding panoramic video based on a drawing standard. Specifically, the panoramic video data may be rendered in a spatial coordinate system to obtain a sphere video characterized by the panoramic video data. The center of the sphere video can have a specified observation point. By adjusting the viewing angle of the specified observation point, different portions of the sphere video can be displayed on the display of the client.
需要说明的是,尽管所述全景视频数据在经过绘图标准渲染之后在空间中呈现的是球体视频,但是用户在通过显示器观看所述球体视频时,由于该球体视频的曲率半径较大,并且所述显示器实际显示的区域相对于整个球体视频而言较小,因此用户从显示器中观看到的球体视频中的一部分可以近似作为平面视频。It should be noted that although the panoramic video data is rendered in the space after being rendered by the drawing standard, the user views the spherical video through the display, because the radius of curvature of the spherical video is large, and The area actually displayed by the display is small relative to the entire sphere video, so that a portion of the sphere video viewed by the user from the display can be approximated as a flat video.
在本实施方式中,为了提高视频的加载速度并降低客户端的负载,还可以仅渲染全景视频中的一部分视频,其中,渲染的这部分视频可以是用户当前视域内能够观看到的视频。这样,处于用户当前视域内的视频数据可以被正常渲染,而处于用户当前视域外的视频数据则可以不进行渲染,从而能够减少客户端需要渲染的数据量,以降低客户端的负载。此外,由于渲染的数据量减少,客户端可以较快地向用户展示渲染得到的视频,从而提高视频的加载速度。In this embodiment, in order to improve the loading speed of the video and reduce the load of the client, only a part of the video in the panoramic video may be rendered, wherein the part of the rendered video may be a video that can be viewed in the current viewing area of the user. In this way, the video data in the current view of the user can be rendered normally, and the video data in the current view of the user can be not rendered, thereby reducing the amount of data that the client needs to render, so as to reduce the load on the client. In addition, due to the reduced amount of data being rendered, the client can display the rendered video to the user faster, thereby increasing the loading speed of the video.
S3:接收所述客户端发来的观看区域信息,所述观看区域信息用于表征用户当前观看的目标视频区域。S3: Receive viewing area information sent by the client, where the viewing area information is used to represent a target video area currently viewed by the user.
在本实施方式中,当所述客户端渲染得到所述全景视频后,用户便可以通过客户端的显示器观看所述全景视频。具体地,用户可以通过翻转所述客户端或者与所述客户端的显示器进行交互,改变所述全景视频的指定观测点的视线,从而可以改变在所述显示器上展示的视频内容。In this embodiment, after the client renders the panoramic video, the user can view the panoramic video through the display of the client. Specifically, the user can change the line of sight of the specified observation point of the panoramic video by flipping the client or interacting with the display of the client, so that the video content displayed on the display can be changed.
在本实施方式中,所述客户端的显示器上当前展示的视频画面可以是用户感兴趣的内容。这样,可以将所述显示器上当前展示的视频区域作为用户当前观看的目标视频区域。在实际应用中,当所述显示器上仅展示一个视频区域时,可以将该视频区域作为所述目标视频区域。而当所述显示器上展示至少两个视频区域时,则需要对用户真正感兴趣的视频区域进行判定。具体地,在进行判定时,可以确定在所述显示器中展示面积最大的视频区域,并将所述展示面积最大的视频区域作为所述目标视频区域。例如,在所述显示器上展示的视频画面中,一部分为排球比赛,另一部分为啦啦队表演。而啦啦队表演的面积占据了整个显示器画面的90%,因此可以判定用户真正感兴趣的是展示啦啦队表演的视频区域。此外,当用户在使用VR眼镜时,还可以通过对用户的瞳孔进行识别来确定用户当前的视线所对准的视频区域,从而可以将用户的视线所对准的视频区域作为所述目标视频区域。In this embodiment, the video picture currently displayed on the display of the client may be content that is of interest to the user. In this way, the video area currently displayed on the display can be used as the target video area currently viewed by the user. In practical applications, when only one video area is displayed on the display, the video area may be used as the target video area. When at least two video regions are displayed on the display, it is necessary to make a determination on the video region that the user is really interested in. Specifically, when the determination is made, a video area having the largest display area in the display may be determined, and a video area having the largest display area is used as the target video area. For example, some of the video images displayed on the display are volleyball matches, and the other part is a cheerleading performance. The area of the cheerleading performance occupies 90% of the entire display, so it can be judged that the user is really interested in the video area showing the cheerleading performance. In addition, when the user is using the VR glasses, the video area to which the user's current line of sight is aligned can also be determined by identifying the pupil of the user, so that the video area to which the user's line of sight is aligned can be used as the target video area. .
在本实施方式中,所述全景视频中的视频区域还可以通过角度信息来表征,这样,每块所述视频区域可以与角度信息相关联。具体地,由于所述全景视频为球体视频,那么与所述全景视频中的视频区域相关联的角度信息可以通过方位角和/或俯仰角来表示, 还可以通过经度和/或纬度来表示。在本实施方式中,所述角度信息中可以包括起始角度信息和终止角度信息,从而可以通过所述起始角度信息和所述终止角度信息来共同限定所述视频区域的角度区间。请参阅图2,假设所述起始角度信息为东经30度和北纬20度,所述终止角度信息为东经60度和南纬20度,那么根据两条经线和两条纬线在所述球体视频上限定的区域便可以是所述视频区域。In this embodiment, the video region in the panoramic video may also be characterized by angle information, such that each of the video regions may be associated with angle information. Specifically, since the panoramic video is a sphere video, the angle information associated with the video region in the panoramic video may be represented by an azimuth and/or a pitch angle, and may also be represented by longitude and/or latitude. In this embodiment, the angle information may include start angle information and end angle information, so that the angle interval of the video area may be jointly defined by the start angle information and the end angle information. Referring to FIG. 2, it is assumed that the starting angle information is 30 degrees east longitude and 20 degrees north latitude, and the ending angle information is 60 degrees east longitude and 20 degrees south latitude, then the sphere video is according to two warps and two weft lines. The upper defined area may be the video area.
需要说明的是,在某些应用场景中,所述起始角度信息或者终止角度信息可以是预先默认的角度,从而可以被缺省。这样,在与所述全景视频中的视频区域相关联的角度信息中,可以仅包含起始角度信息或者仅包含终止角度信息。例如,对于极坐标的情况而言,其起始角度信息可以默认为(0,0),那么仅需要终止角度信息便可以限定视频区域的范围,因此在与所述全景视频中的视频区域相关联的角度信息中,可以仅包含终止角度信息。It should be noted that, in some application scenarios, the starting angle information or the ending angle information may be a preset default angle, so that it may be defaulted. Thus, in the angle information associated with the video region in the panoramic video, only the starting angle information or only the ending angle information may be included. For example, in the case of polar coordinates, the starting angle information may default to (0, 0), then only the angle information needs to be terminated to define the range of the video area, and thus related to the video area in the panoramic video. In the associated angle information, only the termination angle information may be included.
在本实施方式中,全景视频的指定观测点通常可以具备一个初始观测视线,该初始观测视线可以是在全景视频数据中预先指定的。所述初始观测视线可以作为基准视线,当用户在观看全景视频时,可以通过翻转客户端或者与客户端的显示器进行交互来改变所述全景视频的指定观测点的视线,那么在本实施方式中,可以利用改变后的视线与所述初始观测视线之间的偏差来表征用户当前的视线。例如,所述初始观测视线对应的方位角可以为0度,那么当用户左右调节所述指定观测点的视线后,当前的视线与所述初始观测视线之间便可以存在夹角,该夹角的大小可以表征用户当前视线的位置。例如,所述夹角为30度时,可以表明所述指定观测点从初始观测视线的位置向右偏转了30度;又例如,所述夹角为-30度时,可以表明所述指定观测点从初始观测视线的位置向左偏转了30度。需要说明的是,全景视频中各个视频区域所对应的角度区间以及用于表征用户当前视线的夹角均可以采用同一个基准视线,从而可以保证角度的统一性。这样,可以根据用户当前的视线对应的夹角所处的角度区间来确定用户当前正在观看的目标视频区域。例如,用户当前视线所对应的夹角为45度,而某个视频区域所对应的角度区间为-50度至50度,那么可以确定用户当前正在观看该视频区域。In the present embodiment, the designated observation point of the panoramic video may generally have an initial observation line of sight, which may be pre-specified in the panoramic video data. In the present embodiment, the initial observation line of sight can be used as a reference line of sight. When the user is watching the panoramic video, the line of sight of the specified observation point of the panoramic video can be changed by flipping the client or interacting with the display of the client. The user's current line of sight can be characterized by the deviation between the changed line of sight and the initial observed line of sight. For example, the azimuth angle corresponding to the initial observation line of sight may be 0 degrees, then when the user adjusts the line of sight of the specified observation point left and right, an angle may exist between the current line of sight and the initial observation line of sight. The size can be used to characterize the location of the user's current line of sight. For example, when the angle is 30 degrees, it may indicate that the specified observation point is deflected to the right by 30 degrees from the position of the initial observation line of sight; for example, when the angle is -30 degrees, the specified observation may be indicated. The point is deflected 30 degrees to the left from the position of the initial observation line of sight. It should be noted that the angle interval corresponding to each video area in the panoramic video and the angle used to represent the current line of sight of the user can all adopt the same reference line of sight, thereby ensuring the uniformity of the angle. In this way, the target video area that the user is currently viewing can be determined according to the angle interval in which the angle corresponding to the user's current line of sight is located. For example, if the angle corresponding to the current line of sight of the user is 45 degrees, and the angle range corresponding to a certain video area is -50 degrees to 50 degrees, it can be determined that the user is currently viewing the video area.
在本实施方式中,在客户端确定了用户当前观看的目标视频区域后,可以向服务器发送观看区域信息,所述观看区域信息可以用于表征用户当前观看的目标视频区域。具体地,所述观看区域信息可以具备多种形式。例如,所述观看区域信息可以包含用户当前观看的视频所对应的夹角。那么当服务器接收到客户端发来的观看区域信息后,可以提取其中的夹角,然后可以通过将该夹角与各个视频区域的角度区间进行匹配,从而可 以确定用户当前观看的目标视频区域。In this embodiment, after the client determines the target video area currently viewed by the user, the viewing area information may be sent to the server, where the viewing area information may be used to represent the target video area currently viewed by the user. Specifically, the viewing area information may have various forms. For example, the viewing area information may include an angle corresponding to a video currently viewed by the user. Then, after the server receives the viewing area information sent by the client, the angle can be extracted, and then the angle between the angle and the video area can be matched to determine the target video area currently viewed by the user.
此外,所述观看区域信息中还可以包含视频区域的标识。所述视频区域的标识可以是能够唯一表征视频区域的字符串。例如,在一个全景视频中总共包括三块视频区域,那么这三块视频区域的标识可以分别为“A001”、“A002”以及“A003”。在本实施方式中,服务器在向客户端反馈全景视频数据时,所述全景视频数据中可以包含各个视频区域的标识。那么在客户端确定了用户当前观看的目标视频区域后,可以将该目标视频区域的标识添加至观看区域信息中。这样,所述服务器可以提取所述观看区域信息中携带的视频区域的标识,根据所述标识从而可以确定用户当前观看的目标视频区域。In addition, the viewing area information may further include an identifier of the video area. The identification of the video area may be a character string capable of uniquely characterizing the video area. For example, if a total of three video regions are included in one panoramic video, the identifiers of the three video regions may be “A001”, “A002”, and “A003”, respectively. In this embodiment, when the server feeds back the panoramic video data to the client, the panoramic video data may include an identifier of each video area. Then, after the client determines the target video area currently viewed by the user, the identifier of the target video area may be added to the viewing area information. In this way, the server may extract an identifier of the video area carried in the viewing area information, and according to the identifier, the target video area currently viewed by the user may be determined.
S4:基于所述观看区域信息,向所述客户端反馈推荐视频数据;其中,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。S4: Feeding recommended video data to the client based on the viewing area information; wherein content displayed in the video represented by the recommended video data is adapted to content displayed in the target video area.
在本实施方式中,在确定了用户当前观看的目标视频区域之后,服务器可以根据所述目标视频区域中展示的内容,向客户端反馈相适配的推荐视频数据。具体地,所述目标视频区域中展示的视频通常可以具备较多的标签,每个标签均可以体现视频的一个方面。例如,在一个中国对阵韩国的足球比赛的视频中,可以具备“足球”、“国足”、“世界杯”、“韩国”、“东方体育馆”等这些标签。又例如,在一个电影的视频中,可以具备“昆丁塔伦蒂诺”、“奥斯卡最佳影片”、“莱昂纳多迪卡普雷奥”、“剧情”、“英文原声”等标签。在本实施方式中,所述服务器中存储的各种视频数据均可以与一系列的标签相关联。这样,具备相同标签的多个视频可以被视为相关联的视频。相同标签的数量越多,则表明两个视频的相似程度越高。这样,在向客户端反馈推荐视频数据时,可以将与所述目标视频区域中展示的视频具备至少一个相同标签的视频反馈给所述客户端。例如,用户在全景视频中的一个视频区域中观看了昆丁塔伦蒂诺导演的影片之后,服务器可以向客户端推荐昆丁塔伦蒂诺导演的其他影片。In this embodiment, after determining the target video area currently viewed by the user, the server may feed back the recommended recommended video data to the client according to the content displayed in the target video area. Specifically, the video displayed in the target video area can usually have more tags, and each tag can reflect one aspect of the video. For example, in a video of a Chinese football match against South Korea, you can have such labels as "Football", "National Football", "World Cup", "Korea", "Oriental Gymnasium". For example, in a movie video, you can have labels such as “Quentin Tarantino”, “Oscar Best Movie”, “Leonardo DiCaprio”, “Plot”, “English Soundtrack”, etc. . In this embodiment, various video data stored in the server may be associated with a series of tags. In this way, multiple videos with the same tag can be considered as associated videos. The greater the number of identical tags, the higher the similarity between the two videos. In this way, when the recommended video data is fed back to the client, the video with at least one identical tag of the video displayed in the target video area may be fed back to the client. For example, after viewing a film directed by Quentin Tarantino in a video area in a panoramic video, the server can recommend other films directed by Quentin Tarantino to the client.
此外,在本实施方式中,与所述全景视频中各个视频区域相对应的推荐视频数据可以是预先指定的。在全景视频上传时,可以确定其中包含视频区域的数量以及各个视频区域中展示的内容。具体地,可以采用步骤S1中所述的图像识别的技术来确定全景视频中包含的视频区域的数量以及各个视频区域对应的主题。这样,服务器可以为每个视频区域分配相关联的推荐视频数据。在进行推荐视频数据分配时,可以为每个视频区域分别分配具备相同主题的推荐视频数据。例如,全景视频中包括三块视频区域,这三块视频区域中展示的内容的主题可以分别为“排球比赛”、“表演”以及“海景”。这样,在分配推荐视频数据时,可以向视频区域分配相同主题的推荐视频数据。在本实施方式 中,服务器中可以存储视频区域的标识与推荐视频数据的关联关系。这样,当服务器接收到观看区域信息后,可以从所述观看区域信息中提取目标视频区域的标识,然后可以根据本地存储的关联关系,查询到与所述目标视频区域的标识相关联的推荐视频数据,从而可以向所述客户端反馈所述推荐视频数据。Further, in the present embodiment, the recommended video data corresponding to each video region in the panoramic video may be pre-specified. When a panoramic video is uploaded, it can be determined that it contains the number of video regions and what is displayed in each video region. Specifically, the technique of image recognition described in step S1 may be employed to determine the number of video regions included in the panoramic video and the theme corresponding to each video region. In this way, the server can assign associated recommended video data to each video region. When the recommended video data is allocated, recommended video data having the same theme can be assigned to each video area. For example, the panoramic video includes three video areas, and the theme of the content displayed in the three video areas may be “volleyball game”, “performance” and “seascape” respectively. Thus, when the recommended video data is allocated, the recommended video data of the same topic can be allocated to the video area. In this embodiment, the association between the identifier of the video area and the recommended video data may be stored in the server. In this way, after the server receives the viewing area information, the identifier of the target video area may be extracted from the viewing area information, and then the recommended video associated with the identifier of the target video area may be queried according to the locally stored association relationship. Data so that the recommended video data can be fed back to the client.
由上可见,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配可以指所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容至少在一个方面相同或者相似。例如,两个视频均具备相同的演员、相同的风景、相同的导演、题材相同、年份相同等等。It can be seen that the content displayed in the video represented by the recommended video data is adapted to the content displayed in the target video area, and may refer to the content displayed in the video represented by the recommended video data and the target video area. The content displayed is identical or similar in at least one respect. For example, both videos have the same actors, the same scenery, the same director, the same theme, the same year, and so on.
需要说明的是,所述推荐视频数据表征的视频所展示的整体内容可以与所述目标视频区域中展示的内容相适配。例如,所述目标视频区域中展示的内容为某个导演执导的电影,那么所述推荐视频数据表征的视频所展示的整体内容便可以是该导演执导的另一部电影。It should be noted that the overall content displayed by the video represented by the recommended video data may be adapted to the content displayed in the target video area. For example, if the content displayed in the target video area is a movie directed by a director, then the overall content displayed by the video represented by the recommended video data may be another movie directed by the director.
此外,所述推荐视频数据表征的视频还可以是全景视频,该全景视频中一个区域内展示的内容与所述目标视频区域中展示的内容相适配。例如,所述目标视频区域中展示的内容为拉拉队的表演,那么服务器向客户端反馈的可以是关于篮球比赛的全景视频,只不过在该全景视频的一个区域中也会展示拉拉队的表演。在这种场景下,当客户端接收到所述推荐视频数据后,可以直接在用户的当前视线中展示与所述目标视频区域中展示的内容相适配的视频内容。例如,客户端在接收到有关篮球比赛的全景视频后,可以直接向用户展示拉拉队表演的视频区域,而不是向用户展示篮球比赛的视频区域。In addition, the video represented by the recommended video data may also be a panoramic video, and the content displayed in one area of the panoramic video is adapted to the content displayed in the target video area. For example, if the content displayed in the target video area is a performance of a cheerleader, the server may feed back to the client a panoramic video about the basketball game, but the cheerleading performance may also be displayed in an area of the panoramic video. In this scenario, after the client receives the recommended video data, the video content that is adapted to the content displayed in the target video region may be directly displayed in the current line of sight of the user. For example, after receiving a panoramic video about a basketball game, the client can directly display the video area of the cheerleading performance to the user instead of presenting the video area of the basketball game to the user.
在一个具体应用场景中,用户通过头戴式VR眼镜来观看视频网站中关于在迪拜旅游实拍的全景视频。在该全景视频中,可以包括三块视频区域,这三块视频区域分别位于用户的正前方、左侧以及上方。这三块视频区域的标识可以分别为“A001”、“A002”以及“A003”。其中,展现在用户正前方的是酒店中的音乐歌舞表演,用户左侧展现的是酒店中精美的喷泉,用户上方展现的是著名艺术家的名画。用户在观看该全景视频时,对上方展现的名画十分感兴趣,用户便可以仰着头观看上方的名画。此时,VR眼镜中的陀螺仪可以根据VR眼镜的翻转程度,反馈出用户当前的视线与基准视线之间的夹角为俯仰角80度,方位角10度。而在该全景视频中,上方名画所在的视频区域的角度区间为:方位角从-40度到40度,俯仰角从50度到90度。那么VR眼镜此时可以判定,用户当前在观看上方名画所处的视频区域,从而可以将该视频区域的标识“A003”反馈给视频网站的服务器。视频网站的服务器中可以存储视频区域的标识与视频标签的关联关系。那么 根据“A003”,可以查询到相关联的标签为“壁画”、“米开朗琪罗”、“文艺复兴”等这些标签。此时,服务器可以在本地存储的视频数据中查询包含上述三个标签中任意一个标签的视频数据,并将查询到的视频数据反馈给VR眼镜。这样,VR眼镜便可以在用户观看完全景视频之后,将服务器反馈的视频数据渲染于当前页面中,以供用户选择观看。In a specific application scenario, the user views the panoramic video of the real-time travel in Dubai on the video website through the head-mounted VR glasses. In the panoramic video, three video regions may be included, which are located directly in front of the user, on the left side, and above. The identifiers of the three video areas may be "A001", "A002", and "A003", respectively. Among them, the music and dance performance in the hotel is displayed in front of the user. The left side of the user shows the beautiful fountain in the hotel, and the top of the user shows the famous artist's famous painting. When the user watches the panoramic video, he is very interested in the famous painting displayed above, and the user can look up at the famous painting above. At this time, the gyroscope in the VR glasses can feed back the angle between the user's current line of sight and the reference line of sight as the pitch angle of 80 degrees and the azimuth angle of 10 degrees according to the degree of inversion of the VR glasses. In the panoramic video, the angle range of the video area where the upper famous painting is located is: the azimuth angle is from -40 degrees to 40 degrees, and the pitch angle is from 50 degrees to 90 degrees. Then, the VR glasses can determine at this time that the user is currently watching the video area where the above-mentioned famous painting is located, so that the identifier "A003" of the video area can be fed back to the server of the video website. The association between the identifier of the video area and the video tag can be stored in the server of the video website. Then according to "A003", you can find the related labels such as "mural painting", "Michelangelo", "Renaissance" and so on. At this time, the server may query the video data including any one of the above three tags in the locally stored video data, and feed the queried video data to the VR glasses. In this way, the VR glasses can render the video data fed back by the server to the current page after the user views the full scene video for the user to select to view.
在本申请的一个实施方式中,所述全景视频中的每块所述视频区域可以与至少一个视频标签相绑定。所述视频标签可以根据视频区域中展示的视频来确定。具体地,每个视频标签均可以体现视频区域展示的视频的一个方面。请参阅图3,在某个视频区域中展示的是中国对阵韩国的足球比赛的视频,那么该视频区域可以具备“足球”、“国足”、“世界杯”、“鸟巢”等这些视频标签。又例如,在另一个视频区域中,可以具备“美女”、“拉拉队”、“比赛表演”等视频标签。In an embodiment of the present application, each of the video regions in the panoramic video may be bound to at least one video tag. The video tag can be determined based on the video displayed in the video area. In particular, each video tag can embody an aspect of the video displayed in the video area. Please refer to Figure 3. In a video area, the video of China's football match against South Korea is displayed. Then the video area can have these video labels such as "soccer", "national football", "World Cup" and "Bird's Nest". For another example, in another video area, a video tag such as "beauty", "pull team", "competition performance" may be provided.
在本实施方式中,与所述视频区域相绑定的视频标签可以是全景视频的上传者预先指定的。例如,某个上传者在上传沙滩排球比赛的全景视频时,可以预先指定在该全景视频中,总共可以划分出三块视频区域,并且这三块视频区域展示的视频内容的标签可以分别为“排球比赛”、“表演”以及“海景”。In this embodiment, the video tag bound to the video area may be pre-specified by the uploader of the panoramic video. For example, when uploading a panoramic video of a beach volleyball game, an uploader may pre-assign a total of three video regions in the panoramic video, and the labels of the video content displayed in the three video regions may be respectively “ Volleyball match, "performance" and "sea view".
在本实施方式中,与所述视频区域相绑定的视频标签还可以是通过图像识别的技术识别得到的。具体地,在进行图像识别时,通常可以具备图像素材库。在所述图像素材库中可以存储视频中可能出现的各种场景的素材,以及与各个素材相对应的视频标签。这些场景的素材可以通过特征向量的形式进行存储。当两个素材的内容比较接近时,其对应的特征向量之间的距离也会较近。因此,在进行图像识别时,可以实时分析所述全景视频中各个视频区域的特征向量,并可以计算分析得到的特征向量与图像素材库中的特征向量之间的距离。当计算得到的距离小于指定阈值时,则表明该视频区域中展示的内容与图像素材库中的某个素材相似。那么便可以将相似的素材对应的标签作为与该视频区域相绑定的视频标签。In this embodiment, the video tag bound to the video area may also be obtained by technology recognition of image recognition. Specifically, when image recognition is performed, an image material library can usually be provided. In the image material library, materials of various scenes that may appear in the video, and video tags corresponding to the respective materials may be stored. The material of these scenes can be stored in the form of feature vectors. When the contents of the two materials are relatively close, the distance between their corresponding feature vectors will be closer. Therefore, when image recognition is performed, feature vectors of respective video regions in the panoramic video can be analyzed in real time, and the distance between the analyzed feature vector and the feature vector in the image material library can be calculated. When the calculated distance is less than the specified threshold, it indicates that the content displayed in the video area is similar to a material in the image library. Then, the label corresponding to the similar material can be used as the video label bound to the video area.
在本实施方式中,当服务器接收到客户端发来的观看区域信息后,可以确定与所述观看区域信息表征的目标视频区域相绑定的至少一个目标视频标签,并基于所述至少一个目标视频标签向所述客户端反馈推荐视频数据。具体地,所述服务器中存储的各种视频数据均可以与一系列的标签相关联。这样,具备相同标签的多个视频可以被视为相关联的视频。相同标签的数量越多,则表明两个视频的相似程度越高。这样,在向客户端反馈推荐视频数据时,首先可以确定与所述目标视频区域相绑定的至少一个目标视频标 签。确定所述至少一个目标视频标签的方法可以包括从所述目标视频区域所绑定的视频标签中,随机抽取指定数量的不重复的视频标签,并将抽取的视频标签作为所述目标视频标签。此外,确定所述至少一个目标视频标签的方法还可以包括统计每个视频标签作为搜索词的次数,并将统计次数较高的指定数量的视频标签作为所述目标视频标签。In this embodiment, after the server receives the viewing area information sent by the client, the server may determine at least one target video tag bound to the target video area represented by the viewing area information, and based on the at least one target. The video tag feeds back the recommended video data to the client. Specifically, various video data stored in the server can be associated with a series of tags. In this way, multiple videos with the same tag can be considered as associated videos. The greater the number of identical tags, the higher the similarity between the two videos. Thus, when the recommended video data is fed back to the client, at least one target video tag bound to the target video area can first be determined. The method of determining the at least one target video tag may include randomly extracting a specified number of non-repeating video tags from the video tags bound to the target video region, and using the extracted video tags as the target video tags. Moreover, the method of determining the at least one target video tag may further include counting the number of times each video tag is used as a search term, and using a specified number of video tags having a higher number of statistics as the target video tag.
在本实施方式中,确定了所述目标视频区域所绑定的至少一个目标视频标签后,便可以基于所述至少一个目标视频标签向所述客户端反馈推荐视频数据。具体地,所述推荐视频数据表征的视频中展示的内容可以与所述目标视频区域中展示的内容相适配。其中,所述相适配可以指所述推荐视频数据表征的视频具备至少一个所述目标视频标签。例如,用户在全景视频中的一个视频区域中观看了昆丁塔伦蒂诺导演的影片之后,服务器可以确定出所述目标视频区域所绑定的目标视频标签可以为“昆丁塔伦蒂诺”、“剧情”、“黑人解放”等。此时,服务器根据确定出的上述视频标签,可以向客户端推荐昆丁塔伦蒂诺导演的其他影片,这些影片均具备“昆丁塔伦蒂诺”的视频标签。In this embodiment, after the at least one target video tag bound to the target video region is determined, the recommended video data may be fed back to the client based on the at least one target video tag. Specifically, the content displayed in the video represented by the recommended video data may be adapted to the content displayed in the target video region. The matching may refer to that the video characterized by the recommended video data is provided with at least one of the target video tags. For example, after the user views a film directed by Quentin Tarantino in a video area of the panoramic video, the server can determine that the target video tag bound to the target video area can be "Quentin Tarantino" ", "drama", "black liberation" and so on. At this point, based on the identified video tags, the server can recommend other videos directed by Quentin Tarantino to the client, all of which have video tags of "Quentin Tarantino".
在本申请的一个实施方式中,所述全景视频中的视频区域可以与角度信息相关联,所述角度信息可以用于表征所述视频区域在所述全景视频中所处的位置。具体地,由于所述全景视频为球体视频,那么与所述全景视频中的视频区域相关联的角度信息可以通过方位角和/或俯仰角来表示,还可以通过经度和/或纬度来表示。在本实施方式中,所述角度信息中可以包括起始角度信息和终止角度信息,从而可以通过所述起始角度信息和所述终止角度信息来共同限定所述视频区域的角度区间。例如,假设所述起始角度信息为东经30度和北纬20度,所述终止角度信息为东经60度和南纬20度,那么根据两条经线和两条纬线在所述球体视频上限定的区域便可以是所述视频区域。In one embodiment of the present application, the video region in the panoramic video may be associated with angle information that may be used to characterize the location of the video region in the panoramic video. Specifically, since the panoramic video is a sphere video, the angle information associated with the video region in the panoramic video may be represented by an azimuth and/or a pitch angle, and may also be represented by longitude and/or latitude. In this embodiment, the angle information may include start angle information and end angle information, so that the angle interval of the video area may be jointly defined by the start angle information and the end angle information. For example, assuming that the starting angle information is 30 degrees east longitude and 20 degrees north latitude, and the ending angle information is 60 degrees east longitude and 20 degrees south latitude, then the two warp threads and two weft lines are defined on the sphere video. The area can be the video area.
在本实施方式中,全景视频的指定观测点通常可以具备一个初始观测视线,该初始观测视线可以是在全景视频数据中预先指定的。所述初始观测视线可以作为基准视线,当用户在观看全景视频时,可以通过翻转客户端或者与客户端的显示器进行交互来改变所述全景视频的指定观测点的视线。那么在本实施方式中,可以利用改变后的视线与所述初始观测视线之间的偏差来表征用户当前的视线。例如,所述初始观测视线对应的方位角可以为0度,那么当用户左右调节所述指定观测点的视线后,当前的视线与所述初始观测视线之间便可以存在夹角,该夹角的大小可以表征用户当前视线的位置。例如,所述夹角为30度时,可以表明所述指定观测点从初始观测视线的位置向右偏转了30度;又例如,所述夹角为-30度时,可以表明所述指定观测点从初始观测视线的位置向左偏转了30度。需要说明的是,全景视频中各个视频区域所对应的角度区间以及用于表征用户 当前视线的夹角均可以采用同一个基准视线,从而可以保证角度的统一性。In the present embodiment, the designated observation point of the panoramic video may generally have an initial observation line of sight, which may be pre-specified in the panoramic video data. The initial observed line of sight can be used as a reference line of sight. When the user is watching the panoramic video, the line of sight of the specified observation point of the panoramic video can be changed by flipping the client or interacting with the display of the client. Then in the present embodiment, the deviation between the changed line of sight and the initial observed line of sight can be utilized to characterize the current line of sight of the user. For example, the azimuth angle corresponding to the initial observation line of sight may be 0 degrees, then when the user adjusts the line of sight of the specified observation point left and right, an angle may exist between the current line of sight and the initial observation line of sight. The size can be used to characterize the location of the user's current line of sight. For example, when the angle is 30 degrees, it may indicate that the specified observation point is deflected to the right by 30 degrees from the position of the initial observation line of sight; for example, when the angle is -30 degrees, the specified observation may be indicated. The point is deflected 30 degrees to the left from the position of the initial observation line of sight. It should be noted that the angle interval corresponding to each video area in the panoramic video and the angle used to represent the current line of sight of the user can all adopt the same reference line of sight, thereby ensuring the uniformity of the angle.
在本实施方式中,所述服务器接收到的观看区域信息中可以包括用户的当前视线与基准视线之间的夹角。这样,在服务器接收到所述观看区域信息后,可以确定所述观看区域信息中的夹角所处的角度区间,从而可以确定用户当前正在观看的目标视频区域。具体地,可以将所确定的所述角度区间对应的视频区域确定为所述用户当前观看的目标视频区域。例如,用户当前视线对应的夹角为45度,而某个视频区域对应的角度区间为-50度至50度,那么可以确定用户当前正在观看该视频区域。In this embodiment, the viewing area information received by the server may include an angle between the current line of sight of the user and the reference line of sight. In this way, after the server receives the viewing area information, the angle interval in which the angle in the viewing area information is located can be determined, so that the target video area that the user is currently viewing can be determined. Specifically, the determined video region corresponding to the angle interval may be determined as the target video region currently viewed by the user. For example, if the current line of sight of the user corresponds to an angle of 45 degrees, and a certain video area corresponds to an angle range of -50 degrees to 50 degrees, then it can be determined that the user is currently viewing the video area.
在本申请的一个实施方式中,所述服务器在向所述客户端反馈全景视频数据时,所述全景视频数据中可以包括视频标签数据,其中,所述视频标签数据用于表征每块所述视频区域所绑定的至少一个视频标签。在所述视频标签数据中,可以包括视频区域的标识与视频标签之间的关联关系。这样,客户端在接收到全景视频数据后,可以将全景视频数据中的视频标签数据存储于本地缓存中,并可以根据视频区域的标识,查询得到相应的视频标签。In an embodiment of the present application, when the server feeds back the panoramic video data to the client, the panoramic video data may include video tag data, where the video tag data is used to represent each block. At least one video tag bound to the video area. In the video tag data, an association relationship between the identifier of the video area and the video tag may be included. In this way, after receiving the panoramic video data, the client can store the video tag data in the panoramic video data in the local cache, and can obtain the corresponding video tag according to the identifier of the video area.
请参阅图4,在本实施方式中,所述方法还可以包括以下步骤。Referring to FIG. 4, in the embodiment, the method may further include the following steps.
S31:接收所述客户端发来的至少一个目标视频标签,所述目标视频标签根据用户观看的目标视频区域来确定。S31: Receive at least one target video tag sent by the client, where the target video tag is determined according to a target video area viewed by the user.
在本实施方式中,所述客户端在接收到全景视频数据后,可以将所述全景视频数据渲染为全景视频,并可以在本地缓存中存储所述全景视频数据中的视频标签数据。所述客户端可以通过步骤S3中描述的方案来确定出用户当前观看的目标视频区域。在确定出所述目标视频区域之后,所述客户端可以根据本地缓存中的视频标签数据,查询到与所述目标视频区域对应的视频标签。在查询到与所述目标视频区域对应的视频标签后,所述客户端可以将查询到的视频标签的整体或者其中的一部分作为目标视频标签发送给所述服务器。具体地,在从查询到的视频标签中抽取一部分标签时,可以随机抽取指定数量的不重复的视频标签,并将抽取的视频标签作为所述目标视频标签。此外,还可以统计每个视频标签作为搜索词的次数,并将统计次数较高的指定数量的视频标签作为所述目标视频标签。由此可见,客户端发送至服务器处的目标视频标签可以是根据用户观看的目标视频区域来确定的。In this embodiment, after receiving the panoramic video data, the client may render the panoramic video data as a panoramic video, and may store the video tag data in the panoramic video data in a local cache. The client may determine the target video area currently viewed by the user by using the scheme described in step S3. After determining the target video area, the client may query the video tag corresponding to the target video area according to the video tag data in the local cache. After querying the video tag corresponding to the target video area, the client may send the whole or a part of the queried video tag as the target video tag to the server. Specifically, when extracting a part of the tags from the queried video tags, a specified number of non-repeating video tags may be randomly extracted, and the extracted video tags are used as the target video tags. In addition, it is also possible to count the number of times each video tag is used as a search term, and use a specified number of video tags with a higher number of statistics as the target video tag. It can be seen that the target video tag sent by the client to the server can be determined according to the target video area viewed by the user.
S41:基于所述至少一个目标视频标签向所述客户端反馈推荐视频数据;其中,根据所述推荐视频数据渲染得到的视频具备至少一个所述目标视频标签。S41: Feeding recommended video data to the client based on the at least one target video tag; wherein the video rendered according to the recommended video data is provided with at least one target video tag.
在本实施方式中,所述服务器中存储的各种视频数据均可以具备一系列的视频标签。 这样,具备相同标签的多个视频可以被视为相关联的视频。相同标签的数量越多,则表明两个视频的相似程度越高。这样,服务器可以基于所述至少一个目标视频标签,向所述客户端反馈推荐视频数据。具体地,服务器向客户端反馈的推荐视频数据可以满足:根据所述推荐视频数据渲染得到的视频具备至少一个所述目标视频标签。例如,用户在全景视频中的一个视频区域中观看了昆丁塔伦蒂诺导演的影片之后,服务器可以确定出所述目标视频区域所绑定的目标视频标签可以为“昆丁塔伦蒂诺”、“剧情”、“黑人解放”等。此时,服务器根据确定出的上述视频标签,可以向客户端推荐昆丁塔伦蒂诺导演的其他影片,这些影片均具备“昆丁塔伦蒂诺”的视频标签。In this embodiment, various video data stored in the server may be provided with a series of video tags. In this way, multiple videos with the same tag can be considered as associated videos. The greater the number of identical tags, the higher the similarity between the two videos. In this way, the server can feed back the recommended video data to the client based on the at least one target video tag. Specifically, the recommended video data fed back by the server to the client may be: the video rendered according to the recommended video data is provided with at least one target video tag. For example, after the user views a film directed by Quentin Tarantino in a video area of the panoramic video, the server can determine that the target video tag bound to the target video area can be "Quentin Tarantino" ", "drama", "black liberation" and so on. At this point, based on the identified video tags, the server can recommend other videos directed by Quentin Tarantino to the client, all of which have video tags of "Quentin Tarantino".
在本申请的一个实施方式中,考虑到用户在观看全景视频时,通常会将各个视频区域中的内容均浏览一遍,然后再挑选自己感兴趣的内容观看。因此,为了保证视频推荐的准确性,所述观看区域信息中还可以包括用户观看所述目标视频区域的时长。具体地,所述时长可以通过统计用户的视线在目标视频区域中停留的总时长来得到。这样,在向所述客户端反馈推荐视频数据时,可以判断用户观看所述目标视频区域的时长是否足够长。具体地,当用户观看所述目标视频区域的时长达到指定时长时,才向所述客户端反馈推荐视频数据。例如,所述指定时长可以为1分钟,那么当用户观看所述目标视频区域的时长达到1分钟时,便可以向用户使用的客户端反馈与所述目标视频区域中展示的内容相适配的推荐视频数据。如果用户观看所述目标视频区域的时长没有达到1分钟,则不基于所述目标视频区域向客户端反馈推荐视频数据。In one embodiment of the present application, considering that when viewing a panoramic video, the user usually browses the content in each video area, and then selects the content that is of interest to the user. Therefore, in order to ensure the accuracy of the video recommendation, the viewing area information may further include a duration for the user to view the target video area. Specifically, the duration may be obtained by counting the total duration of the user's line of sight staying in the target video area. In this way, when the recommended video data is fed back to the client, it can be determined whether the duration of the user viewing the target video area is sufficiently long. Specifically, when the duration of the user watching the target video area reaches a specified length of time, the recommended video data is fed back to the client. For example, the specified duration may be 1 minute, and when the user views the target video area for 1 minute, the client feedback that can be used by the user is adapted to the content displayed in the target video area. Recommended video data. If the duration of the user viewing the target video area does not reach 1 minute, the recommended video data is not fed back to the client based on the target video area.
由上可见,在本申请中,视频区域可以与角度信息相关联,还可以与视频标签相关联,那么所述角度信息也可以与视频标签相关联。这样,所述角度信息表征的角度区间可以与至少一个视频标签相关联,这种关联关系可以存储于服务器中。那么当客户端获取到用户当前的视线所对应的夹角时,可以将该夹角发送至服务器处。服务器可以根据该夹角所处的角度区间来确定用户当前的视线所对应的视频标签。此外,这种关联关系还可以由服务器发送至所述客户端,这样,所述客户端可以在确定出所述夹角后,可以在本地查询到该夹角所处的角度区间,从而可以获取用户当前的视线所对应的视频标签,从而可以直接向服务器反馈获取到的所述视频标签。As can be seen from the above, in the present application, the video area can be associated with the angle information and can also be associated with the video label, and the angle information can also be associated with the video label. In this way, the angular interval represented by the angle information can be associated with at least one video tag, and the association relationship can be stored in the server. Then, when the client obtains the angle corresponding to the current line of sight of the user, the angle can be sent to the server. The server can determine the video tag corresponding to the current line of sight of the user according to the angle interval in which the angle is located. In addition, the association relationship may also be sent by the server to the client, so that after determining the angle, the client may locally query the angle interval in which the angle is located, so that the client can obtain The video tag corresponding to the user's current line of sight, so that the obtained video tag can be directly fed back to the server.
请参阅图5,本申请还提供一种服务器,所述服务器包括网络通信端口100、存储器200以及处理器300。Referring to FIG. 5, the present application further provides a server including a network communication port 100, a memory 200, and a processor 300.
其中,所述网络通信端口100,用于接收客户端发来的视频加载请求和观看区域信息,并向所述客户端反馈全景视频数据和推荐视频数据。The network communication port 100 is configured to receive a video loading request and a viewing area information sent by the client, and feed back the panoramic video data and the recommended video data to the client.
所述存储器200,用于存储全景视频数据。The memory 200 is configured to store panoramic video data.
所述处理器300,用于通过所述网络通信端口来接收所述客户端发来的视频加载请求,所述视频加载请求指向所述存储器中的全景视频数据;其中,所述全景视频数据表征的全景视频中包括至少两块展示不同内容的视频区域;控制所述网络通信端口向所述客户端反馈所述全景视频数据,以使得所述客户端根据所述全景视频数据渲染来得到所述全景视频;通过所述网络通信端口接收所述客户端发来的观看区域信息,所述观看区域信息用于表征用户当前观看的目标视频区域;基于所述观看区域信息,控制所述网络通信端口向所述客户端反馈推荐视频数据;其中,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。The processor 300 is configured to receive, by using the network communication port, a video loading request sent by the client, where the video loading request is directed to the panoramic video data in the memory; wherein the panoramic video data is characterized The panoramic video includes at least two video regions displaying different content; controlling the network communication port to feed back the panoramic video data to the client, so that the client obtains the according to the panoramic video data rendering a panoramic video; receiving, by the network communication port, viewing area information sent by the client, where the viewing area information is used to represent a target video area currently viewed by the user; and controlling the network communication port based on the viewing area information The recommended video data is fed back to the client; wherein the content displayed in the video characterized by the recommended video data is adapted to the content displayed in the target video region.
在本实施方式中,所述网络通信端口100可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的80号端口,也可以是负责进行FTP数据通信的21号端口,还可以是负责进行邮件数据通信的25号端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。In this embodiment, the network communication port 100 may be a virtual port that is bound to a different communication protocol so that different data can be transmitted or received. For example, the network communication port may be port 80 responsible for web data communication, port 21 responsible for FTP data communication, and port 25 responsible for mail data communication. Furthermore, the network communication port can also be a physical communication interface or a communication chip. For example, it may be a wireless mobile network communication chip, such as GSM, CDMA, etc.; it may also be a Wifi chip; it may also be a Bluetooth chip.
在本实施方式中,所述存储器200可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也可以叫存储器,如内存条、TF卡等。In the present embodiment, the memory 200 may be a memory device for storing information. In a digital system, a device capable of storing binary data may be a memory; in an integrated circuit, a circuit having a storage function without a physical form may also be a memory such as a RAM, a FIFO, etc.; in the system, having a physical form of storage The device can also be called a memory, such as a memory stick, a TF card, or the like.
所述处理器300可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如,软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。The processor 300 can be implemented in any suitable manner. For example, a processor can employ, for example, a microprocessor or processor and a computer readable medium, logic gate, switch, application specific integrated circuit that stores computer readable program code (eg, software or firmware) executable by the (micro)processor. (Application Specific Integrated Circuit, ASIC), programmable logic controller and embedded microcontroller form, etc. This application is not limited.
上述实施方式公开的服务器,其网络通信端口100、存储器200以及处理器300实现的具体功能可以与本申请中服务器一侧的视频推荐方法的实施方式相对照解释,可以实现本申请的视频推荐方法的实施方式并达到方法实施方式的技术效果。The specific functions implemented by the network communication port 100, the memory 200, and the processor 300 of the server disclosed in the above embodiments may be compared with the implementation manner of the video recommendation method on the server side in the present application, and the video recommendation method of the present application may be implemented. The embodiment achieves the technical effect of the method embodiment.
本申请还提供一种视频推荐方法,所述方法可以应用于所述客户端中。请参阅图1,所述方法可以包括以下步骤。The application also provides a video recommendation method, which can be applied to the client. Referring to FIG. 1, the method may include the following steps.
S10:向服务器发送视频加载请求,所述视频加载请求指向所述服务器中的全景视频数据。S10: Send a video loading request to the server, the video loading request pointing to the panoramic video data in the server.
在本实施方式中,所述客户端中可以展示全景视频的链接。所述链接可以是文字链接、图片链接或者视频链接。用户通过点击该链接,从而可以向所述服务器发送视频加载请求。此外,用户还可以在所述客户端中输入指向所述全景视频数据的统一资源定位符(Uniform Resource Locator,URL),从而根据所述URL向所述服务器发送视频加载请求。In this embodiment, a link of the panoramic video may be displayed in the client. The link can be a text link, a picture link, or a video link. The user can send a video load request to the server by clicking on the link. In addition, the user may further input a Uniform Resource Locator (URL) pointing to the panoramic video data in the client, so as to send a video loading request to the server according to the URL.
在本实施方式中,所述视频加载请求可以是按照预设规则进行编写的字符串。其中,所述预设规则可以是所述客户端与所述服务器之间遵循的网络通信协议。例如,所述视频加载请求可以是按照HTTP协议进行编写的字符串。所述预设规则可以限定视频加载请求中的各个组成部分以及各个组成部分之间的排列顺序。例如,所述视频加载请求中可以包括请求标识字段、源IP地址字段以及目的IP地址字段。所述请求标识字段可以填充所述全景视频数据的标识。所述源IP地址字段可以填写所述客户端的IP地址,所述目标IP地址字段可以填写所述服务器的IP地址。这样,所述视频加载请求便可以从所述客户端发送至所述服务器处。In this embodiment, the video loading request may be a character string that is written according to a preset rule. The preset rule may be a network communication protocol that is followed between the client and the server. For example, the video loading request may be a string written in accordance with the HTTP protocol. The preset rule may define various components in the video loading request and an order of arrangement between the respective components. For example, the video loading request may include a request identifier field, a source IP address field, and a destination IP address field. The request identification field may populate an identification of the panoramic video data. The source IP address field may fill in an IP address of the client, and the target IP address field may fill in an IP address of the server. In this way, the video loading request can be sent from the client to the server.
在本实施方式中,所述服务器中可以提供有全景视频数据库。所述全景视频数据库可以是存储全景视频数据的数据集。所述全景视频数据库可以采用MySQL、Oracle、DB2、Sybase等数据库格式中的任意一种。所述全景视频数据库可以部署在服务器中的存储介质上。In this embodiment, a panoramic video database may be provided in the server. The panoramic video database may be a data set that stores panoramic video data. The panoramic video database may adopt any one of database formats such as MySQL, Oracle, DB2, and Sybase. The panoramic video database can be deployed on a storage medium in the server.
在本实施方式中,所述全景视频数据库中可以存储各种全景视频数据。所述全景视频数据库中的每个全景视频数据均可以具备各自的数据标识。所述数据标识与全景视频数据之间可以通过key-value(键值对)的形式来进行存储,这样,通过提供的数据标识,便可以从所述全景视频数据库中获取到对应的全景视频数据。In this embodiment, various panoramic video data may be stored in the panoramic video database. Each panoramic video data in the panoramic video database may have its own data identification. The data identifier and the panoramic video data may be stored in the form of a key-value (key-value pair), so that the corresponding panoramic video data can be obtained from the panoramic video database by using the provided data identifier. .
在本实施方式中,所述视频加载请求指向所述服务器中的全景视频数据可以指所述视频加载请求中携带所述全景视频数据的标识。这样,服务器接收到所述视频加载请求后,可以从所述视频加载请求中提取所述全景视频数据的标识。在提取出所述全景视频数据的标识后,所述服务器可以从所述全景视频数据库中读取具备所述标识的全景视频数据。In this embodiment, the video loading request to the panoramic video data in the server may refer to the identifier that carries the panoramic video data in the video loading request. In this way, after receiving the video loading request, the server may extract the identifier of the panoramic video data from the video loading request. After extracting the identifier of the panoramic video data, the server may read the panoramic video data having the identifier from the panoramic video database.
S20:接收所述服务器反馈的所述全景视频数据,并根据所述全景视频数据渲染来得到全景视频;所述全景视频中包括至少两块展示不同内容的视频区域。S20: Receive the panoramic video data fed back by the server, and obtain a panoramic video according to the panoramic video data rendering; the panoramic video includes at least two video regions that display different content.
在本实施方式中,当服务器从所述全景视频数据库中获取到所述视频加载请求所指向的全景视频数据后,可以向所述客户端反馈所述全景视频数据。In this embodiment, after the server obtains the panoramic video data pointed to by the video loading request from the panoramic video database, the panoramic video data may be fed back to the client.
在本实施方式中,所述客户端在接收到所述全景视频数据后,便可以基于绘图标准将所述全景视频数据渲染为相应的全景视频。具体地,可以在空间坐标系中渲染所述全景视频数据,从而得到所述全景视频数据表征的球体视频。该球体视频的球心处可以具备指定观测点。通过调整所述指定观测点的观测角度,从而可以在客户端的显示器上显示所述球体视频的不同部分。In this embodiment, after receiving the panoramic video data, the client may render the panoramic video data into a corresponding panoramic video based on a drawing standard. Specifically, the panoramic video data may be rendered in a spatial coordinate system to obtain a sphere video characterized by the panoramic video data. The center of the sphere video can have a specified observation point. By adjusting the viewing angle of the specified observation point, different portions of the sphere video can be displayed on the display of the client.
在本实施方式中,所述全景视频中通常具备较多的信息,在所述全景视频的不同区域,可以显示不同的视频内容。例如,在一个展示沙滩排球比赛的全景视频中,用户正前方是沙滩排球的比赛,用户左侧是场边啦啦队的表演,用户后方是大海和沙滩的风景。那么在一个全景视频中,可以包括至少两块展示不同内容的视频区域。例如,在上述的沙滩排球比赛的全景视频中,可以包括至少三块视频区域,这三块视频区域分别展示沙滩排球的比赛、啦啦队的表演以及大海和沙滩的风景。In the present embodiment, the panoramic video usually has a large amount of information, and different video contents can be displayed in different areas of the panoramic video. For example, in a panoramic video showing a beach volleyball game, the user is playing beach volleyball in front of the user. The left side of the user is a cheerleading performance on the side of the field, and the user is behind the sea and the beach. Then in a panoramic video, at least two video regions displaying different content may be included. For example, in the panoramic video of the beach volleyball game described above, at least three video areas may be included, which show beach volleyball matches, cheerleading performances, and sea and beach scenery.
S30:获取用户当前的观看区域信息,并向所述服务器发送所述观看区域信息;所述观看区域信息用于表征用户当前观看的目标视频区域。S30: Acquire current viewing area information of the user, and send the viewing area information to the server; the viewing area information is used to represent a target video area currently viewed by the user.
在本实施方式中,当所述客户端渲染得到所述全景视频后,用户便可以通过客户端的显示器观看所述全景视频。具体地,用户可以通过翻转所述客户端或者与所述客户端的显示器进行交互,改变所述全景视频的指定观测点的视线,从而可以改变在所述显示器上展示的视频内容。In this embodiment, after the client renders the panoramic video, the user can view the panoramic video through the display of the client. Specifically, the user can change the line of sight of the specified observation point of the panoramic video by flipping the client or interacting with the display of the client, so that the video content displayed on the display can be changed.
在本实施方式中,所述客户端的显示器上当前展示的视频画面可以是用户感兴趣的内容。这样,可以将所述显示器上当前展示的视频区域作为用户当前观看的目标视频区域。在实际应用中,当所述显示器上仅展示一个视频区域时,可以将该视频区域作为所述目标视频区域。而当所述显示器上展示至少两个视频区域时,则需要对用户真正感兴趣的视频区域进行判定。具体地,在进行判定时,可以确定在所述显示器中展示面积最大的视频区域,并将所述展示面积最大的视频区域作为所述目标视频区域。例如,在所述显示器上展示的视频画面中,一部分为排球比赛,另一部分为啦啦队表演。而啦啦队表演的面积占据了整个显示器画面的90%,因此可以判定用户真正感兴趣的是展示啦啦队表演的视频区域。此外,当用户在使用VR眼镜时,还可以通过对用户的瞳孔进行识别,以确定用户当前的视线所对准的视频区域,从而可以将用户的视线所对准的视频区域作为所述目标视频区域。In this embodiment, the video picture currently displayed on the display of the client may be content that is of interest to the user. In this way, the video area currently displayed on the display can be used as the target video area currently viewed by the user. In practical applications, when only one video area is displayed on the display, the video area may be used as the target video area. When at least two video regions are displayed on the display, it is necessary to make a determination on the video region that the user is really interested in. Specifically, when the determination is made, a video area having the largest display area in the display may be determined, and a video area having the largest display area is used as the target video area. For example, some of the video images displayed on the display are volleyball matches, and the other part is a cheerleading performance. The area of the cheerleading performance occupies 90% of the entire display, so it can be judged that the user is really interested in the video area showing the cheerleading performance. In addition, when the user is using the VR glasses, the pupil of the user can also be identified to determine the video area to which the user's current line of sight is aligned, so that the video area to which the user's line of sight is aligned can be used as the target video. region.
在本实施方式中,所述全景视频中的视频区域还可以通过角度信息来表征,这样,每块所述视频区域可以与角度信息相关联。具体地,由于所述全景视频为球体视频,那 么与所述全景视频中的视频区域相关联的角度信息可以通过方位角和/或俯仰角来表示,还可以通过经度和/或纬度来表示。在本实施方式中,所述角度信息中可以包括起始角度信息和终止角度信息,从而可以通过所述起始角度信息和所述终止角度信息来共同限定所述视频区域的角度区间。假设所述起始角度信息为东经30度和北纬20度,所述终止角度信息为东经60度和南纬20度,那么根据两条经线和两条纬线在所述球体视频上限定的区域便可以是所述视频区域。In this embodiment, the video region in the panoramic video may also be characterized by angle information, such that each of the video regions may be associated with angle information. In particular, since the panoramic video is a sphere video, the angle information associated with the video region in the panoramic video may be represented by an azimuth and/or pitch angle, and may also be represented by longitude and/or latitude. In this embodiment, the angle information may include start angle information and end angle information, so that the angle interval of the video area may be jointly defined by the start angle information and the end angle information. Assuming that the starting angle information is 30 degrees east longitude and 20 degrees north latitude, and the ending angle information is 60 degrees east longitude and 20 degrees south latitude, then the area defined on the sphere video according to the two warps and two weft lines is It can be the video area.
在本实施方式中,全景视频的指定观测点通常可以具备一个初始观测视线,该初始观测视线可以是在全景视频数据中预先指定的。所述初始观测视线可以作为基准视线,当用户在观看全景视频时,可以通过翻转客户端或者与客户端的显示器进行交互来改变所述全景视频的指定观测点的视线,那么在本实施方式中,可以利用改变后的视线与所述初始观测视线之间的偏差来表征用户当前的视线。例如,所述初始观测视线对应的方位角可以为0度,那么当用户左右调节所述指定观测点的视线后,当前的视线与所述初始观测视线之间便可以存在夹角,该夹角的大小可以表征用户当前视线的位置。例如,所述夹角为30度时,可以表明所述指定观测点从初始观测视线的位置向右偏转了30度;又例如,所述夹角为-30度时,可以表明所述指定观测点从初始观测视线的位置向左偏转了30度。需要说明的是,全景视频中各个视频区域所对应的角度区间以及用于表征用户当前视线的夹角均可以采用同一个基准视线,从而可以保证角度的统一性。这样,可以根据用户当前的视线对应的夹角所处的角度区间来确定用户当前正在观看的目标视频区域。例如,用户当前视线所对应的夹角为45度,而某个视频区域所对应的角度区间为-50度至50度,那么可以确定用户当前正在观看该视频区域。In the present embodiment, the designated observation point of the panoramic video may generally have an initial observation line of sight, which may be pre-specified in the panoramic video data. In the present embodiment, the initial observation line of sight can be used as a reference line of sight. When the user is watching the panoramic video, the line of sight of the specified observation point of the panoramic video can be changed by flipping the client or interacting with the display of the client. The user's current line of sight can be characterized by the deviation between the changed line of sight and the initial observed line of sight. For example, the azimuth angle corresponding to the initial observation line of sight may be 0 degrees, then when the user adjusts the line of sight of the specified observation point left and right, an angle may exist between the current line of sight and the initial observation line of sight. The size can be used to characterize the location of the user's current line of sight. For example, when the angle is 30 degrees, it may indicate that the specified observation point is deflected to the right by 30 degrees from the position of the initial observation line of sight; for example, when the angle is -30 degrees, the specified observation may be indicated. The point is deflected 30 degrees to the left from the position of the initial observation line of sight. It should be noted that the angle interval corresponding to each video area in the panoramic video and the angle used to represent the current line of sight of the user can all adopt the same reference line of sight, thereby ensuring the uniformity of the angle. In this way, the target video area that the user is currently viewing can be determined according to the angle interval in which the angle corresponding to the user's current line of sight is located. For example, if the angle corresponding to the current line of sight of the user is 45 degrees, and the angle range corresponding to a certain video area is -50 degrees to 50 degrees, it can be determined that the user is currently viewing the video area.
在本实施方式中,在客户端确定了用户当前观看的目标视频区域后,可以向服务器发送观看区域信息,所述观看区域信息可以用于表征用户当前观看的目标视频区域。具体地,所述观看区域信息可以具备多种形式。例如,所述观看区域信息可以包含用户当前观看的视频所对应的夹角。那么当服务器接收到客户端发来的观看区域信息后,可以提取其中的夹角,然后可以通过将该夹角与各个视频区域的角度区间进行匹配,从而可以确定用户当前观看的目标视频区域。In this embodiment, after the client determines the target video area currently viewed by the user, the viewing area information may be sent to the server, where the viewing area information may be used to represent the target video area currently viewed by the user. Specifically, the viewing area information may have various forms. For example, the viewing area information may include an angle corresponding to a video currently viewed by the user. Then, after the server receives the viewing area information sent by the client, the angle can be extracted, and then the angle can be matched with the angle interval of each video area, so that the target video area currently viewed by the user can be determined.
此外,所述观看区域信息中还可以包含视频区域的标识。所述视频区域的标识可以是能够唯一表征视频区域的字符串。例如,在一个全景视频中总共包括三块视频区域,那么这三块视频区域的标识可以分别为“A001”、“A002”以及“A003”。在本实施方式中,服务器在向客户端反馈全景视频数据时,所述全景视频数据中可以包含各个视 频区域的标识。那么在客户端确定了用户当前观看的目标视频区域后,可以将该目标视频区域的标识添加至观看区域信息中。这样,所述服务器可以提取所述观看区域信息中携带的视频区域的标识,根据所述标识从而可以确定用户当前观看的目标视频区域。In addition, the viewing area information may further include an identifier of the video area. The identification of the video area may be a character string capable of uniquely characterizing the video area. For example, if a total of three video regions are included in one panoramic video, the identifiers of the three video regions may be “A001”, “A002”, and “A003”, respectively. In this embodiment, when the server feeds back the panoramic video data to the client, the panoramic video data may include an identifier of each video region. Then, after the client determines the target video area currently viewed by the user, the identifier of the target video area may be added to the viewing area information. In this way, the server may extract an identifier of the video area carried in the viewing area information, and according to the identifier, the target video area currently viewed by the user may be determined.
S40:接收所述服务器反馈的推荐视频数据;所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。S40: Receive recommended video data fed back by the server; content displayed in the video represented by the recommended video data is adapted to content displayed in the target video area.
在本实施方式中,在确定了用户当前观看的目标视频区域之后,服务器可以根据所述目标视频区域中展示的内容,向客户端反馈相适配的推荐视频数据。具体地,所述目标视频区域中展示的视频通常可以具备较多的标签,每个标签均可以体现视频的一个方面。例如,在一个中国对阵韩国的足球比赛的视频中,可以具备“足球”、“国足”、“世界杯预选赛”、“韩国”、“东方体育馆”等这些标签。又例如,在一个电影的视频中,可以具备“昆丁塔伦蒂诺”、“奥斯卡最佳影片”、“莱昂纳多迪卡普雷奥”、“剧情”、“英文原声”等标签。在本实施方式中,所述服务器中存储的各种视频数据均可以与一系列的标签相关联。这样,具备相同标签的多个视频可以被视为相关联的视频。相同标签的数量越多,则表明两个视频的相似程度越高。这样,在向客户端反馈推荐视频数据时,可以将与所述目标视频区域中展示的视频具备至少一个相同标签的视频反馈给所述客户端。例如,用户在全景视频中的一个视频区域中观看了昆丁塔伦蒂诺导演的影片之后,服务器可以向客户端推荐昆丁塔伦蒂诺导演的其他影片。In this embodiment, after determining the target video area currently viewed by the user, the server may feed back the recommended recommended video data to the client according to the content displayed in the target video area. Specifically, the video displayed in the target video area can usually have more tags, and each tag can reflect one aspect of the video. For example, in a video of a Chinese football match against South Korea, you can have such labels as "Football", "National Football", "World Cup Qualifier", "Korea", "Oriental Gymnasium". For example, in a movie video, you can have labels such as “Quentin Tarantino”, “Oscar Best Movie”, “Leonardo DiCaprio”, “Plot”, “English Soundtrack”, etc. . In this embodiment, various video data stored in the server may be associated with a series of tags. In this way, multiple videos with the same tag can be considered as associated videos. The greater the number of identical tags, the higher the similarity between the two videos. In this way, when the recommended video data is fed back to the client, the video with at least one identical tag of the video displayed in the target video area may be fed back to the client. For example, after viewing a film directed by Quentin Tarantino in a video area in a panoramic video, the server can recommend other films directed by Quentin Tarantino to the client.
此外,在本实施方式中,与所述全景视频中各个视频区域相对应的推荐视频数据可以是预先指定的。在全景视频上传时,可以确定其中包含视频区域的数量以及各个视频区域中展示的内容。具体地,可以采用步骤S1中所述的图像识别的技术来确定全景视频中包含的视频区域的数量以及各个视频区域对应的主题。这样,服务器可以为每个视频区域分配相关联的推荐视频数据。在进行推荐视频数据分配时,可以为每个视频区域分别分配具备相同主题的推荐视频数据。例如,全景视频中包括三块视频区域,这三块视频区域中展示的内容的主题可以分别为“排球比赛”、“表演”以及“海景”。这样,在分配推荐视频数据时,可以向视频区域分配相同主题的推荐视频数据。在本实施方式中,服务器中可以存储视频区域的标识与推荐视频数据的关联关系。这样,当服务器接收到观看区域信息后,可以从所述观看区域信息中提取目标视频区域的标识,然后可以根据本地存储的关联关系,查询到与所述目标视频区域的标识相关联的推荐视频数据,从而可以向所述客户端反馈所述推荐视频数据。Further, in the present embodiment, the recommended video data corresponding to each video region in the panoramic video may be pre-specified. When a panoramic video is uploaded, it can be determined that it contains the number of video regions and what is displayed in each video region. Specifically, the technique of image recognition described in step S1 may be employed to determine the number of video regions included in the panoramic video and the theme corresponding to each video region. In this way, the server can assign associated recommended video data to each video region. When the recommended video data is allocated, recommended video data having the same theme can be assigned to each video area. For example, the panoramic video includes three video areas, and the theme of the content displayed in the three video areas may be “volleyball game”, “performance” and “seascape” respectively. Thus, when the recommended video data is allocated, the recommended video data of the same topic can be allocated to the video area. In this embodiment, the association between the identifier of the video area and the recommended video data may be stored in the server. In this way, after the server receives the viewing area information, the identifier of the target video area may be extracted from the viewing area information, and then the recommended video associated with the identifier of the target video area may be queried according to the locally stored association relationship. Data so that the recommended video data can be fed back to the client.
由上可见,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示 的内容相适配可以指所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容至少在一个方面相同或者相似。例如,两个视频均具备相同的演员、相同的风景、相同的导演、题材相同、年份相同等等。It can be seen that the content displayed in the video represented by the recommended video data is adapted to the content displayed in the target video area, and may refer to the content displayed in the video represented by the recommended video data and the target video area. The content displayed is identical or similar in at least one respect. For example, both videos have the same actors, the same scenery, the same director, the same theme, the same year, and so on.
在本申请的一个实施方式中,在获取用户当前的观看区域信息时,可以确定用户当前的视线与基准视线之间的夹角,并将所述夹角作为所述用户当前的观看区域信息。具体地,全景视频的指定观测点通常可以具备一个初始观测视线,该初始观测视线可以是在全景视频数据中预先指定的。所述初始观测视线可以作为基准视线,当用户在观看全景视频时,可以通过翻转客户端或者与客户端的显示器进行交互来改变所述全景视频的指定观测点的视线,那么在本实施方式中,可以利用改变后的视线与所述初始观测视线之间的夹角来表征用户当前的视线。例如,所述初始观测视线对应的方位角可以为0度,那么当用户左右调节所述指定观测点的视线后,当前的视线与所述初始观测视线之间便可以存在夹角,该夹角的大小可以表征用户当前视线的位置。例如,所述夹角为30度时,可以表明所述指定观测点从初始观测视线的位置向右偏转了30度;又例如,所述夹角为-30度时,可以表明所述指定观测点从初始观测视线的位置向左偏转了30度。这样,在确定出用户当前的视线与基准视线之间的夹角后,可以将所述夹角作为所述用户当前的观看区域信息。In an embodiment of the present application, when the current viewing area information of the user is acquired, an angle between the current line of sight of the user and the reference line of sight may be determined, and the included angle is used as the current viewing area information of the user. Specifically, the specified observation point of the panoramic video may generally have an initial observation line of sight, which may be pre-specified in the panoramic video data. In the present embodiment, the initial observation line of sight can be used as a reference line of sight. When the user is watching the panoramic video, the line of sight of the specified observation point of the panoramic video can be changed by flipping the client or interacting with the display of the client. The angle between the changed line of sight and the initial observed line of sight can be utilized to characterize the user's current line of sight. For example, the azimuth angle corresponding to the initial observation line of sight may be 0 degrees, then when the user adjusts the line of sight of the specified observation point left and right, an angle may exist between the current line of sight and the initial observation line of sight. The size can be used to characterize the location of the user's current line of sight. For example, when the angle is 30 degrees, it may indicate that the specified observation point is deflected to the right by 30 degrees from the position of the initial observation line of sight; for example, when the angle is -30 degrees, the specified observation may be indicated. The point is deflected 30 degrees to the left from the position of the initial observation line of sight. In this way, after determining the angle between the current line of sight of the user and the reference line of sight, the angle may be used as the current viewing area information of the user.
此外,在本申请的一个实施方式中,所述全景视频数据中可以包括各块视频区域的标识。那么在获取用户当前的观看区域信息时,可以确定在用户当前的视域中展示面积最大的视频区域,并将所述展示面积最大的视频区域的标识作为所述用户当前的观看区域信息。所述用户当前的视域可以指客户端的显示器展示给用户观看的区域。具体地,当所述显示器上仅展示一个视频区域时,可以将该视频区域作为所述目标视频区域。而当所述显示器上展示至少两个视频区域时,则需要对用户真正感兴趣的视频区域进行判定。具体地,在进行判定时,可以确定在所述显示器中展示面积最大的视频区域,并将所述展示面积最大的视频区域作为所述目标视频区域。例如,在所述显示器上展示的视频画面中,一部分为排球比赛,另一部分为啦啦队表演。而啦啦队表演的面积占据了整个显示器画面的90%,因此可以判定用户真正感兴趣的是展示啦啦队表演的视频区域。在本实施方式中,服务器在向客户端反馈全景视频数据时,所述全景视频数据中可以包含各个视频区域的标识。所述视频区域的标识可以是能够唯一表征视频区域的字符串。例如,在一个全景视频中总共包括三块视频区域,那么这三块视频区域的标识可以分别为“A001”、“A002”以及“A003”。那么在客户端确定了用户当前观看的目标视频 区域后,可以将该目标视频区域的标识作为所述用户当前的观看区域信息。In addition, in an embodiment of the present application, the identifier of each block of video regions may be included in the panoramic video data. Then, when the current viewing area information of the user is obtained, the video area with the largest area is displayed in the current viewing area of the user, and the identifier of the video area with the largest display area is used as the current viewing area information of the user. The current view of the user may refer to the area displayed by the display of the client to the user. Specifically, when only one video area is displayed on the display, the video area can be used as the target video area. When at least two video regions are displayed on the display, it is necessary to make a determination on the video region that the user is really interested in. Specifically, when the determination is made, a video area having the largest display area in the display may be determined, and a video area having the largest display area is used as the target video area. For example, some of the video images displayed on the display are volleyball matches, and the other part is a cheerleading performance. The area of the cheerleading performance occupies 90% of the entire display, so it can be judged that the user is really interested in the video area showing the cheerleading performance. In this embodiment, when the server feeds back the panoramic video data to the client, the panoramic video data may include an identifier of each video area. The identification of the video area may be a character string capable of uniquely characterizing the video area. For example, if a total of three video regions are included in one panoramic video, the identifiers of the three video regions may be “A001”, “A002”, and “A003”, respectively. Then, after the client determines the target video area currently viewed by the user, the identifier of the target video area may be used as the current viewing area information of the user.
在本实施方式中,当所述展示面积最大的视频区域的数量为至少两个时,可以对用户的视线进行判断,并将用户的视线对准的视频区域的标识作为所述用户当前的观看区域信息,具体地,当用户在使用VR眼镜时,可以通过对用户的瞳孔进行识别来确定用户当前的视线所对准的视频区域,从而可以将用户的视线所对准的视频区域作为所述目标视频区域。In this embodiment, when the number of the video areas with the largest display area is at least two, the line of sight of the user may be determined, and the identifier of the video area in which the line of sight of the user is aligned is used as the current viewing of the user. The area information, in particular, when the user is using the VR glasses, the video area to which the user's current line of sight is aligned can be determined by identifying the pupil of the user, so that the video area to which the user's line of sight is aligned can be used as the Target video area.
在本申请的一个实施方式中,所述全景视频数据中还可以包括各块视频区域的角度区间。具体地,所述全景视频中的视频区域可以通过角度信息来表征,这样,每块所述视频区域可以与角度信息相关联。具体地,由于所述全景视频为球体视频,那么与所述全景视频中的视频区域相关联的角度信息可以通过方位角和/或俯仰角来表示,还可以通过经度和/或纬度来表示。在本实施方式中,所述角度信息中可以包括起始角度信息和终止角度信息,从而可以通过所述起始角度信息和所述终止角度信息共同限定所述视频区域的角度区间。假设所述起始角度信息为东经30度和北纬20度,所述终止角度信息为东经60度和南纬20度,那么根据两条经线和两条纬线在所述球体视频上限定的区域便可以是所述视频区域。这样,在获取用户当前的观看区域信息时,可以确定用户当前的视线与基准视线之间的夹角,并确定所述夹角所处的角度区间,从而可以将确定的所述角度区间作为所述用户当前的观看区域信息。例如,用户当前视线对应的夹角为45度,而某个视频区域对应的角度区间为-50度至50度,那么可以确定用户当前正在观看该视频区域。这样,客户端便可以将-50度至50度的角度区间作为所述观看区域信息反馈给服务器。In an embodiment of the present application, the panoramic video data may further include an angular interval of each block of video regions. In particular, the video regions in the panoramic video may be characterized by angle information such that each of the video regions may be associated with angle information. Specifically, since the panoramic video is a sphere video, the angle information associated with the video region in the panoramic video may be represented by an azimuth and/or a pitch angle, and may also be represented by longitude and/or latitude. In this embodiment, the angle information may include start angle information and end angle information, so that the angle interval of the video area may be jointly defined by the start angle information and the end angle information. Assuming that the starting angle information is 30 degrees east longitude and 20 degrees north latitude, and the ending angle information is 60 degrees east longitude and 20 degrees south latitude, then the area defined on the sphere video according to the two warps and two weft lines is It can be the video area. In this way, when the current viewing area information of the user is acquired, the angle between the current line of sight of the user and the reference line of sight can be determined, and the angle interval in which the angle is located can be determined, so that the determined angle interval can be determined as The current viewing area information of the user. For example, if the current line of sight of the user corresponds to an angle of 45 degrees, and a certain video area corresponds to an angle range of -50 degrees to 50 degrees, then it can be determined that the user is currently viewing the video area. In this way, the client can feed the angle range of -50 degrees to 50 degrees as the viewing area information to the server.
在本申请的一个实施方式中,所述全景视频数据中还可以包括视频标签数据,所述视频标签数据可以用于表征每块所述视频区域所绑定的至少一个视频标签。具体地,在所述视频标签数据中,可以包括视频区域的标识与视频标签之间的关联关系。这样,客户端在接收到全景视频数据后,可以将全景视频数据中的视频标签数据存储于本地缓存中,并可以根据视频区域的标识,查询得到相应的视频标签。In an embodiment of the present application, the panoramic video data may further include video tag data, where the video tag data may be used to represent at least one video tag to which each of the video regions is bound. Specifically, in the video tag data, an association relationship between the identifier of the video area and the video tag may be included. In this way, after receiving the panoramic video data, the client can store the video tag data in the panoramic video data in the local cache, and can obtain the corresponding video tag according to the identifier of the video area.
在本实施方式中,所述客户端在接收到全景视频数据后,可以将所述全景视频数据渲染为全景视频,并可以在本地缓存中存储所述全景视频数据中的视频标签数据。所述客户端可以通过步骤S30中描述的方案来确定出用户当前观看的目标视频区域。在确定出所述目标视频区域之后,所述客户端可以根据本地缓存中的视频标签数据,查询到所述目标视频区域对应的视频标签。在查询到所述目标视频区域对应的视频标签后,所述 客户端可以将查询到的视频标签的整体或者其中的一部分作为目标视频标签发送给所述服务器。具体地,在从查询到的视频标签中抽取一部分标签时,可以随机抽取指定数量的不重复的视频标签,并将抽取的视频标签作为所述目标视频标签。此外,还可以统计每个视频标签作为搜索词的次数,并将统计次数较高的指定数量的视频标签作为所述目标视频标签。这样,所述客户端便可以确定与用户当前观看的目标视频区域相绑定的至少一个目标视频标签,并向所述服务器发送所述至少一个目标视频标签。在本实施方式中,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配可以指所述推荐视频数据表征的视频具备至少一个所述目标视频标签。In this embodiment, after receiving the panoramic video data, the client may render the panoramic video data as a panoramic video, and may store the video tag data in the panoramic video data in a local cache. The client may determine the target video area currently viewed by the user by using the scheme described in step S30. After determining the target video area, the client may query the video tag corresponding to the target video area according to the video tag data in the local cache. After querying the video tag corresponding to the target video area, the client may send the whole or a part of the queried video tag as the target video tag to the server. Specifically, when extracting a part of the tags from the queried video tags, a specified number of non-repeating video tags may be randomly extracted, and the extracted video tags are used as the target video tags. In addition, it is also possible to count the number of times each video tag is used as a search term, and use a specified number of video tags with a higher number of statistics as the target video tag. In this way, the client can determine at least one target video tag that is bound to the target video area currently viewed by the user, and send the at least one target video tag to the server. In this embodiment, the content displayed in the video represented by the recommended video data is adapted to the content displayed in the target video area, and may refer to that the video represented by the recommended video data is provided with at least one target video tag.
请参阅图6,本申请还提供一种客户端,所述客户端包括网络通信端口110、显示器210及处理器310。Referring to FIG. 6, the present application further provides a client, which includes a network communication port 110, a display 210, and a processor 310.
其中,所述网络通信端口110,用于向服务器发送视频加载请求和观看区域信息,并接收所述服务器反馈的全景视频数据和推荐视频数据;The network communication port 110 is configured to send a video loading request and viewing area information to the server, and receive the panoramic video data and the recommended video data fed back by the server;
所述显示器210,用于显示所述全景视频数据表征的全景视频并显示所述推荐视频数据表征的视频;The display 210 is configured to display a panoramic video represented by the panoramic video data and display a video represented by the recommended video data;
所述处理器310,用于控制所述网络通信端口向服务器发送视频加载请求,所述视频加载请求指向所述服务器中的全景视频数据;通过所述网络通信端口接收所述服务器反馈的所述全景视频数据,并根据所述全景视频数据渲染来得到全景视频;所述全景视频中包括至少两块展示不同内容的视频区域;获取用户当前的观看区域信息,并控制所述网络通信端口向所述服务器发送所述观看区域信息;所述观看区域信息用于表征用户当前观看的目标视频区域;通过所述网络通信端口接收所述服务器反馈的推荐视频数据;所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。The processor 310 is configured to control the network communication port to send a video loading request to a server, where the video loading request is directed to the panoramic video data in the server; and the network communication port receives the feedback that is sent by the server And obtaining panoramic video according to the panoramic video data, and the panoramic video includes at least two video regions displaying different contents; acquiring current viewing area information of the user, and controlling the network communication port to The server sends the viewing area information; the viewing area information is used to represent a target video area currently viewed by the user; the recommended video data fed back by the server is received through the network communication port; and the recommended video data is represented in the video The displayed content is adapted to the content displayed in the target video area.
在本实施方式中,所述网络通信端口110可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的80号端口,也可以是负责进行FTP数据通信的21号端口,还可以是负责进行邮件数据通信的25号端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。In this embodiment, the network communication port 110 may be a virtual port that is bound to a different communication protocol so that different data can be transmitted or received. For example, the network communication port may be port 80 responsible for web data communication, port 21 responsible for FTP data communication, and port 25 responsible for mail data communication. Furthermore, the network communication port can also be a physical communication interface or a communication chip. For example, it may be a wireless mobile network communication chip, such as GSM, CDMA, etc.; it may also be a Wifi chip; it may also be a Bluetooth chip.
在本实施方式中,所述显示器210可以是将一定的电子文件通过特定的传输设备显示到屏幕上再反射到人眼的显示工具。所述显示器可以包括液晶显示屏(LCD)、阴极射线管(CRT)显示屏、发光二极管(LED)显示屏等。In this embodiment, the display 210 may be a display tool that displays a certain electronic file to a screen through a specific transmission device and then reflects it to the human eye. The display may include a liquid crystal display (LCD), a cathode ray tube (CRT) display, a light emitting diode (LED) display, and the like.
所述处理器310可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如,软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。The processor 310 can be implemented in any suitable manner. For example, a processor can employ, for example, a microprocessor or processor and a computer readable medium, logic gate, switch, application specific integrated circuit that stores computer readable program code (eg, software or firmware) executable by the (micro)processor. (Application Specific Integrated Circuit, ASIC), programmable logic controller and embedded microcontroller form, etc. This application is not limited.
上述实施方式公开的客户端,其网络通信端口110、显示器210以及处理器310实现的具体功能,可以与本申请中客户端一侧的视频推荐方法的实施方式相对照解释,可以实现本申请的视频推荐方法的实施方式并达到方法实施方式的技术效果。The specific functions implemented by the network communication port 110, the display 210, and the processor 310 of the client disclosed in the foregoing embodiments may be compared with the implementation manner of the video recommendation method on the client side of the present application, and the present application may be implemented. The implementation of the video recommendation method achieves the technical effect of the method implementation.
由上可见,本申请可以接收客户端发来的观看区域信息,所述观看区域信息可以用于表征用户在观看全景视频时当前所观看的目标视频区域。那么,在向用户推荐视频时,可以根据所述目标视频区域中展示的内容,将与该展示的内容相适配的视频推荐给用户。这样,尽管全景视频中包含的信息较多,但本申请的技术方案还是能够根据用户实际观看的视频区域,向用户推荐其真正感兴趣的视频,从而提高了视频推荐的有效性。As can be seen from the above, the present application can receive viewing area information sent by the client, and the viewing area information can be used to represent the target video area currently viewed by the user when viewing the panoramic video. Then, when the video is recommended to the user, the video adapted to the content of the display may be recommended to the user according to the content displayed in the target video area. In this way, although the information contained in the panoramic video is more, the technical solution of the present application can recommend the video that is really interested to the user according to the video area actually viewed by the user, thereby improving the effectiveness of the video recommendation.
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作 逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。In the 1990s, improvements to a technology could clearly distinguish between hardware improvements (eg, improvements to circuit structures such as diodes, transistors, switches, etc.) or software improvements (for process flow improvements). However, as technology advances, many of today's method flow improvements can be seen as direct improvements in hardware circuit architecture. Designers almost always get the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented by hardware entity modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is an integrated circuit whose logic function is determined by the user programming the device. Designers program themselves to "integrate" a digital system on a single PLD without having to ask the chip manufacturer to design and fabricate a dedicated integrated circuit chip. Moreover, today, instead of manually making integrated circuit chips, this programming is mostly implemented using "logic compiler" software, which is similar to the software compiler used in programming development, but before compiling The original code has to be written in a specific programming language. This is called the Hardware Description Language (HDL). HDL is not the only one, but there are many kinds, such as ABEL (Advanced Boolean Expression Language). AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., are currently the most commonly used VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog2. It should also be apparent to those skilled in the art that the hardware flow for implementing the logic method flow can be easily obtained by simply programming the method flow into the integrated circuit with a few hardware description languages as described above.
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端、服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端、服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端、服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。Those skilled in the art also know that in addition to implementing the client and the server in a purely computer readable program code, the logic steps can be used to make the client and the server use logic gates, switches, ASICs, and programmable logic. Controllers and embedded microcontrollers, etc., implement the same functionality. Thus such a client, server can be considered a hardware component, and the means for implementing various functions included therein can also be considered as a structure within the hardware component. Or even a device for implementing various functions can be considered as a software module that can be both a method of implementation and a structure within a hardware component.
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。It will be apparent to those skilled in the art from the above description of the embodiments that the present application can be implemented by means of software plus a necessary general hardware platform. Based on such understanding, the technical solution of the present application may be embodied in the form of a software product in essence or in the form of a software product, which may be stored in a storage medium such as a ROM/RAM or a disk. , an optical disk, etc., includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods described in various embodiments of the present application or portions of the embodiments.
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对服务器和客户端的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。The various embodiments in the specification are described in a progressive manner, and the same or similar parts between the various embodiments may be referred to each other, and each embodiment focuses on differences from other embodiments. In particular, for the embodiment of the server and the client, reference can be made to the introduction and comparison of the embodiments of the foregoing method.
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。The application can be described in the general context of computer-executable instructions executed by a computer, such as a program module. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types. The present application can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including storage devices.
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。While the present invention has been described by the embodiments of the present invention, it will be understood by those skilled in the art

Claims (16)

  1. 一种视频推荐方法,其特征在于,所述方法包括:A video recommendation method, the method comprising:
    接收客户端发来的视频加载请求,所述视频加载请求指向全景视频数据;其中,所述全景视频数据表征的全景视频中包括至少两块展示不同内容的视频区域;Receiving a video loading request sent by the client, where the video loading request is directed to the panoramic video data; wherein the panoramic video data represented by the panoramic video data includes at least two video regions displaying different content;
    向所述客户端反馈所述全景视频数据,以使得所述客户端根据所述全景视频数据渲染来得到所述全景视频;And feeding back the panoramic video data to the client, so that the client obtains the panoramic video according to the panoramic video data rendering;
    接收所述客户端发来的观看区域信息,所述观看区域信息用于表征用户当前观看的目标视频区域;Receiving viewing area information sent by the client, where the viewing area information is used to represent a target video area currently viewed by the user;
    基于所述观看区域信息,向所述客户端反馈推荐视频数据;其中,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。And recommending, to the client, recommendation video data based on the viewing area information; wherein the content displayed in the video represented by the recommended video data is adapted to content displayed in the target video area.
  2. 根据权利要求1所述的方法,其特征在于,每块所述视频区域与至少一个视频标签相绑定;相应地,基于所述观看区域信息,向所述客户端反馈推荐视频数据包括:The method according to claim 1, wherein each of the video regions is bound to at least one video tag; and correspondingly, the recommending video data to the client based on the viewing region information comprises:
    确定与所述观看区域信息表征的目标视频区域相绑定的至少一个目标视频标签,并基于所述至少一个目标视频标签向所述客户端反馈推荐视频数据。Determining at least one target video tag bound to the target video region characterized by the viewing area information, and feeding the recommended video data to the client based on the at least one target video tag.
  3. 根据权利要求2所述的方法,其特征在于,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配包括:The method according to claim 2, wherein the content displayed in the video represented by the recommended video data is adapted to the content displayed in the target video area, including:
    所述推荐视频数据表征的视频具备至少一个所述目标视频标签。The video characterized by the recommended video data is provided with at least one of the target video tags.
  4. 根据权利要求1所述的方法,其特征在于,每块所述视频区域与角度信息相关联;所述角度信息用于表征所述视频区域在所述全景视频中所处的位置;所述角度信息中包括起始角度信息和终止角度信息,其中,所述起始角度信息和所述终止角度信息共同限定所述视频区域的角度区间。The method of claim 1 wherein each of said video regions is associated with angle information; said angle information being used to characterize a location of said video region in said panoramic video; said angle The information includes start angle information and end angle information, wherein the start angle information and the end angle information together define an angular interval of the video region.
  5. 根据权利要求4所述的方法,其特征在于,所述观看区域信息中包括用户的当前视线与基准视线之间的夹角;相应地,所述观看区域信息表征用户当前观看的目标视频区域包括:The method according to claim 4, wherein the viewing area information includes an angle between a current line of sight of the user and a reference line of sight; and correspondingly, the viewing area information represents that the target video area currently viewed by the user includes :
    确定所述夹角所处的角度区间,并将与所确定的所述角度区间对应的视频区域确定为所述用户当前观看的目标视频区域。Determining an angle interval in which the angle is located, and determining a video region corresponding to the determined angle interval as a target video region currently viewed by the user.
  6. 根据权利要求1所述的方法,其特征在于,向所述客户端反馈的全景视频数据中还包括视频标签数据,所述视频标签数据用于表征每块所述视频区域所绑定的至少一个视频标签;相应地,所述方法还包括:The method according to claim 1, wherein the panoramic video data fed back to the client further comprises video tag data, and the video tag data is used to represent at least one of the video regions bound to each block. a video tag; correspondingly, the method further includes:
    接收所述客户端发来的至少一个目标视频标签,所述目标视频标签根据用户观看的目标视频区域来确定;Receiving at least one target video tag sent by the client, where the target video tag is determined according to a target video area viewed by the user;
    基于所述至少一个目标视频标签向所述客户端反馈推荐视频数据;其中,根据所述推荐视频数据渲染得到的视频具备至少一个所述目标视频标签。And recommending the video data to the client based on the at least one target video tag; wherein the video rendered according to the recommended video data is provided with at least one of the target video tags.
  7. 根据权利要求1所述的方法,其特征在于,所述观看区域信息中还包括用户观看所述目标视频区域的时长;相应地,基于所述观看区域信息,向所述客户端反馈推荐视频数据包括:The method according to claim 1, wherein the viewing area information further includes a duration of time that the user views the target video area; and correspondingly, the recommended video data is fed back to the client based on the viewing area information. include:
    当用户观看所述目标视频区域的时长达到指定时长时,向所述客户端反馈推荐视频数据。When the user views the target video area for a specified length of time, the recommended video data is fed back to the client.
  8. 一种服务器,其特征在于,所述服务器包括网络通信端口、存储器以及处理器,其中:A server, comprising: a network communication port, a memory, and a processor, wherein:
    所述网络通信端口,用于接收客户端发来的视频加载请求和观看区域信息,并向所述客户端反馈全景视频数据和推荐视频数据;The network communication port is configured to receive a video loading request and a viewing area information sent by the client, and feed back the panoramic video data and the recommended video data to the client;
    所述存储器,用于存储全景视频数据;The memory is configured to store panoramic video data;
    所述处理器,用于通过所述网络通信端口接收所述客户端发来的视频加载请求,所述视频加载请求指向所述存储器中的全景视频数据;其中,所述全景视频数据表征的全景视频中包括至少两块展示不同内容的视频区域;控制所述网络通信端口向所述客户端反馈所述全景视频数据,以使得所述客户端根据所述全景视频数据渲染来得到所述全景视频;通过所述网络通信端口接收所述客户端发来的观看区域信息,所述观看区域信息用于表征用户当前观看的目标视频区域;基于所述观看区域信息,控制所述网络通信端口向所述客户端反馈推荐视频数据;其中,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。The processor, configured to receive, by using the network communication port, a video loading request sent by the client, where the video loading request is directed to the panoramic video data in the memory; wherein the panoramic video data represents a panoramic view The video includes at least two video regions displaying different contents; controlling the network communication port to feed back the panoramic video data to the client, so that the client obtains the panoramic video according to the panoramic video data rendering. Receiving, by the network communication port, viewing area information sent by the client, the viewing area information is used to represent a target video area currently viewed by the user; and the network communication port is controlled based on the viewing area information The client feedbacks the recommended video data; wherein the content displayed in the video represented by the recommended video data is adapted to the content displayed in the target video region.
  9. 一种视频推荐方法,其特征在于,所述方法包括:A video recommendation method, the method comprising:
    向服务器发送视频加载请求,所述视频加载请求指向所述服务器中的全景视频数据;Sending a video loading request to the server, the video loading request pointing to the panoramic video data in the server;
    接收所述服务器反馈的所述全景视频数据,并根据所述全景视频数据渲染来得到全景视频;所述全景视频中包括至少两块展示不同内容的视频区域;Receiving the panoramic video data fed back by the server, and obtaining a panoramic video according to the panoramic video data rendering; the panoramic video includes at least two video regions displaying different contents;
    获取用户当前的观看区域信息,并向所述服务器发送所述观看区域信息;所述观看区域信息用于表征用户当前观看的目标视频区域;Obtaining current viewing area information of the user, and sending the viewing area information to the server; the viewing area information is used to represent a target video area currently viewed by the user;
    接收所述服务器反馈的推荐视频数据;所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。Receiving recommended video data fed back by the server; content displayed in the video characterized by the recommended video data is adapted to content displayed in the target video area.
  10. 根据权利要求9所述的方法,其特征在于,获取用户当前的观看区域信息包括:The method according to claim 9, wherein the obtaining the current viewing area information of the user comprises:
    确定用户当前的视线与基准视线之间的夹角,并将所述夹角作为所述用户当前的观看区域信息。The angle between the current line of sight of the user and the reference line of sight is determined, and the included angle is used as the current viewing area information of the user.
  11. 根据权利要求9所述的方法,其特征在于,所述全景视频数据中包括各块视频区域的标识;相应地,获取用户当前的观看区域信息包括:The method according to claim 9, wherein the panoramic video data includes an identifier of each of the video regions; and correspondingly, acquiring the current viewing region information of the user includes:
    确定在用户当前的视域中展示面积最大的视频区域,并将所述展示面积最大的视频区域的标识作为所述用户当前的观看区域信息。The video area with the largest area is displayed in the current view field of the user, and the identifier of the video area with the largest display area is used as the current viewing area information of the user.
  12. 根据权利要求11所述的方法,其特征在于,所述方法还包括:The method of claim 11 wherein the method further comprises:
    当所述展示面积最大的视频区域的数量为至少两个时,将用户的视线对准的视频区域的标识作为所述用户当前的观看区域信息。When the number of the video areas with the largest display area is at least two, the identifier of the video area in which the user's line of sight is aligned is used as the current viewing area information of the user.
  13. 根据权利要求9所述的方法,其特征在于,所述全景视频数据中包括各块视频区域的角度区间;相应地,获取用户当前的观看区域信息包括:The method according to claim 9, wherein the panoramic video data includes an angular interval of each of the video regions; and correspondingly, acquiring the current viewing region information of the user includes:
    确定用户当前的视线与基准视线之间的夹角,并确定所述夹角所处的角度区间;Determining an angle between a current line of sight of the user and a reference line of sight, and determining an angular interval at which the angle is included;
    将所确定的所述角度区间作为所述用户当前的观看区域信息。The determined angle interval is used as the current viewing area information of the user.
  14. 根据权利要求9所述的方法,其特征在于,所述全景视频数据中还包括视频标签数据,所述视频标签数据用于表征每块所述视频区域所绑定的至少一个视频标签;相应地,所述方法还包括:The method according to claim 9, wherein the panoramic video data further comprises video tag data, wherein the video tag data is used to represent at least one video tag to which each of the video regions is bound; The method further includes:
    确定与用户当前观看的目标视频区域相绑定的至少一个目标视频标签,并向所述服务器发送所述至少一个目标视频标签。Determining at least one target video tag bound to a target video area currently viewed by the user, and transmitting the at least one target video tag to the server.
  15. 根据权利要求14所述的方法,其特征在于,所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配包括:The method according to claim 14, wherein the content displayed in the video represented by the recommended video data is adapted to the content displayed in the target video area, including:
    所述推荐视频数据表征的视频具备至少一个所述目标视频标签。The video characterized by the recommended video data is provided with at least one of the target video tags.
  16. 一种客户端,其特征在于,所述客户端包括网络通信端口、显示器及处理器,其中:A client, characterized in that the client comprises a network communication port, a display and a processor, wherein:
    所述网络通信端口,用于向服务器发送视频加载请求和观看区域信息,并接收所述服务器反馈的全景视频数据和推荐视频数据;The network communication port is configured to send a video loading request and viewing area information to the server, and receive the panoramic video data and the recommended video data fed back by the server;
    所述显示器,用于显示所述全景视频数据表征的全景视频并显示所述推荐视频数据表征的视频;The display is configured to display a panoramic video characterized by the panoramic video data and display a video characterized by the recommended video data;
    所述处理器,用于控制所述网络通信端口向服务器发送视频加载请求,所述视频加载请求指向所述服务器中的全景视频数据;通过所述网络通信端口接收所述服务器反馈的所述全景视频数据,并根据所述全景视频数据渲染来得到全景视频;所述全景视频中包括至少两块展示不同内容的视频区域;获取用户当前的观看区域信息,并控制所述网络通信端口向所述服务器发送所述观看区域信息;所述观看区域信息用于表征用户当前观看的目标视频区域;通过所述网络通信端口接收所述服务器反馈的推荐视频数据;所述推荐视频数据表征的视频中展示的内容与所述目标视频区域中展示的内容相适配。The processor is configured to control the network communication port to send a video loading request to a server, where the video loading request is directed to the panoramic video data in the server; and the panoramic view fed back by the server is received by the network communication port Video data, and obtaining a panoramic video according to the panoramic video data rendering; the panoramic video includes at least two video regions displaying different content; acquiring current viewing area information of the user, and controlling the network communication port to the The server sends the viewing area information; the viewing area information is used to represent the target video area currently viewed by the user; the recommended video data fed back by the server is received through the network communication port; and the recommended video data is represented in the video. The content is adapted to the content displayed in the target video area.
PCT/CN2018/071527 2017-04-21 2018-01-05 Video recommendation method, server, and client WO2018192276A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710267151.7A CN108737850B (en) 2017-04-21 2017-04-21 Video recommendation method, server and client
CN201710267151.7 2017-04-21

Publications (1)

Publication Number Publication Date
WO2018192276A1 true WO2018192276A1 (en) 2018-10-25

Family

ID=63855526

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/071527 WO2018192276A1 (en) 2017-04-21 2018-01-05 Video recommendation method, server, and client

Country Status (3)

Country Link
CN (1) CN108737850B (en)
TW (1) TWI702841B (en)
WO (1) WO2018192276A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040282A (en) * 2020-08-10 2020-12-04 深圳创维-Rgb电子有限公司 Information publishing method, system, television and storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104914B (en) * 2019-06-18 2022-09-13 中国移动通信集团浙江有限公司 Video recommendation method and device
CN111309147A (en) * 2020-02-12 2020-06-19 咪咕视讯科技有限公司 Panoramic video playing method and device and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905916A (en) * 2012-12-25 2014-07-02 中国科学院声学研究所 Region-oriented set top box P2P-Vod system and data pre-deployment method
CN103973965A (en) * 2013-01-29 2014-08-06 索尼公司 Image capture apparatus, image capture method, and image capture program
US20140232819A1 (en) * 2013-02-19 2014-08-21 Tourwrist, Inc. Systems and methods for generating and sharing panoramic moments
CN104010225A (en) * 2014-06-20 2014-08-27 合一网络技术(北京)有限公司 Method and system for displaying panoramic video
CN104820665A (en) * 2014-03-17 2015-08-05 腾讯科技(北京)有限公司 Method, terminal and server for exhibiting recommendation information
CN105828206A (en) * 2016-03-22 2016-08-03 乐视网信息技术(北京)股份有限公司 Multi-video on-demand method and device
CN106331732A (en) * 2016-09-26 2017-01-11 北京疯景科技有限公司 Method for generating panoramic content, method for displaying panoramic content and corresponding devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763607B (en) * 2008-12-25 2013-04-24 上海杰图软件技术有限公司 Online exhibition platform system constructed by using panoramic electronic map and construction method thereof
US9406153B2 (en) * 2011-12-14 2016-08-02 Microsoft Technology Licensing, Llc Point of interest (POI) data positioning in image
US8868481B2 (en) * 2011-12-14 2014-10-21 Google Inc. Video recommendation based on video co-occurrence statistics
CN105404698A (en) * 2015-12-31 2016-03-16 海信集团有限公司 Education video recommendation method and device
CN106101741B (en) * 2016-07-26 2020-12-15 武汉斗鱼网络科技有限公司 Method and system for watching panoramic video on network video live broadcast platform

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905916A (en) * 2012-12-25 2014-07-02 中国科学院声学研究所 Region-oriented set top box P2P-Vod system and data pre-deployment method
CN103973965A (en) * 2013-01-29 2014-08-06 索尼公司 Image capture apparatus, image capture method, and image capture program
US20140232819A1 (en) * 2013-02-19 2014-08-21 Tourwrist, Inc. Systems and methods for generating and sharing panoramic moments
CN104820665A (en) * 2014-03-17 2015-08-05 腾讯科技(北京)有限公司 Method, terminal and server for exhibiting recommendation information
CN104010225A (en) * 2014-06-20 2014-08-27 合一网络技术(北京)有限公司 Method and system for displaying panoramic video
CN105828206A (en) * 2016-03-22 2016-08-03 乐视网信息技术(北京)股份有限公司 Multi-video on-demand method and device
CN106331732A (en) * 2016-09-26 2017-01-11 北京疯景科技有限公司 Method for generating panoramic content, method for displaying panoramic content and corresponding devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040282A (en) * 2020-08-10 2020-12-04 深圳创维-Rgb电子有限公司 Information publishing method, system, television and storage medium

Also Published As

Publication number Publication date
TW201840196A (en) 2018-11-01
CN108737850A (en) 2018-11-02
TWI702841B (en) 2020-08-21
CN108737850B (en) 2020-03-03

Similar Documents

Publication Publication Date Title
US11722727B2 (en) Special effect processing method and apparatus for live broadcasting, and server
US20210248830A1 (en) Contextual local image recognition dataset
US20180152767A1 (en) Providing related objects during playback of video data
TWI663874B (en) Video playback, data providing method, client and server in virtual scene
US20190138815A1 (en) Method, Apparatus, User Terminal, Electronic Equipment, and Server for Video Recognition
US11099809B2 (en) Display apparatus and control method thereof
US20140101691A1 (en) Method and system for automatic tagging in television using crowd sourcing technique
EP3425483B1 (en) Intelligent object recognizer
CN111314759B (en) Video processing method and device, electronic equipment and storage medium
US8811673B1 (en) Intelligent TV system and method
WO2018192276A1 (en) Video recommendation method, server, and client
US9600720B1 (en) Using available data to assist in object recognition
US11431772B2 (en) Skipping content of lesser interest when streaming media
WO2019007017A1 (en) Method for displaying and providing video result item, client, and server
US20170013309A1 (en) System and method for product placement
US10606884B1 (en) Techniques for generating representative images
US10003834B1 (en) Enhanced trick mode to enable presentation of information related to content being streamed
US11249823B2 (en) Methods and systems for facilitating application programming interface communications
US10990456B2 (en) Methods and systems for facilitating application programming interface communications
US20230051112A1 (en) Apparatus of selecting video content for augmented reality, user terminal and method of providing video content for augmented reality
US11843829B1 (en) Systems and methods for recommending content items based on an identified posture
US10586367B2 (en) Interactive cinemagrams
TW202345607A (en) Systems and methods for streaming-based ojbect recognition
WO2020247259A1 (en) Methods and systems for facilitating application programming interface communications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18787315

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 20.02.2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18787315

Country of ref document: EP

Kind code of ref document: A1