Method and device for pushing video

By receiving user images to calculate video similarity and select candidate videos, the problem of inaccurate video push in the prior art is solved, and efficient video matching and traffic saving is achieved.

CN111949819BActive Publication Date: 2025-09-05DOUYIN VISION CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN201910408019.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-05-15
Publication Date
2025-09-05
Estimated Expiration
2039-05-15

AI Technical Summary

Technical Problem

The existing keyword-based information push method is difficult to accurately match the user's video viewing intention, resulting in users needing to browse a large number of irrelevant videos, increasing traffic consumption of terminal devices and servers.

Method used

By receiving the user's image, obtaining the candidate push video set, calculating the similarity between the image and the video, and selecting the candidate push video based on the similarity, and directly extracting keyframes from the video for matching, reducing calculation complexity and traffic consumption.

Benefits of technology

It improves the matching degree of video push, reduces the number of videos that users need to browse, and reduces the traffic consumption of terminal devices and servers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111949819B_ABST
    Figure CN111949819B_ABST
Patent Text Reader

Abstract

The embodiments of the present disclosure disclose a method and apparatus for pushing videos. A specific implementation of the method includes: receiving an image sent by a target user via a corresponding terminal device; obtaining a set of candidate push videos; determining the similarity between the image and a candidate push video in the set; selecting a candidate push video from the set based on the similarities corresponding to the candidate push videos in the set; and pushing the selected candidate push video to the terminal device corresponding to the target user. This implementation helps improve the matching degree between the videos pushed to the user and the user's intent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate to the field of computer technology, and more particularly, to a method and apparatus for pushing videos. Background Art

[0002] Currently, keyword-based information push is one of the most common ways to push information. Specifically, users enter keywords based on their search intent, and then the server analyzes the user's search intent based on the keywords and selects information based on the analysis results and pushes it to the user. Summary of the Invention

[0003] Embodiments of the present disclosure provide a method and apparatus for pushing videos.

[0004] In a first aspect, an embodiment of the present disclosure provides a method for pushing videos, the method comprising: receiving an image sent by a target user through a corresponding terminal device; obtaining a set of candidate push videos; for a candidate push video in the candidate push video set, determining the similarity between the image and the candidate push video; selecting a candidate push video from the candidate push video set according to the similarities corresponding to the candidate push videos in the candidate push video set; and pushing the selected candidate push video to the terminal device corresponding to the target user.

[0005] In some embodiments, determining the similarity between the image and the candidate pushed video includes: extracting a first number of frames of the candidate pushed video; and determining the similarity between the image and the first number of frames as the similarity between the image and the candidate pushed video.

[0006] In some embodiments, extracting a first number of frames of the candidate pushed video includes: extracting a first number of frames of the candidate pushed video based on the image.

[0007] In some embodiments, based on the image, a first number of frames of the candidate push video are extracted, including: evenly dividing the candidate push video into a second number of sub-videos; determining the similarity between the sub-videos in the second number of sub-videos and the image to obtain a similarity set; for the sub-videos in the second number of sub-videos, determining the quotient of the similarity corresponding to the sub-video divided by the sum of the similarities in the similarity set, and determining the product of the obtained quotient and the first number as the target number corresponding to the sub-video; and extracting the target number of frames from the sub-video.

[0008] In some embodiments, selecting candidate push videos from the candidate push video set according to the similarities corresponding to the candidate push videos in the candidate push video set includes: selecting candidate push videos from the candidate push video set in descending order of the corresponding similarities.

[0009] In the second aspect, an embodiment of the present disclosure provides a device for pushing videos, which includes: a receiving unit, configured to receive an image sent by a target user through a corresponding terminal device; an acquisition unit, configured to acquire a set of candidate push videos; a determination unit, configured to determine the similarity between the image and the candidate push video in the candidate push video set; a selection unit, configured to select a candidate push video from the candidate push video set according to the similarities corresponding to the candidate push videos in the candidate push video set; and a pushing unit, configured to push the selected candidate push video to the terminal device corresponding to the target user.

[0010] In some embodiments, the determination unit is further configured to: extract a first number of frames of the candidate pushed video; and determine the similarity between the image and the first number of frames as the similarity between the image and the candidate pushed video.

[0011] In some embodiments, the determination unit is further configured to: extract a first number of frames of the candidate pushed video based on the image.

