Video repeatability identification method, electronic device and computer-readable storage medium

Identifying the repetition of video content through video fingerprint splitting and splicing technology, solving the problem of repeatedly collecting and recommending the same videos on video platforms and self-media platforms, saving storage resources and improving user experience.

CN111860367BActive Publication Date: 2024-12-27SHANGHAI LIANSHANG NETWORK TECHNOLOGY GROUP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202010724232.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-24
Publication Date
2024-12-27
Estimated Expiration
2040-07-24

AI Technical Summary

Technical Problem

Existing video platforms and self-media platforms are prone to repeatedly collecting and recommending videos of the same content during video upload and recommendation, resulting in waste of storage resources and reduced user experience.

Method used

Avoid adding complete video frames by generating and splitting video fingerprints into multiple fingerprint segments, adding them to different frames of the video, or extracting and splicing fingerprint segments from multiple frames to identify the repetition of video content. The impact of data volume caused by video fingerprint.

Benefits of technology

It effectively avoids videos with the same content repeatedly, saves storage resources, and improves user experience, and avoids users from repeatedly viewing the same content.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111860367B_ABST
    Figure CN111860367B_ABST
Patent Text Reader

Abstract

The present application provides a video repeatability identification method, device and computer-readable storage medium. The present application generates a video fingerprint of the video based on the video identification information of the video, the video identification information is used to uniquely identify the video, and then splits the video fingerprint to obtain multiple fingerprint segments, and then adds the multiple fingerprint segments to different video frames of the video accordingly, so that the fingerprint segments can be extracted from different video frames of the video and spliced ​​to obtain a complete video fingerprint, so that the video with repeated content can be identified based on the video fingerprint of each video, and the subsequent playback of the video can be avoided due to the large amount of added data when adding the complete video fingerprint in each video frame.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present application relates to video processing technology, and in particular to a video repeatability recognition method, an electronic device, and a computer-readable storage medium. [Background technology]

[0002] At present, with the development of audio and video technology and self-media technology, various video websites and self-media platforms are constantly emerging. Video manufacturers and users produce a large number of videos with rich and diverse content every day, covering movies, TV series, animation, variety shows, life, music, etc. These videos will be uploaded to various video websites and self-media platforms for users to watch.

[0003] In the prior art, various videos, especially short videos, are easily downloaded by some users from a certain video website or self-media platform and then uploaded to other video websites or self-media platforms, or the downloaded videos are simply modified and then uploaded to the video platform or self-media platform. In this way, the video platform or self-media platform actually repeatedly collects videos with the same content, wasting storage resources; in addition, when recommending videos to users, it is easy to recommend multiple videos with the same content to users, causing users to repeatedly play videos with the same content, reducing the user experience. [Summary of the invention]

[0004] Multiple aspects of the present application provide a video repeatability identification method, an electronic device, and a computer-readable storage medium for identifying videos with repeated content.

[0005] In one aspect of the present application, a video repetitiveness recognition method is provided, comprising:

[0006] Generating a video fingerprint of the video based on video identification information of the video, wherein the video identification information is used to uniquely identify the video;

[0007] Splitting the video fingerprint to obtain multiple fingerprint segments;

[0008] The multiple fingerprint segments are correspondingly added to different video frames of the video.

[0009] Another aspect of the present application provides another video repetitiveness identification method, comprising:

[0010] Extracting fingerprint segments from multiple video frames of the video respectively to obtain multiple fingerprint segments;

[0011] splicing the extracted multiple fingerprint segments to obtain a video fingerprint of the video; the video fingerprint is generated based on video identification information of the video, and the video identification information is used to uniquely identify the video;

[0012] Based on the video fingerprint, it is identified whether there are other videos with content that is repeated with the video.

[0013] Another aspect of the present application provides an electronic device, the electronic device comprising:

[0014] one or more processors;

[0015] a storage device for storing one or more programs,

[0016] When the one or more programs are executed by the one or more processors, the one or more processors implement the video repeatability recognition provided in the above aspect.

[0017] Another aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the video repeatability recognition provided in the above aspect.

[0018] It can be seen from the above technical solution that in some embodiments of the present application, a video fingerprint of the video is generated based on the video identification information of the video, and then the video fingerprint is split to obtain multiple fingerprint segments, and then the multiple fingerprint segments are added to different video frames of the video accordingly. In this way, fingerprint segments can be extracted from different video frames of the video and spliced ​​to obtain a complete video fingerprint, so that videos with repeated content can be identified based on the video fingerprint of each video; and because the video fingerprint of a video is split into multiple fingerprint segments and added to different video frames of the video, it can be avoided that when adding a complete video fingerprint in each video frame, the subsequent playback of the video is affected by the large amount of added data.

[0019] It can be seen from the above technical solution that in other embodiments of the present application, fingerprint segments can be extracted from multiple video frames of a video to obtain multiple fingerprint segments, and then the extracted multiple fingerprint segments are spliced ​​to obtain the video fingerprint of the video. Since the video fingerprint is generated based on the video identification information of the video, then, based on the video fingerprint, it is possible to identify whether there are other videos with the same content as the video. In this way, videos with duplicate content can be identified based on the video fingerprint of each video; and since the video fingerprint of a video is split into multiple fingerprint segments and added to different video frames of the video, it can be avoided that when adding a complete video fingerprint in each video frame, the subsequent playback of the video is affected by the large amount of added data.

[0020] In addition, by adopting the technical solution provided in the present application, since it is possible to identify whether there are videos with duplicate content based on video fingerprints, it is possible to avoid video platforms and self-media platforms from repeatedly collecting videos with the same content, thereby saving storage resources and maintenance resources.

[0021] In addition, by adopting the technical solution provided in the present application, since it is possible to identify whether there are videos with duplicate content based on video fingerprints, it is possible to avoid recommending multiple videos with the same content to users when recommending videos to users, thereby preventing users from repeatedly playing videos with the same content, and effectively improving the user experience.

Brief Description of the Drawings

[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present application, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0023] Figure 1 A schematic diagram of a flow chart of a video repeatability identification method provided in one embodiment of the present application;

[0024] Figure 2 A schematic diagram of adding multiple fingerprint segments to different video frames in an embodiment of the present application;

[0025] Figure 3 A schematic diagram of a process of splitting the video fingerprint to obtain multiple fingerprint segments in an embodiment of the present application;

[0026] Figure 4 A schematic diagram of a format of a fingerprint segment in an embodiment of the present application;

[0027] Figure 5 A schematic diagram of adding a fingerprint macroblock to a video frame in an embodiment of the present application;

[0028] Figure 6 A schematic diagram of a flow chart of a video repeatability identification method provided by another embodiment of the present application;

[0029] Figure 7 FIG. 1 is a block diagram of an exemplary computer system / server 12 suitable for implementing embodiments of the present application. [Specific implementation method]

[0030] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0031] It should be noted that the terminals involved in the embodiments of the present application may include but are not limited to mobile phones, personal digital assistants (PDAs), wireless handheld devices, tablet computers, personal computers (PCs), MP3 players, MP4 players, wearable devices (for example, smart glasses, smart watches, smart bracelets, etc.), etc.

[0032] In addition, the term "and / or" in this article is only a description of the association relationship between the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0033] As described in the background technology, various videos, especially short videos, are easily downloaded by some users from a certain video website or self-media platform and then uploaded to other video websites or self-media platforms, or the downloaded videos are simply modified before uploading to the video platform or self-media platform, resulting in the video platform or self-media platform actually repeatedly including videos with the same content, wasting storage resources; in addition, when recommending videos to users, it is easy to recommend multiple videos with the same content to users, resulting in users repeatedly playing videos with the same content, reducing the user experience.

[0034] Therefore, there is an urgent need to provide a video repetitiveness identification method for identifying different videos with repetitive content.

[0035] Figure 1 A flowchart of a video repeatability recognition method provided in an embodiment of the present application is shown in FIG. Figure 1 shown.

[0036] 101. Generate a video fingerprint of the video based on video identification information of the video.

[0037] The video identification information is used to uniquely identify the video.

[0038] Optionally, in some implementations, the video identification information may include, for example, but is not limited to, any one or more of the following: frame data within a preset playback time range at the beginning of the video or frame data with a preset number of frames at the beginning of the video, frame data within a preset playback time range at the end of the video or frame data with a preset number of frames at the end of the video, the name of the video, the producer of the video, the production date of the video, etc. The embodiment of the present application does not limit the specific content of the video identification information.

[0039] Optionally, in some of the implementations, the video identification information of the video can be calculated based on a preset hash algorithm to obtain a video fingerprint. The hash algorithm can be any hash algorithm, such as the MD5 algorithm, etc. The embodiment of the present application does not limit the specific hash algorithm used.

[0040] Since the video identification information is used to uniquely identify a video, a video fingerprint is generated based on the video identification information. In this way, each generated video fingerprint can uniquely correspond to a video. By comparing whether the video fingerprints are the same, it can be determined whether the corresponding videos are from the same video, thereby identifying whether the video content is repeated.

[0041] 102. Split the video fingerprint to obtain multiple fingerprint segments.

[0042] 103. Add the multiple fingerprint segments to different video frames of the video accordingly.

[0043] like Figure 2 As shown, it is a schematic diagram of adding multiple fingerprint segments to different video frames in an embodiment of the present application.

[0044] It should be noted that part or all of the execution entities of 101 to 103 may be applications located in the terminal, or may also be functional units such as plug-ins or software development kits (SDKs) in the applications that set the terminal, or may also be applications located in the network side server. The embodiments of the present application do not specifically limit this.

[0045] It is understandable that the application may be a local program (nativeApp) installed on the terminal, or may be a web page program (webApp) of a browser on the terminal, which is not limited in the embodiments of the present application.