[0012] In some embodiments, the above-mentioned determination unit is further configured to: evenly divide the candidate push video into a second number of sub-videos; determine the similarity between the sub-videos in the second number of sub-videos and the image to obtain a similarity set; for the sub-videos in the second number of sub-videos, determine the quotient of the similarity corresponding to the sub-video divided by the sum of the similarities in the similarity set, and determine the product of the obtained quotient and the first number as the target number corresponding to the sub-video; extract the target number of frames from the sub-video.

[0013] In some embodiments, the selection unit is further configured to select candidate push videos from the candidate push video set in descending order of corresponding similarities.

[0014] In a third aspect, an embodiment of the present disclosure provides a server comprising: one or more processors; a storage device for storing one or more programs; and when the one or more programs are executed by one or more processors, the one or more processors implement the method described in any implementation manner in the first aspect.

[0015] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the method described in any implementation manner in the first aspect.

[0016] The method and apparatus for pushing videos provided by the embodiments of the present disclosure enable pushing corresponding videos to users based on images sent by users. Since the images sent by users usually express the user's intentions, it can be considered that the push information expected by the user has a certain degree of similarity with the images sent by the user. Based on this, by comparing the similarities between each candidate push video and the image sent by the user, and selecting the candidate push video to push to the user's corresponding terminal device based on the obtained similarity, it helps to improve the matching degree between the video pushed to the user and the user's intention, thereby reducing the time it takes for the user to receive the video they expect, that is, reducing the number of videos that the user needs to browse before receiving the video they expect. As a result, the traffic consumption of the user's corresponding terminal device and the server that pushes the video is reduced in this process. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Other features, objects and advantages of the present disclosure will become more apparent from a reading of the detailed description of non-limiting embodiments made with reference to the following drawings:

[0018] Figure 1 is an exemplary system architecture diagram in which an embodiment of the present disclosure may be applied;

[0019] Figure 2 is a flow chart of an embodiment of a method for pushing a video according to the present disclosure;

[0020] Figure 3 is a schematic diagram of an application scenario of a method for pushing a video according to an embodiment of the present disclosure;

[0021] Figure 4 is a flowchart of another embodiment of a method for pushing a video according to the present disclosure;

[0022] Figure 5 is a structural diagram of an embodiment of an apparatus for pushing videos according to the present disclosure;

[0023] Figure 6 It is a schematic structural diagram of an electronic device suitable for implementing the embodiments of the present disclosure. DETAILED DESCRIPTION

[0024] The present disclosure will be further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are intended only to illustrate the relevant invention and are not intended to limit the invention. It should also be noted that, for ease of description, only portions relevant to the relevant invention are shown in the accompanying drawings.

[0025] It should be noted that, in the absence of conflict, the embodiments and features of the embodiments in the present disclosure may be combined with each other. The present disclosure will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0026] Figure 1 An exemplary architecture 100 is shown to which an embodiment of a method for pushing a video or an apparatus for pushing a video of the present disclosure may be applied.

[0027] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. Network 104 is a medium for providing communication links between terminal devices 101, 102, 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links or fiber optic cables.

[0028] Terminal devices 101, 102, and 103 interact with server 105 via network 104 to receive or send messages, etc. Various client applications may be installed on terminal devices 101, 102, and 103, such as browser applications, search applications, information sharing applications, and social applications.

[0029] The terminal devices 101, 102, and 103 can be hardware or software. When the terminal devices 101, 102, and 103 are hardware, they can be various electronic devices with a display screen and support image and video display, including but not limited to smart phones, tablet computers, e-book readers, laptop computers, and desktop computers, etc. When the terminal devices 101, 102, and 103 are software, they can be installed in the electronic devices listed above. They can be implemented as multiple software or software modules (for example, multiple software or software modules for providing distributed services), or they can be implemented as a single software or software module. No specific limitation is made here.

[0030] The server 105 may be a server that provides various services, such as a backend server that pushes corresponding videos to the terminal devices 101, 102, and 103 based on the images sent by the terminal devices 101, 102, and 103. The backend server may determine the similarity between the image sent by the user and each candidate push video, and then select a candidate push video based on the determined similarity and push it to the terminal devices 101, 102, and 103.

[0031] It should be noted that the method for pushing videos provided in the embodiments of the present disclosure is generally executed by the server 105 , and accordingly, the device for pushing videos is generally provided in the server 105 .

[0032] It should be noted that the server can be either hardware or software. When the server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When the server is software, it can be implemented as multiple software or software modules (e.g., multiple software or software modules used to provide distributed services), or as a single software or software module. No specific limitations are given here.