[0046] In this way, fingerprint segments can be extracted from different video frames of the video and spliced ​​together to obtain a complete video fingerprint, so that videos with repeated content can be identified based on the video fingerprint of each video; and because the video fingerprint of a video is split into multiple fingerprint segments and added to different video frames of the video, it can avoid adding a complete video fingerprint in each video frame. The impact of the large amount of added data on the subsequent playback of the video can be avoided.

[0047] In addition, since it is possible to identify whether there are videos with duplicate content based on video fingerprints, it can prevent video platforms and self-media platforms from repeatedly including videos with the same content, saving storage and maintenance resources.

[0048] In addition, since it is possible to identify whether there are videos with duplicate content based on video fingerprints, it is possible to avoid recommending multiple videos with the same content to users when recommending videos to users, and to prevent users from repeatedly playing videos with the same content, which can effectively improve user experience.

[0049] Figure 3 FIG. 1 is a flow chart of splitting the video fingerprint to obtain multiple fingerprint segments in one embodiment of the present application. Figure 3 As shown, in Figure 1 Based on the illustrated embodiment, 102 may include:

[0050] 301. Split the video fingerprint into multiple parts to obtain multiple fingerprint data.

[0051] 302. Allocate fingerprint segment positions to the fingerprint data according to positions of the multiple fingerprint data in the video fingerprint.

[0052] 303. Encapsulate each fingerprint data in the multiple fingerprint data, the corresponding fingerprint segment position, and the total number of fingerprint segments into one fingerprint segment to obtain multiple fingerprint segments.

[0053] The fingerprint segment position is used to indicate the position of the corresponding fingerprint data in the video fingerprint, and the total number of fingerprint segments is used to indicate the number of fingerprint data obtained by splitting the video fingerprint. For example, assuming that a video fingerprint is split into 10 fingerprint data, the total number of fingerprint segments is 10; fingerprint segment positions 1 to 10 are sequentially assigned to each fingerprint data according to the position of the 10 fingerprint data in the fingerprint data.

[0054] Based on this embodiment, each fingerprint segment may include three parts of data: fingerprint segment position (index), total number of fingerprint segments and fingerprint data. Figure 4 The following is a schematic diagram of the format of a fingerprint segment in an embodiment of the present application. The order of the three parts of data included in each fingerprint segment can be adjusted and is not limited to Figure 4 The embodiment sequence is shown.

[0055] Based on this embodiment, each fingerprint segment includes not only fingerprint data but also the fingerprint segment position and the total number of fingerprint segments of the fingerprint segment. In this way, after reading the fingerprint segment position and the total number of fingerprint segments from each fingerprint segment, it can be determined whether all fingerprint segments corresponding to the fingerprint data in a video fingerprint are read according to the total number of fingerprint segments. After reading all fingerprint segments corresponding to the fingerprint data in a video fingerprint, the fingerprint data in each fingerprint segment can be spliced ​​in the order of their positions in the video fingerprint according to the fingerprint segment positions in each fingerprint segment, thereby obtaining a complete video fingerprint.

[0056] The embodiments of the present application can be applied to video coding standards and videos of any format. In a specific implementation, when each fingerprint segment is added to a video frame, the fingerprint segment can be added to any reserved information segment in the video frame, or added to the back of the video frame data, which is not limited by the embodiments of the present disclosure.

[0057] For example, in the H.264 / AVC video coding standard, the original bitstream (bare stream) is composed of one network abstract layer unit (NALU) after another, and the entire system framework is divided into two levels: Video Coding Layer (VCL) and Network Abstract Layer (NAL). Among them, an original NALU is often composed of three parts: Start Code, NALU Header and NALU Payload, among which NALU Payload is the main body of NALU. The NALU body contains the header and on-chip data, 1 frame = n slices, 1 slice = n macroblocks (MB), 1 macroblock = 16x16yuv data. Among them, macroblocks are the main carriers of video information. A coded image is usually divided into multiple macroblocks, which contain the brightness and chrominance information of each pixel. The main task of video decoding is to provide an efficient way to obtain the pixel array in the macroblock from the bitstream. Each video frame includes a macroblock with a residual block (residual block or coded residual), and the fingerprint segment can be added to the reserved block or added to the back of the NALU body.

[0058] Optionally, in a video repeatability identification method of another embodiment, Figure 1 Based on the embodiment shown, after 102, the multiple fingerprint segments can also be converted into alpha channels respectively, and the alpha channels of the multiple fingerprint segments can be converted into a transparent background color. Accordingly, in 103, the multiple fingerprint segments after the alpha channel conversion can be added to the macroblocks carrying the skip run flag in different video frames of the video. The skip run flag is used to indicate that the corresponding macroblock will not be played by the player.

[0059] Optionally, in a video repeatability identification method of another embodiment, Figure 1On the basis of the illustrated embodiment, after 102, alpha channel conversion can be performed on each of the multiple fingerprint segments, and the alpha channel of each fingerprint segment can be converted into a transparent background color; then, a fingerprint macroblock is generated based on each fingerprint segment after the alpha channel conversion, and a skip run identifier is added to the fingerprint macroblock. The skip run identifier is used to indicate that the corresponding macroblock will not be played by the player. Accordingly, in 103, multiple fingerprint macroblocks with skip run identifiers can be added to different video frames of the video.

[0060] Based on this embodiment, the alpha channel of the fingerprint segment is converted into a transparent background color, so that the information in the fingerprint segment does not participate in the video rendering during the subsequent video playback, and does not change the overall video display picture; and because the macroblock including the fingerprint segment carries a skip run flag, it will not be played by the player, thereby not affecting the video playback effect.

[0061] like Figure 5 As shown in FIG. 1 , a schematic diagram of adding a fingerprint macroblock to a video frame is shown. In this implementation, an original video frame includes a frame header and frame data. The fingerprint data is encapsulated into a fingerprint segment and then an alpha channel conversion is performed to generate a fingerprint macroblock. Then, a skip run flag ( Figure 5 (not shown), then the fingerprint macroblock with the skip run identifier added is merged with the frame data, and the obtained video frame includes a frame header and mixed frame data obtained by merging the fingerprint macroblock with the frame data.

[0062] Optionally, in some implementations, in 103, the multiple fingerprint segments may be sequentially added to multiple consecutive different video frames; or, the multiple fingerprint segments may be randomly added to multiple different video frames, which is not limited in the embodiments of the present application.

[0063] Among them, when multiple fingerprint segments are sequentially added to multiple consecutive different video frames, the fingerprint segment data can be read frame by frame subsequently, which helps to improve the efficiency of fingerprint segment data reading, thereby improving the overall recognition efficiency of repeated videos.

[0064] Optionally, in some implementations, in 103, the multiple fingerprint segments may be respectively added to different video segments of the video, and the multiple fingerprint segments are correspondingly added to different video frames in the video segments.

[0065] For example, in an optional example, the multiple fingerprint segments can be added to each video frame of the video in a loop in sequence. In this way, even if a certain segment of the video is intercepted by other users or the head or tail of the video is removed, the complete fingerprint segment included in the video fingerprint can still be extracted from other video frames, thereby achieving repeatable recognition of the video.

[0066] Optionally, in a video repeatability identification method of yet another embodiment, Figure 1 On the basis of the illustrated embodiment, the method may further include: encapsulating the video fingerprint with a preset fingerprint segment position and a total number of fingerprint segments to obtain a complete fingerprint, wherein the preset fingerprint segment position is used to indicate that the complete fingerprint includes complete video fingerprint data, and the total number of fingerprint segments is 1, and then adding the complete fingerprint to at least one video frame in the video to which the fingerprint segment is not added.

[0067] For example, in an optional example, a complete fingerprint can be added to the video every few frames. In this way, it is possible to avoid fingerprint segment damage during video transmission, or the loss of intermediate frames when other users modify the video, resulting in the inability to splice together a complete video fingerprint. Based on the complete fingerprint, the repeatability of the video can be independently recognized.

[0068] Optionally, based on the above embodiment, the video fingerprint is encapsulated with the preset fingerprint segment position and the total number of fingerprint segments to obtain a complete fingerprint, and the complete fingerprint can also be converted to an alpha channel, and the alpha channel of the complete fingerprint is converted to a transparent background color; then, a fingerprint macroblock is generated based on the complete fingerprint after the alpha channel conversion, and a skip run flag is added to the fingerprint macroblock, and the skip run flag is used to indicate that the corresponding fingerprint macroblock will not be played by the player. Accordingly, the fingerprint macroblock with the skip run flag added can be added to at least one video frame in the video to which the fingerprint segment is not added.

[0069] Alternatively, based on the above embodiment, the video fingerprint is encapsulated with the preset fingerprint segment position and the total number of fingerprint segments to obtain a complete fingerprint, and the complete fingerprint can also be converted to an alpha channel, and the alpha channel of the complete fingerprint is converted to a transparent background color. Accordingly, the complete fingerprint after the alpha channel conversion is added to a macroblock carrying a skip run identifier in at least one video frame in the video to which the fingerprint segment is not added, and the skip run identifier is used to indicate that the corresponding macroblock will not be played by the player.

[0070] Based on this embodiment, the alpha channel of the complete fingerprint is converted into a transparent background color, so that the information in the complete fingerprint does not participate in the video rendering during the subsequent video playback, and does not change the overall video display picture; and because the macroblock including the complete fingerprint carries a skip run flag, it will not be played by the player, thereby not affecting the video playback effect.

[0071] Figure 6 A flowchart of a video repeatability recognition method provided by another embodiment of the present application is shown in FIG. Figure 6 shown.

[0072] 601. Extract fingerprint segments from multiple video frames of a video respectively to obtain multiple fingerprint segments.

[0073] 602. Join the multiple extracted fingerprint segments to obtain a video fingerprint of the video.

[0074] The video fingerprint is generated based on video identification information of the video, and the video identification information is used to uniquely identify the video.

[0075] Optionally, in some implementations, the video identification information may include, for example, but is not limited to, any one or more of the following: frame data within a preset playback time range at the beginning of the video or frame data with a preset number of frames at the beginning of the video, frame data within a preset playback time range at the end of the video or frame data with a preset number of frames at the end of the video, the name of the video, the producer of the video, the production date of the video, etc. The embodiment of the present application does not limit the specific content of the video identification information.

[0076] 603. Based on the video fingerprint, identify whether there are other videos with content that is duplicated with the video.

[0077] In a specific implementation, the video fingerprint may be compared with the video fingerprints of other videos, and whether there are other videos with the same video fingerprint as the video can be determined to determine whether there are other videos with the same content as the video.

[0078] It should be noted that part or all of the execution entities of 601 to 603 may be an application located in the terminal (such as a player), or may also be a functional unit such as a plug-in or software development kit (SDK) in the application that sets the terminal, or may also be an application located in a network-side server (such as a video platform or a self-media platform), and the embodiments of the present application do not specifically limit this.

[0079] It is understandable that the application may be a local program (nativeApp) installed on the terminal, or may be a web page program (webApp) of a browser on the terminal, which is not limited in the embodiments of the present application.

[0080] In this way, videos with duplicate content can be identified based on the video fingerprint of each video; and, since the video fingerprint of a video is split into multiple fingerprint segments and added to different video frames of the video, it is possible to avoid affecting the subsequent playback of the video due to the large amount of added data when adding a complete video fingerprint in each video frame.

[0081] In addition, by adopting the technical solution provided in the present application, since it is possible to identify whether there are videos with duplicate content based on video fingerprints, it is possible to avoid video platforms and self-media platforms from repeatedly collecting videos with the same content, thereby saving storage resources and maintenance resources.

[0082] In addition, by adopting the technical solution provided in the present application, since it is possible to identify whether there are videos with duplicate content based on video fingerprints, it is possible to avoid recommending multiple videos with the same content to users when recommending videos to users, thereby preventing users from repeatedly playing videos with the same content, and effectively improving the user experience.

[0083] Optionally, in some implementations, in 601, fingerprint segments may be extracted from macroblocks carrying skiprun identifiers in multiple video frames respectively, and the fingerprint segments are converted into a transparent background color via an alpha channel.

[0084] Optionally, in some implementations, the fingerprint segment includes: a fingerprint segment position, a total number of fingerprint segments and fingerprint data, such as Figure 4 As shown. The fingerprint segment position is used to indicate the position of the corresponding fingerprint data in the video fingerprint, and the total number of fingerprint segments is used to indicate the number of fingerprint data obtained by splitting the video fingerprint. For example, assuming that a video fingerprint is split into 10 fingerprint data, the total number of fingerprint segments is 10; fingerprint segment positions 1 to 10 are sequentially assigned to each fingerprint data according to the position of the 10 fingerprint data in the fingerprint data.

[0085] Accordingly, after 601, the fingerprint segment positions and the total number of fingerprint segments in the multiple fingerprint segments can also be read, and then, it is identified whether the number of fingerprint segments of the extracted multiple fingerprint segments is consistent with the total number of fingerprint segments, and whether the fingerprint segment positions in the multiple fingerprint segments are not repeated. Accordingly, if the number of fingerprint segments is consistent with the total number of fingerprint segments, and the fingerprint segment positions in the multiple fingerprint segments are not repeated, then the multiple fingerprint segments are all fingerprint segments corresponding to the complete video fingerprint. In 602, the fingerprint data included in each fingerprint segment in the multiple fingerprint segments is spliced ​​according to the fingerprint segment positions in the multiple fingerprint segments to obtain the video fingerprint of the video.

[0086] Based on this embodiment, it can be determined whether to extract all fingerprint segments corresponding to a complete video fingerprint based on the fingerprint segment positions and the total number of fingerprint segments in the fingerprint segment, so that the fingerprint data in the multiple fingerprint segments are spliced ​​according to the fingerprint segment positions in the multiple fingerprint segments to obtain the video fingerprint of the video.

[0087] Further optionally, in the above implementation, if the number of fingerprint segments is inconsistent with the total number of fingerprint segments, and / or the fingerprint segment positions in the multiple fingerprint segments are repeated, at least one fingerprint segment is extracted from the subsequent video frame of the video, and the fingerprint segment position and the total number of fingerprint segments in the at least one fingerprint segment are read; then, it is identified whether the number of fingerprint segments with non-repeating fingerprint segment positions in the multiple fingerprint segments and the at least one fingerprint segment is consistent with the total number of fingerprint segments; if the number of fingerprint segments with non-repeating fingerprint segment positions is consistent with the total number of fingerprint segments, the fingerprint data included in each fingerprint segment in the fingerprint segment with non-repeating fingerprint segment positions is spliced ​​according to the fingerprint segment positions in the fingerprint segment with non-repeating fingerprint segment positions to obtain the video fingerprint of the video. Otherwise, if the number of fingerprint segments whose fingerprint segment positions are not repeated is inconsistent with the total number of fingerprint segments, continue to perform the operation of extracting at least one fingerprint segment from the subsequent video frames of the video, and reading the fingerprint segment positions and the total number of fingerprint segments in the at least one fingerprint segment, until the number of fingerprint segments whose fingerprint segment positions are not repeated is consistent with the total number of fingerprint segments, and splice the fingerprint data included in each fingerprint segment in the fingerprint segment whose fingerprint segment positions are not repeated according to the fingerprint segment positions in the fingerprint segment, so as to obtain the video fingerprint of the video.

[0088] Based on this embodiment, multiple fingerprint segments are cyclically added to the video. Even if a certain segment of the original video is intercepted by other users or the head and tail of the video are removed, the required fingerprint segments can still be extracted from the subsequent video frames, and all fingerprint segments included in a complete video fingerprint can be obtained so as to be spliced ​​to obtain a complete video fingerprint, thereby realizing repeatable recognition of the video.

[0089] Further optionally, in the above implementation, after reading the fingerprint segment positions and the total number of fingerprint segments in the multiple fingerprint segments, it can also be identified whether the read fingerprint segment positions include a preset fingerprint segment position, and the preset fingerprint segment position is used to indicate that the complete fingerprint includes complete video fingerprint data; if the read fingerprint segment position includes the preset fingerprint segment position, it is determined that the fingerprint segment including the preset fingerprint segment position is a complete fingerprint, and the fingerprint data in the complete fingerprint is extracted to obtain the video fingerprint.

[0090] Based on this embodiment, when the read fingerprint segment position includes a preset fingerprint segment position, the fingerprint segment is determined to be a complete fingerprint, and the video fingerprint can be obtained by extracting the fingerprint data in the complete fingerprint. Since the complete fingerprint is added to the video frame, this can avoid fingerprint segment damage during video transmission, or the loss of intermediate frames when other users modify the video, resulting in the inability to splice the complete video fingerprint. Based on the complete fingerprint, the repeatability of the video can be independently recognized.

[0091] All fingerprint segments included in a complete video fingerprint are obtained so as to be spliced ​​together to obtain a complete video fingerprint, thereby achieving repeatable recognition of the video.

[0092] In the embodiment of the present application, there is no limit on the number of fingerprint segments that can be split into a video fingerprint. Specifically, it can be determined according to the length of the video, the length of the video fingerprint, the frame rate of the video, etc. The video fingerprint can be unsplit, or it can be understood as being split into one fingerprint segment, or split into multiple video segments. In general, the refresh rate of the video is 30fps. If each frame in the 1-second playback video frame carries a fingerprint segment, a video fingerprint can be split into a maximum of 30 video segments.

[0093] The technical solution of the present application can be applied to applications in devices such as terminals and video servers, for example, any video data processing applications and playback applications. When the video repeatability identification method provided in the embodiment of the present application is executed by using video data processing applications and playback applications, it is possible to identify videos with repeated content based on the video fingerprint of each video; and, since the video fingerprint of a video is split into multiple fingerprint segments and added to different video frames of the video, it is possible to avoid adding a complete video fingerprint in each video frame, which may affect the subsequent playback of the video due to the large amount of added data.

[0094] In addition, since it is possible to identify whether there are videos with duplicate content based on video fingerprints, it can prevent video platforms and self-media platforms from repeatedly including videos with the same content, saving storage and maintenance resources.

[0095] In addition, since it is possible to identify whether there are videos with duplicate content based on video fingerprints, it is possible to avoid recommending multiple videos with the same content to users when recommending videos to users, and to prevent users from repeatedly playing videos with the same content, which can effectively improve user experience.

[0096] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described action sequence, because according to the present application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.

[0097] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0098] Figure 7 A block diagram of an exemplary computer system / server 12 suitable for use in implementing embodiments of the present application is shown. Figure 7 The computer system / server 12 shown is merely an example and should not limit the functionality and scope of use of the embodiments of the present application.