[0033] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is merely illustrative. Any number of terminal devices, networks and servers may be provided as required.

[0034] Continue to refer Figure 2 , which shows a process 200 of an embodiment of a method for pushing a video according to the present disclosure. The method for pushing a video includes the following steps:

[0035] Step 201: Receive an image sent by a target user via a corresponding terminal device.

[0036] In this embodiment, the execution subject of the method for pushing a video (such as Figure 1 The server 105 shown in FIG. 105 may receive data from a terminal device (such as a Figure 1 The image is sent by the terminal devices 101, 102, 103) shown.

[0037] The target user may be a user corresponding to any terminal device that is communicatively connected to the execution subject. The image may be an image stored in the terminal device or an image captured instantly by the target user using the terminal device.

[0038] When a target user has a video they want to watch, they can send an image to express their desired video. For example, if a user sees a music poster in a store and wants to watch the music video (MV) corresponding to the song, they can use their terminal device to take a photo of the poster and send it to the execution entity.

[0039] Step 202: Obtain a candidate push video set.

[0040] In this embodiment, the candidate push video set may be a set of videos pre-specified by a technician, or a set of videos selected based on a preset condition.

[0041] For example, a target video set can be obtained by first acquiring a set of target videos from a database connected to the aforementioned execution entity. The target user's historical behavior data can then be obtained. Based on this historical behavior data, existing click-through rate prediction methods can be used to predict the target user's click-through rate for each target video in the target video set. Subsequently, based on a set click-through rate threshold, target videos with click-through rates exceeding the threshold can be selected from the target video set as candidate push videos, thereby obtaining a candidate push video set.

[0042] Step 203 : For a candidate push video in the candidate push video set, determine the similarity between the image and the candidate push video.

[0043] In this embodiment, the similarity between each candidate pushed video and the image sent by the target user is determined. Various similarity determination methods can be flexibly selected according to different application scenarios.

[0044] Alternatively, using a candidate push video as an example, various existing feature extraction methods can be used to extract a feature vector representing the characteristics of the candidate push video, as well as a feature vector representing the characteristics of the image sent by the target user. Furthermore, the similarity between the two extracted feature vectors can be directly calculated as the similarity between the candidate push video and the image sent by the target user.

[0045] In some optional implementations of this embodiment, taking a candidate push video as an example, a first number of frames of the candidate push video may be extracted, and then the similarity between the image sent by the target user and the first number of frames may be determined as the similarity between the image sent by the target user and the candidate push video.

[0046] The first number may be preset by a technician, or may be determined based on some attributes of the candidate pushed videos (such as frame rate, etc.).

[0047] When extracting the frames of the candidate pushed video, the first number of frames of the candidate pushed video may be randomly extracted, or the first number of frames of the candidate pushed video may be extracted using various existing key frame extraction methods.

[0048] Optionally, a first number of frames of the candidate pushed video may be extracted based on the image sent by the user.

[0049] As an example, an image sent by a user can be analyzed to identify a key object displayed in the image. Then, frames displaying the key object are preferentially selected from the candidate push video. For example, if no frames displaying the key object are identified in the candidate push video, a first number of frames can be randomly selected. If frames displaying the key object are identified in the candidate push video, these frames displaying the key object are preferentially selected.

[0050] After obtaining the first number of frames, the similarity between the image sent by the target user and each frame can be determined. Thereafter, the similarity between the image sent by the target user and the candidate pushed video can be determined based on the obtained similarities.

[0051] For example, the maximum similarity may be selected as the similarity between the image sent by the target user and the candidate pushed video. In another example, the average value of the similarities may be determined as the similarity between the image sent by the target user and the candidate pushed video.

[0052] Step 204 : Select a candidate push video from the candidate push video set according to the similarities corresponding to the candidate push videos in the candidate push video set.

[0053] In this embodiment, a preset similarity threshold may be used to first select candidate push videos whose corresponding similarities are greater than the threshold. Several candidate push videos may then be randomly selected from these selected candidate push videos, or a uniform selection may be made based on the distribution of the similarities of these selected candidate push videos.

[0054] The specific number of selections can be preset by a technician or determined based on specific screening conditions.

[0055] In some optional implementations of this embodiment, candidate push videos may be selected from the candidate push video set in descending order of corresponding similarities.

[0056] Step 205: Push the selected candidate push video to the terminal device corresponding to the target user.

[0057] Continue to see Figure 3 , Figure 3 FIG3 is a schematic diagram 300 of an application scenario of the method for pushing a video according to this embodiment. Figure 3 In the application scenario, a user can take an image 302 by using a terminal device 301 and send the image 302 to the execution subject. The execution subject can obtain a candidate push video set 304 from a connected database 303.

[0058] Next, the similarity between each candidate push video in candidate push video set 304 and image 302 can be determined. As shown in the figure, candidate push video set 304 includes three videos, with similarities of 0.85, 0.5, and 0.4 to image 302, respectively. The candidate push video with the highest similarity can then be selected and pushed to terminal device 301.

[0059] The method provided by the above-mentioned embodiment of the present disclosure compares the similarity between each candidate push video and the image sent by the user, and selects the candidate push video based on the obtained similarity and pushes it to the terminal device corresponding to the user. Since the image sent by the user usually expresses the user's intention, it can be considered that the push information expected by the user has a certain similarity with the image sent by the user. Therefore, in this way, the matching degree between the video pushed to the user and the user's intention can be improved, thereby reducing the time it takes for the user to receive the video he expects, that is, reducing the number of videos that the user needs to browse before receiving the video he expects. As a result, the traffic consumption of the terminal device corresponding to the user and the server that pushes the video is reduced in this process.

[0060] Further references Figure 4 , which shows a process 400 of another embodiment of a method for pushing a video. The process 400 of the method for pushing a video includes the following steps:

[0061] Step 401: Receive an image sent by a target user via a corresponding terminal device.

[0062] Step 402: Obtain a candidate push video set.

[0063] The specific execution process of the above steps 401 and 402 can be referred to Figure 2 The relevant descriptions of steps 201 and 202 in the corresponding embodiment are not repeated here.

[0064] Step 403: For a candidate push video in the candidate push video set, execute the following steps 4031-4033 to extract a first number of frames of the candidate push video:

[0065] Step 4031: evenly divide the candidate pushed video into a second number of sub-videos.

[0066] In this step, the second number can be pre-set by a technician. The second number can also be determined based on the attributes of the candidate push video (such as duration, frame rate, etc.). The division method can be selected according to different application scenarios.

[0067] For example, the duration of each sub-video can be determined based on the duration of the candidate pushed video and the second number, thereby dividing the candidate pushed video into the second number of sub-videos. For another example, the total number of frames corresponding to the candidate pushed video can be determined based on the frame rate and duration of the candidate pushed video. Then, based on the total number of frames and the second number, the number of frames corresponding to each sub-video can be determined, thereby dividing the candidate pushed video into the second number of sub-videos.

[0068] Step 4032: Determine the similarity between each of the sub-videos in the second number of sub-videos and the image to obtain a similarity set.

[0069] In this embodiment, the method for determining the similarity between each sub-video and the image can be flexibly selected in different ways. For example, you can refer to the above Figure 2 The calculation method for determining the similarity between a video and an image described in the corresponding embodiment determines the similarity between each sub-video and the image.

[0070] Optionally, taking a sub-video as an example, several frames may be randomly extracted from the sub-video, and then the average or maximum value of the similarities between the extracted frames and the image is calculated as the similarity between the sub-video and the image.

[0071] Step 4033: For a sub-video in the second number of sub-videos, determine the quotient of the similarity corresponding to the sub-video divided by the sum of the similarities in the similarity set, and determine the product of the obtained quotient and the first number as the target number corresponding to the sub-video; extract the target number of frames from the sub-video.

[0072] In some cases, such as when a portion of a candidate push video has a high similarity to an image sent by a user, while the remaining portion has a low similarity to the image sent by the user, randomly extracting a first number of frames from the candidate push video may result in a majority of the extracted frames being from the portion with the low similarity to the image sent by the user. This may lead to inaccurate results when subsequently calculating the similarity between the candidate push video and the image sent by the user based on the extracted frames.

[0073] In this embodiment, the number of frames to be extracted from each sub-video is determined based on the similarity corresponding to each sub-video, with the corresponding similarity being proportional to the number of frames extracted from the sub-video. Compared to directly extracting a first number of frames randomly or evenly from the candidate push videos, this avoids inaccurate calculation results caused by extracting inappropriate frames, thereby ensuring the accuracy of the calculation results.

[0074] Step 404 : Determine the similarity between the image and the first number of frames as the similarity between the image and the candidate pushed video.

[0075] Step 405 : Select a candidate push video from the candidate push video set according to the similarities corresponding to the candidate push videos in the candidate push video set.

[0076] Step 406: Push the selected candidate push video to the terminal device corresponding to the target user.

[0077] The specific execution process of the above steps 404, 405 and 406 can be referred to Figure 2 The relevant descriptions of steps 203, 204 and 205 in the corresponding embodiment are not repeated here.

[0078] In the prior art, when matching images and videos, the image content is generally analyzed and recognized first to understand the image's content. The matching video content is then analyzed and recognized to understand the video's content. For example, the image and video are analyzed for text, objects and their attributes, and people and their attributes. Based on the recognition results, the similarity between the image and video is then calculated.

[0079] from Figure 4 As can be seen, the method for pushing videos in this embodiment extracts several frames from each sub-video of a candidate push video and calculates the similarity between each extracted frame and the image sent by the user as the similarity between the candidate push video and the image sent by the user. Compared with existing technologies, this eliminates the complex image and video analysis processes, significantly reducing the computational effort involved in determining the similarity between the candidate push video and the image sent by the user, thereby alleviating server computing pressure.

[0080] Further references Figure 5 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a device for pushing a video. Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.

[0081] like Figure 5As shown, the apparatus 500 for pushing videos provided in this embodiment includes a receiving unit 501, an acquiring unit 502, a determining unit 503, a selecting unit 504, and a pushing unit 505. The receiving unit 501 is configured to receive an image sent by a target user via a corresponding terminal device; the acquiring unit 502 is configured to acquire a set of candidate push videos; the determining unit 503 is configured to determine the similarity between the image and a candidate push video in the candidate push video set; the selecting unit 504 is configured to select a candidate push video from the candidate push video set based on the similarities corresponding to the candidate push videos in the candidate push video set; and the pushing unit 505 is configured to push the selected candidate push video to the terminal device corresponding to the target user.

[0082] In this embodiment, in the apparatus 500 for pushing a video, the specific processing of the receiving unit 501, the obtaining unit 502, the determining unit 503, the selecting unit 504 and the pushing unit 505 and the technical effects thereof can be referred to in the respective Figure 2 The relevant descriptions of step 201, step 202, step 203, step 204 and step 205 in the corresponding embodiment are not repeated here.

[0083] In some optional implementations of this embodiment, the determining unit 503 is further configured to: extract a first number of frames of the candidate pushed video; and determine the similarity between the image and the first number of frames as the similarity between the image and the candidate pushed video.

[0084] In some optional implementations of this embodiment, the determining unit 503 is further configured to: extract a first number of frames of the candidate pushed video according to the image.

[0085] In some optional implementations of this embodiment, the above-mentioned determination unit 503 is further configured to: evenly divide the candidate pushed video into a second number of sub-videos; determine the similarity between the sub-videos in the second number of sub-videos and the image to obtain a similarity set; for the sub-videos in the second number of sub-videos, determine the quotient of the similarity corresponding to the sub-video divided by the sum of the similarities in the similarity set, and determine the product of the obtained quotient and the first number as the target number corresponding to the sub-video; and extract the target number of frames from the sub-video.

[0086] In some optional implementations of this embodiment, the selection unit 504 is further configured to: select candidate push videos from the candidate push video set in descending order of corresponding similarities.

[0087] The device provided by the above-mentioned embodiment of the present disclosure receives an image sent by a target user through a corresponding terminal device through a receiving unit; an acquiring unit acquires a candidate push video set; a determining unit determines the similarity between the image and a candidate push video in the candidate push video set; a selecting unit selects a candidate push video from the candidate push video set according to the similarities corresponding to the candidate push videos in the candidate push video set; and a pushing unit pushes the selected candidate push video to the terminal device corresponding to the target user, which helps to improve the matching degree between the video pushed to the user and the user's intention, thereby reducing the time it takes for the user to receive the video he or she desires, that is, reducing the number of videos the user needs to browse before receiving the video he or she desires. As a result, the traffic consumption of the terminal device corresponding to the user and the server end that pushes the video is reduced in this process.

[0088] Reference below Figure 6 , which shows an electronic device (eg, Figure 1 A schematic diagram of the structure of the server in (600). Figure 6 The server shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0089] like Figure 6 As shown, the electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 into a random access memory (RAM) 603. Various programs and data required for the operation of the electronic device 600 are also stored in the RAM 603. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0090] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 6 The electronic device 600 is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead. Figure 6 Each block shown in the figure may represent one device, or may represent multiple devices as needed.