[0099] like Figure 7 As shown, computer system / server 12 is represented in the form of a general-purpose computing device. Components of computer system / server 12 may include, but are not limited to: one or more processors or processing units 16, storage devices or system memory 28, and buses 18 that connect different system components (including system memory 28 and processing units 16).

[0100] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or a local bus using any of a variety of bus architectures. By way of example, these architectures include, but are not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MAC) bus, an Enhanced ISA bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0101] Computer system / server 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by computer system / server 12, including volatile and nonvolatile media, removable and non-removable media.

[0102] The system memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The computer system / server 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the storage system 34 may be used to read and write non-removable, non-volatile magnetic media ( Figure 7 not shown, usually called a "hard drive"). Although Figure 7 Not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk"), and an optical drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, a DVD-ROM, or other optical medium) may be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The system memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to perform the functions of the various embodiments of the present application.

[0103] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in system memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. Program modules 42 generally perform the functions and / or methods of the embodiments described herein.

[0104] The computer system / server 12 may also communicate with one or more external devices 14 (e.g., keyboards, pointing devices, displays 24, etc.), one or more devices that enable a user to interact with the computer system / server 12, and / or any device that enables the computer system / server 12 to communicate with one or more other computing devices (e.g., network cards, modems, etc.). Such communication may be performed via an input / output (I / O) interface 44. In addition, the computer system / server 12 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 20. As shown, the network adapter 20 communicates with other modules of the computer system / server 12 via a bus 18. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the computer system / server 12, including, but not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0105] The processing unit 16 executes various functional applications and data processing by running the programs stored in the system memory 28, such as implementing Figure 1 to Figure 6 The corresponding embodiment provides a video repeatability identification method in any embodiment.