[0091] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network via the communication device 609, or installed from the storage device 608, or installed from the ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the method of the embodiment of the present disclosure are performed.

[0092] It should be noted that the computer-readable medium described in the embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the embodiments of the present disclosure, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device, or device. In the embodiments of the present disclosure, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.

[0093] The computer-readable medium may be included in the server, or may exist independently and not incorporated into the server. The computer-readable medium carries one or more programs. When executed by the server, the one or more programs cause the server to: receive an image sent by a target user via a corresponding terminal device; obtain a set of candidate push videos; determine the similarity between the image and the candidate push videos in the set; select a candidate push video from the set based on the similarities corresponding to the candidate push videos in the set; and push the selected candidate push video to the terminal device corresponding to the target user.

[0094] Computer program code for performing the operations of embodiments of the present disclosure may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0095] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0096] The units involved in the embodiments described in the present disclosure may be implemented by software or by hardware. The units described may also be provided in a processor. For example, they may be described as follows: a processor includes a receiving unit, an acquisition unit, a determination unit, a selection unit, and a push unit. The names of these units do not, in some cases, constitute limitations on the units themselves. For example, the receiving unit may also be described as a "unit that receives images sent by a target user through a corresponding terminal device."

[0097] The above description is merely a preferred embodiment of the present disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by a specific combination of the above-mentioned technical features, but should also encompass other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the above-mentioned inventive concept. For example, a technical solution formed by mutually replacing the above-mentioned features with (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure.

Claims

1. A method for pushing a video, comprising: Receiving an image sent by a target user through a corresponding terminal device; The image is used to represent the video that the target user wants to browse; Get the candidate push video set; For a candidate pushed video in the candidate pushed video set, extract a first number of frames of the candidate pushed video; The first number of frames is determined by: evenly dividing the candidate pushed video into a second number of sub-videos; determining similarities between the sub-videos in the second number of sub-videos and the image, respectively, to obtain a similarity set; For the number of frames of each sub-video in the second number of sub-videos, determining a quotient of a similarity corresponding to the sub-video divided by a sum of the similarities in the similarity set, and determining a product of the obtained quotient and the first number as a target number corresponding to the sub-video; extracting the target number of frames from each sub-video as the first number of frames, where the first number is a set number; Determining a similarity between the image and the first number of frames as a similarity between the image and the candidate pushed video; Selecting a candidate push video from the candidate push video set according to the similarities corresponding to the candidate push videos in the candidate push video set; Push the selected candidate push video to the terminal device corresponding to the target user.

2. The method according to claim 1, wherein The selecting a candidate push video from the candidate push video set according to the similarities corresponding to the candidate push videos in the candidate push video set includes: Select candidate push videos from the candidate push video set in descending order of corresponding similarities.

3. A device for pushing a video, comprising: A receiving unit configured to receive an image sent by a target user via a corresponding terminal device; The image is used to represent the video that the target user wants to browse; An acquisition unit, configured to acquire a candidate push video set; a determining unit configured to extract a first number of frames of a candidate pushed video from the candidate pushed video set; The first number of frames is determined by: evenly dividing the candidate pushed video into a second number of sub-videos; determining similarities between the sub-videos in the second number of sub-videos and the image, respectively, to obtain a similarity set; For the number of frames of each sub-video in the second number of sub-videos, determining a quotient of a similarity corresponding to the sub-video divided by a sum of the similarities in the similarity set, and determining a product of the obtained quotient and the first number as a target number corresponding to the sub-video; extracting the target number of frames from each sub-video as the first number of frames, where the first number is a set number; Determining a similarity between the image and the first number of frames as a similarity between the image and the candidate pushed video; a selection unit configured to select a candidate push video from the candidate push video set according to the similarities corresponding to the candidate push videos in the candidate push video set; The pushing unit is configured to push the selected candidate push video to the terminal device corresponding to the target user.

4. The device according to claim 3, wherein The selection unit is further configured to: Select candidate push videos from the candidate push video set in descending order of corresponding similarities.

5. A server comprising: one or more processors; a storage device having one or more programs stored thereon; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 2.

6. A computer-readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 2 is implemented.

Citation Information

Patent Citations

  • Video analysis platform, matching method, accurate advertisement delivery method and system

    CN106686404A

  • Video matching, retrieving, classifying and recommending method and device and electronic device

    CN108416013A

  • Method and device for determining cover video frame

    CN109388721A

  • Determining Most Representative Still Image of a Video for Specific User

    US20180276478A1

  • Live video recommendation method and apparatus, and server

    CN107404656A