[0106] Another embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements Figure 1 to Figure 6 The corresponding embodiment provides a video repeatability identification method in any embodiment.

[0107] Specifically, any combination of one or more computer-readable media can be used. Computer-readable media can be computer-readable signal media or computer-readable storage media. Computer-readable storage media can be, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: electrical connections with one or more wires, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In this document, computer-readable storage media can be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device.

[0108] Computer-readable signal media may include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0109] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0110] Computer program code for performing the operations of the present application 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 separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of 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).

[0111] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0112] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or page components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0113] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0114] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0115] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform some steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program codes.

[0116] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A video repeatability recognition method, characterized in that: include: Generating a video fingerprint of the video based on video identification information of the video, wherein the video identification information is used to uniquely identify the video; Splitting the video fingerprint to obtain multiple fingerprint segments; The multiple fingerprint segments are added to different video frames of the video accordingly; wherein, The video fingerprint is split to obtain multiple fingerprint segments, including: Splitting the video fingerprint into multiple parts to obtain multiple fingerprint data; assigning fingerprint segment positions to the fingerprint data according to positions of the multiple fingerprint data in the video fingerprint respectively; Each fingerprint data in the multiple fingerprint data is respectively encapsulated with the corresponding fingerprint segment position and the total number of fingerprint segments into a fingerprint segment to obtain multiple fingerprint segments; wherein the fingerprint segment position is used to indicate the position of the corresponding fingerprint data in the video fingerprint, and the total number of fingerprint segments is used to indicate the number of fingerprint data obtained by splitting the video fingerprint.

2. The method according to claim 1, characterized in that The video identification information includes any one or more of the following: Frame data within a preset playback time range at the beginning of the video or frame data with a preset number of frames at the beginning of the video, frame data within a preset playback time range at the end of the video or frame data with a preset number of frames at the end of the video, the name of the video, the producer of the video, and the production date of the video.

3. The method according to any one of claims 1 to 2, characterized in that: After obtaining the multiple fingerprint segments, the method further includes: Performing alpha channel conversion on the multiple fingerprint segments respectively, and converting the alpha channels of the multiple fingerprint segments into a transparent background color; The adding the multiple fingerprint segments to different video frames of the video accordingly comprises: The multiple fingerprint segments converted from the alpha channel are correspondingly added to macroblocks carrying skip run flags in different video frames of the video.

4. The method according to any one of claims 1 to 2, characterized in that: After obtaining the multiple fingerprint segments, the method further includes: Performing alpha channel conversion on each of the multiple fingerprint segments respectively, and converting the alpha channel of each fingerprint segment into a transparent background color; Generating a fingerprint macroblock based on each fingerprint segment converted from the alpha channel, and adding a skip run flag to the fingerprint macroblock; The adding the multiple fingerprint segments to different video frames of the video accordingly comprises: The multiple fingerprint macroblocks with skip run flags added thereto are correspondingly added to different video frames of the video.

5. The method according to any one of claims 1 to 2, characterized in that: The adding the multiple fingerprint segments to different video frames of the video accordingly comprises: sequentially adding the plurality of fingerprint segments to a plurality of consecutive different video frames; or, The plurality of fingerprint segments are randomly added to a plurality of different video frames.

6. The method according to any one of claims 1 to 2, characterized in that: The adding the multiple fingerprint segments to different video frames of the video accordingly comprises: The multiple fingerprint segments are respectively added to different video segments of the video, and the multiple fingerprint segments are correspondingly added to different video frames in the video segments.

7. The method according to claim 1, characterized in that Also includes: Encapsulating the video fingerprint with a preset fingerprint segment position and a total number of fingerprint segments to obtain a complete fingerprint; wherein the preset fingerprint segment position is used to indicate that the complete fingerprint includes complete video fingerprint data, and the total number of fingerprint segments is 1; The complete fingerprint is added to at least one video frame in the video to which the fingerprint segment is not added.

8. The method according to claim 7, characterized in that After encapsulating the video fingerprint with the preset fingerprint segment position and the total number of fingerprint segments to obtain a complete fingerprint, the method further includes: Performing alpha channel conversion on the complete fingerprint, converting the alpha channel of the complete fingerprint into a transparent background color; Generate a fingerprint macroblock based on the complete fingerprint after alpha channel conversion, and add a skip run flag in the fingerprint macroblock; The adding the complete fingerprint to at least one video frame in the video to which the fingerprint segment is not added comprises: The fingerprint macroblocks with the skip run flag added thereto are added to at least one video frame in the video to which the fingerprint segment is not added.

9. The method according to claim 7, characterized in that: After encapsulating the video fingerprint with the preset fingerprint segment position and the total number of fingerprint segments to obtain a complete fingerprint, the method further includes: Performing alpha channel conversion on the complete fingerprint, converting the alpha channel of the complete fingerprint into a transparent background color; The adding the complete fingerprint to at least one video frame in the video to which the fingerprint segment is not added comprises: The complete fingerprint converted from the alpha channel is added to a macroblock carrying a skip run flag in at least one video frame in the video to which the fingerprint segment is not added.

10. A video repeatability recognition method, characterized in that: include: Extracting fingerprint segments from multiple video frames of a video respectively to obtain multiple fingerprint segments; the fingerprint segment includes: a fingerprint segment position, a total number of fingerprint segments and fingerprint data; wherein the fingerprint segment position is used to indicate the position of the corresponding fingerprint data in the video fingerprint of the video, and the total number of fingerprint segments is used to indicate the number of fingerprint data obtained by splitting the video fingerprint; splicing the extracted multiple fingerprint segments to obtain a video fingerprint of the video; the video fingerprint is generated based on video identification information of the video, and the video identification information is used to uniquely identify the video; Based on the video fingerprint, it is identified whether there are other videos with content that is repeated with the video.

11. The method according to claim 10, characterized in that The video identification information includes any one or more of the following: Frame data within a preset playback time range at the beginning of the video or frame data with a preset number of frames at the beginning of the video, frame data within a preset playback time range at the end of the video or frame data with a preset number of frames at the end of the video, the name of the video, the producer of the video, and the production date of the video.

12. The method according to claim 10, characterized in that The extracting fingerprint segments from a plurality of video frames of the video respectively comprises: Fingerprint segments are extracted from macroblocks carrying skip run flags in multiple video frames respectively, and the fingerprint segments are converted into transparent background colors through an alpha channel.

13. The method according to claim 12, characterized in that After extracting fingerprint segments from multiple video frames of the video respectively to obtain multiple fingerprint segments, the method further includes: Reading fingerprint segment positions and a total number of fingerprint segments in the plurality of fingerprint segments; Identify whether the number of fingerprint segments of the extracted multiple fingerprint segments is consistent with the total number of fingerprint segments, and whether the fingerprint segment positions in the multiple fingerprint segments are not repeated; The step of splicing the extracted multiple fingerprint segments to obtain the video fingerprint of the video includes: If the number of fingerprint segments is consistent with the total number of fingerprint segments, and the fingerprint segment positions in the multiple fingerprint segments are not repeated, the fingerprint data included in each fingerprint segment in the multiple fingerprint segments are spliced ​​according to the fingerprint segment positions in the multiple fingerprint segments to obtain the video fingerprint of the video.

14. The method according to claim 13, characterized in that Also includes: If the number of fingerprint segments is inconsistent with the total number of fingerprint segments, and / or the fingerprint segment positions in the multiple fingerprint segments are repeated, extracting at least one fingerprint segment from a subsequent video frame of the video, and reading the fingerprint segment position and the total number of fingerprint segments in the at least one fingerprint segment; Identify whether the number of fingerprint segments in which the fingerprint segment positions are not repeated in the plurality of fingerprint segments and the at least one fingerprint segment is consistent with the total number of fingerprint segments; If the number of fingerprint segments whose fingerprint segment positions are not repeated is consistent with the total number of fingerprint segments, the fingerprint data included in each fingerprint segment in the fingerprint segment whose fingerprint segment positions are not repeated are spliced ​​according to the fingerprint segment positions in the fingerprint segment whose fingerprint segment positions are not repeated, to obtain the video fingerprint of the video; Otherwise, if the number of fingerprint segments whose fingerprint segment positions are not repeated is inconsistent with the total number of fingerprint segments, continue to perform the operation of extracting at least one fingerprint segment from the subsequent video frame of the video and reading the fingerprint segment position and the total number of fingerprint segments in the at least one fingerprint segment.

15. The method according to claim 13 or 14, characterized in that After reading the fingerprint segment positions and the total number of fingerprint segments in the multiple fingerprint segments, the method further includes: Identify whether the read fingerprint segment position includes a preset fingerprint segment position, where the preset fingerprint segment position is used to indicate that the complete fingerprint includes complete video fingerprint data; If the read fingerprint segment position includes a preset fingerprint segment position, the fingerprint segment including the preset fingerprint segment position is determined to be a complete fingerprint, and fingerprint data in the complete fingerprint is extracted to obtain the video fingerprint.

16. An electronic device, characterized in that: The electronic device comprises: one or more processors; a storage device for storing one or more programs, 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 15.

17. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 15 is implemented.