Video transmission method and system, video processing method and system, computer readable storage medium and electronic equipment
By generating video segment mapping data and distinguishing between duplicate and non-repetitive content, the problem of delay and resource waste caused by repeated playback in live videos is solved, improving user experience and saving resources.
Patent Information
- Application Number
- CN202510543314.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-28
- Publication Date
- 2025-07-22
AI Technical Summary
In live video and on-demand scenarios, repeated playback results in large dynamic range and high instant bandwidth requirements, which may lead to delay and loss of code stream data, affecting user experience and wasting transmission resources.
By generating video segment mapping data, we judge whether the video segment belongs to duplicate data, and send identification information or data on the receiving end, distinguishing duplicate and non-duplicate content, and using a hash algorithm to generate unique video segment mapping data to improve discrimination accuracy.
Effectively distinguish between duplicate and non-repetitive content, reduce duplicate processing, improve user experience, and save computing and transmission resources.
Smart Images

Figure CN120358371A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data processing, and in particular, to a video transmission method and system, a video processing method and system, a computer-readable storage medium, and an electronic device. Background Art
[0002] Due to the characteristics of fast information dissemination speed, rich presentation forms, promotion of user interaction, creation of economic value, intuitiveness, and entertainment of videos, their importance in modern society cannot be ignored.
[0003] In video playback scenarios such as video live streaming and video on demand, reducing the waiting time of users and ensuring the smoothness of video playback content to improve the user experience is a technical issue worthy of attention.
[0004] Currently, in video playback scenarios such as video live streaming or video on demand, there are sometimes repeated playback contents. For example, repeated advertisements inserted multiple times during video playback, as well as the beginning / end credits, etc. These repeated playback contents often have characteristics such as a large dynamic range and strong repeatability. If a certain video segment has a large dynamic range, encoding this video segment often results in a larger bitstream and often requires a higher instantaneous bandwidth. A larger bitstream often leads to a longer encoding time, which may delay the time when the video is transmitted to the user's terminal device. When the instantaneous bandwidth requirement of the bitstream cannot be met, bitstream data loss may occur, leading to problems such as mosaics. The characteristic of strong repeatability will cause the above problems to occur repeatedly during video playback, which is very unfavorable for the user experience. Additionally, from a certain perspective, the characteristic of strong repeatability is also a waste of transmission resources. Summary of the Invention
[0005] The object of the present invention is to address the defects existing in the prior art, and provide a video transmission method, a video transmission system, a computer-readable storage medium, and an electronic device, so as to effectively distinguish between the content that needs to be repeatedly played and the content that does not need to be repeatedly played during the video transmission process, and perform differential processing on the content that does not need to be repeatedly played and the content that needs to be repeatedly played, thereby facilitating the avoidance of repeated processing operations on the content that needs to be repeatedly played, achieving the purpose of not only being beneficial to improving the user experience but also being beneficial to avoiding phenomena such as waste of computing resources and transmission resources.
[0006] To achieve the above object, a first aspect of the present invention provides a video transmission method, which is executed at a video sending end and includes:
[0007] A generation step of generating first video segment mapping data according to the video frame data forming the first video segment data; wherein, the first video segment data includes at least one video frame data;
[0008] A determination step, which determines whether the first video segment data belongs to duplicate video segment data according to the first video segment mapping data and the set of sent video mapping data;
[0009] A data sending step, when it is determined in the determination step that the first video segment data belongs to duplicate video segment data, sending first identification information to the video receiving end, and
[0010] when it is determined in the determination step that the first video segment data does not belong to duplicate video segment data, sending the first video segment data and the first identification information to the video receiving end; wherein, the first identification information has a one-to-one correspondence with the first video segment data.
[0011] Preferably, when it is determined in the determination step that the first video segment data belongs to duplicate video segment data, the method further includes:
[0012] A set updating step, obtaining first coding information data of the first video segment data, and saving the first coding information data into the set of sent video mapping data; wherein, the first coding information data has a one-to-one correspondence with the first video mapping data.
[0013] Further preferably, each video segment data has a corresponding segment serial number, and the method further includes:
[0014] A continuous matching quantity statistics step, when it is determined in the determination step that the first video segment data belongs to duplicate video segment data, setting the continuous matching quantity N = N + 1, and,
[0015] when it is determined in the determination step that the first video segment data does not belong to duplicate video segment data, setting the continuous matching quantity N = 0.
[0016] Further preferably, before setting the continuous matching quantity N = 0 in the continuous matching quantity statistics step, the method further includes:
[0017] A sequence generation determination step, determining whether the continuous matching quantity N is greater than or equal to a first preset quantity;
[0018] A video segment sequence generation step, when it is determined in the sequence generation determination step that the continuous matching quantity N is greater than or equal to the first preset quantity, generating a first video segment sequence and first sequence identification information according to the first N video segment data; wherein, the first video segment sequence and the first sequence identification information have a one-to-one correspondence;
[0019] When the first sequence identification information is not found in the set of sent video mapping data, save the first sequence identification information to the set of sent video mapping data.
[0020] Further preferably, in the video segment sequence generation step, the method further includes:
[0021] A matching information update step of checking whether there is first matching information corresponding to the first sequence identification information in the set of sent video mapping data,
[0022] When there is the first matching information, update the first matching information;
[0023] When there is no first matching information, generate the first matching information and save the first matching information to the set of sent video mapping data.
[0024] Further preferably, the matching information is the number of matches and / or the matching time.
[0025] Further preferably, when it is determined in the judgment step that the first video segment data belongs to duplicate video segment data, the method further includes:
[0026] According to the first identification information of the first video segment, check whether there is first sequence identification information including the first identification information in the set of sent video mapping data,
[0027] If there is the first sequence identification information, send the first sequence identification information to the video receiving end;
[0028] Update the first matching information corresponding to the first sequence identification information.
[0029] Further preferably, the video segment data includes a group of pictures, and the generating the first video segment mapping data according to the video frame data forming the first video segment data specifically includes:
[0030] Calculate the key frame data in the group of pictures according to a first preset algorithm to generate the first video mapping data.
[0031] Further preferably, the first identification information is specifically the first serial number of the first video segment data and / or the first video mapping data.
[0032] A second aspect of the present invention provides a video processing method, which is executed on a video receiving end and includes:
[0033] A message obtaining step of receiving a first video message from a video sending end;
[0034] Video segment data acquisition step: When the first video message contains the first video segment data and the first identification information, decode the first video segment data and save the first video segment data and the first identification information to the local received video data set.
[0035] When the first video message contains the first identification information and does not contain the first video segment data, obtain the first video segment data corresponding to the first identification information from the received video data set according to the first identification information.
[0036] Video playback step: Perform playback processing on the first video segment data in the video player.
[0037] Preferably, the method further includes:
[0038] Video reissuance request step: When the first video segment data cannot be obtained from the received video data set according to the first identification information, generate video acquisition request data according to the first identification information and send the video request data to the video sending end.
[0039] Reissued video reception step: Receive the second video message in response to the video acquisition request data from the video sending end and obtain the first video segment data from the second video message.
[0040] Save the first video segment data and the first identification information to the local received video data set.
[0041] The video playback step: Perform playback processing on the first video segment data in the video player.
[0042] Further preferably, the first video message contains a first video segment sequence and first sequence identification information, and the method further includes:
[0043] Perform playback processing on the first video segment sequence in the video player
[0044] Save the first video segment sequence and the first sequence identification information to the received video data set.
[0045] Further preferably, the first video message contains first sequence identification information, and the method further includes:
[0046] In the video reissuance request step, generate video acquisition request data according to the first sequence identification information and send the video request data to the video sending end.
[0047] In the step of receiving the reissued video, receive a third video message from the video sending end in response to the video acquisition request data, and obtain a first video segment sequence from the third video message;
[0048] Save the first video segment sequence and the first sequence identification information to the locally received video data set;
[0049] In the video playback step, perform playback processing on the first video segment sequence in the video player.
[0050] The third aspect of the present invention provides a video transmission system, including: a data generation unit, a data judgment unit, and a data sending unit; wherein,
[0051] The data generation unit is used to generate first video segment mapping data according to video frame data forming first video segment data; wherein, the first video segment data includes at least one video frame data;
[0052] The data judgment unit is used to judge whether the first video segment data belongs to duplicate video segment data according to the first video segment mapping data and the set of already sent video mapping data;
[0053] The data sending unit is used to send first identification information to the video receiving end when it is determined in the judgment step that the first video segment data belongs to duplicate video segment data, and
[0054] When it is determined in the judgment step that the first video segment data does not belong to duplicate video segment data, send the first video segment data and the first identification information to the video receiving end; wherein, the first identification information has a one-to-one correspondence with the first video segment data.
[0055] Preferably, the system further includes: a data update unit and a data statistics unit;
[0056] The data update unit is used to complete the data saving and updating of the set of already sent video mapping data;
[0057] The data statistics unit is used to complete the statistics of the continuous matching quantity N.
[0058] Further preferably, the system further includes:
[0059] The data judgment unit is further used to judge whether the continuous matching quantity N is greater than or equal to a first preset quantity;
[0060] The data generation unit is further used to complete the generation of the video segment sequence.
[0061] A fourth aspect of the present invention provides a video processing system, including: a message receiving unit, a data acquisition unit, a playback unit, and a second data update unit; wherein,
[0062] The message receiving unit is configured to receive a first video message from a video sending end;
[0063] The data acquisition unit is configured to, when the first video message includes first video segment data and first identification information, perform decoding processing on the first video segment data, and save the first video segment data and the first identification information to a locally received video data set,
[0064] when the first video message includes the first identification information and does not include the first video segment data, obtain the first video segment data corresponding to the first identification information from the received video data set according to the first identification information;
[0065] The playback unit is configured to perform playback processing on the first video segment data in a video player.
[0066] A fifth aspect of the present invention provides a computer-readable storage medium, and the storage medium stores a computer program, and the computer program is used to execute the method provided in the first aspect or the second aspect of the present invention.
[0067] A sixth aspect of the present invention provides an electronic device, and the electronic device includes:
[0068] A processor;
[0069] A memory for storing executable instructions of the processor;
[0070] The processor is configured to read the executable instructions from the memory and execute the instructions to implement the method provided in the first aspect or the second aspect of the present invention.
[0071] A video transmission method and system, a video processing method and system, a computer-readable storage medium, and an electronic device provided by an embodiment of the present invention. The video transmission method effectively distinguishes the content that needs to be repeatedly played and the content that does not need to be repeatedly played during the video transmission process, and differentially processes the content that does not need to be repeatedly played and the content that needs to be repeatedly played, thereby facilitating the avoidance of repeated processing operations on the content that needs to be repeatedly played, achieving the purpose of not only facilitating the improvement of the user experience, but also facilitating the avoidance of phenomena such as waste of computing resources and transmission resources. Description of the Drawings
[0072] Figure 1 It is a schematic diagram of an application scenario of the technical solution provided by an embodiment of the present invention;
[0073] Figure 2 Flow chart of the video transmission method provided in the first embodiment of the present invention;
[0074] Figure 3 a is a schematic diagram of a one-way diagonal line of a key frame in an example of generating video segment mapping data provided in an embodiment of the present invention;
[0075] Figure 3 b is a schematic diagram of a two-way diagonal line of a key frame in an example of generating video segment mapping data provided in an embodiment of the present invention;
[0076] Figure 3 c is a schematic diagram of a key frame being divided into multiple blocks in an example of generating video segment mapping data provided in an embodiment of the present invention;
[0077] Figure 3 d is a schematic diagram of a one-way diagonal line of multiple blocks of a key frame in an example of generating video segment mapping data provided in an embodiment of the present invention;
[0078] Figure 4 Flow chart of the video transmission method provided in the second embodiment of the present invention;
[0079] Figure 5 Flow chart of the video transmission method provided in the third embodiment of the present invention;
[0080] Figure 6 Flow chart of the update process of the matching information of video segments in the video transmission method provided in the fourth embodiment of the present invention;
[0081] Figure 7 Flow chart of the video transmission method provided in the fifth embodiment of the present invention;
[0082] Figure 8 Flow chart of the video transmission method provided in the sixth embodiment of the present invention;
[0083] Figure 9 Flow chart of the video processing method provided in the seventh embodiment of the present invention;
[0084] Figure 10 System block diagram of the video transmission system provided in an embodiment of the present invention;
[0085] Figure 11 System block diagram of the video transmission system provided by the preferred solution in an embodiment of the present invention;
[0086] Figure 12 System block diagram of the video processing system provided in an embodiment of the present invention;
[0087] Figure 13 Structural diagram of the electronic device provided in an embodiment of the present invention. Detailed implementation manners
[0088] In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0089] The technical solutions of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments.
[0090] The video transmission method and system, video processing method and system, computer-readable storage medium and electronic device provided in the embodiments of the present invention distinguish between video content that does not need to be repeatedly played and video content that needs to be repeatedly played, so as to avoid repeated transmission of repeated video content, change the video transmission method, save network transmission resources and computer system resources, and ultimately achieve the purpose of providing a user experience.
[0091] In order to more clearly introduce the video transmission method and system, video processing method and system, computer-readable storage medium and electronic device provided in the embodiments of the present invention, the application scenarios of the present invention will be introduced here first. The video transmission method and system, video processing method and system, computer-readable storage medium and electronic device provided by the present invention can be applied to a variety of application scenarios. For example, it can be applied to application scenarios such as video live broadcast, video relay, video on demand, and video push. Figure 1 FIG. is a schematic diagram of an application scenario of the technical solution provided in the embodiment of the present invention.
[0092] In the embodiments of the present invention, the video sending end refers to any electronic device that can provide a video source and can perform video sending, including but not limited to servers, desktop computers, tablet computers, etc. The video receiving end is any electronic device that can receive video data, including mobile phones, laptop computers, desktop computers, tablet computers, smart watches, etc. When describing the embodiments of the present invention, the terminal device is also used to refer to the video receiving end. As Figure 1 shown, in a specific example of the embodiments of the present invention, the video sending end is the video sending end 100, which is a server and is currently providing a sports event relay service for many current video receiving ends, such as video receiving ends 101-1, video receiving ends 101-2, video receiving ends 101-3... and video receiving ends 101-n. Sponsor advertisements and / or sports event promotion content need to be inserted during the relay service.
[0093] When the video sending end 100 detects that the currently to-be-played advertisement is a repeatedly played advertisement, it may send only the identification information of each video segment or the identification information of the video segment sequence included in the advertisement to the terminal devices of all current users. The terminal devices of each user may obtain the corresponding video segment or video segment sequence from the local storage space according to the received identification information and play it, thereby realizing the insertion of the advertisement.
[0094] When the video sending end 100 detects that the currently to-be-played sports event promotion content is repeatedly played promotion content, it may send only the identification information of each video segment or the identification information of the video segment sequence included in the promotion content to the terminal devices of all current users. The terminal devices of each user may obtain the corresponding video segment or video segment sequence from the local storage space according to the received identification information and play it, thereby realizing the insertion of the sports event promotion content.
[0095] Due to reasons such as the different time points when all users enter the sports event viewing, there may be a situation where the terminal devices of some users do not store the corresponding advertisement or the video segment or video segment sequence included in the sports event promotion content locally. This situation may cause the phenomenon that the terminal devices of users cannot successfully obtain the corresponding video segment or video segment sequence from the local using the received identification information. The terminal devices of users may use the received identification information to request the video sending end 100 to reissue the corresponding content and play the video segment or video segment sequence reissued by the video sending end 100, thereby realizing the insertion of the advertisement or sports event promotion content.
[0096] It should be noted that the above advertisement content and sports event promotion are used as examples to explain the application of the present invention. However, the application of the present invention not only includes these two applications, but can be applied to any application scenario with repeated video content.
[0097] Based on the above introduction of the application scenario, the technical solutions provided by the embodiments of the present invention will be introduced in detail with specific examples next.
[0098] [Embodiment 1]
[0099] [Video Transmission Method Provided by the First Embodiment of the Present Invention]
[0100] Figure 2 is a flowchart of the video transmission method provided by the first embodiment of the present invention. The following will be combined with Figure 2 , and the video transmission method provided by the first embodiment of the present invention will be described.
[0101] As Figure 2 shown, the video transmission method provided by the first embodiment of the present invention includes the following:
[0102] Step S110, a generating step, generating first video segment mapping data according to the video frame data forming the first video segment data.
[0103] Wherein, the first video segment data includes at least one video frame data.
[0104] Specifically, a video includes at least one video segment, video data refers to the data corresponding to the video, and video segment data refers to the data corresponding to the video segment. Video segment data refers to a sequence of video frame data formed by multiple video frame data, and the video frame data therein can be video frame data in formats such as RGB encoding method, YUV encoding method, or HSV encoding method. During the video sending process, the data corresponding to each video segment constituting the video is processed in sequence. In the embodiments of the present invention, the first video segment data refers to the data corresponding to the first video segment being processed, and the corresponding video frame data refers to the data corresponding to multiple video frames constituting the first video segment.
[0105] A video segment in the embodiments of the present invention can be a unit in a video. For example, a video segment can be a Group of Pictures (GOP), that is, a video segment can include: one I frame and multiple B / P frames. The video frame data in the embodiments of the present invention refers to the information of the video frames included in the video segment, and the video frame data can be the information of the video frames before encoding processing, that is, the image information of the video frames, or the information of the video frames after encoding processing, that is, the bitstream information of the video frames.
[0106] The embodiments of the present invention can use various algorithms to calculate the video frame data in the video segment, so as to generate the video segment mapping data of the video segment. The lengths of the video segment mapping data of different video segments are usually the same, such as 32 bits or 64 bits or 160 bits or 256 bits, etc. In the case where a video segment is a GOP, the embodiments of the present invention can use a preset algorithm to calculate the information in the key frame (i.e., the I frame) of the GOP, and use the calculation result as the video segment mapping data of the GOP, that is, the video segment mapping data of the video segment. The first preset algorithm in the embodiments of the present invention can be a hash algorithm, an error detection algorithm, etc.
[0107] Since the picture of the key frame of the GOP is a completely retained picture, therefore, by using a hash algorithm, etc. to calculate the image information of the key frame of the GOP, the video segment mapping data of the GOP has uniqueness, which is beneficial to avoiding the phenomenon of conflict between the video segment mapping data of different GOPs, and thus is beneficial to improving the accuracy of discriminating duplicate video segments.
[0108] In the preferred embodiment of the present invention, the video segment data includes a group of pictures. According to a first preset algorithm, key frame data in the group of pictures is calculated to generate first video mapping data. The first preset algorithm is an algorithm such as a hashing algorithm or an error detection algorithm.
[0109] In the embodiment of the present invention, the timing for generating the video segment mapping data may perform the operation of generating the video segment mapping data before encoding the video segment, or may perform the operation of generating the video segment mapping data after encoding the video segment.
[0110] Further, in the embodiment of the present invention, after the timing for generating the video segment mapping data, the method for determining the region in the video frame includes:
[0111] Calculate the information in a partial region of a video frame in the video segment to generate the video segment mapping data of the video segment.
[0112] Calculate the information in the entire region of a video frame in the video segment to generate the video segment mapping data of the video segment.
[0113] Further, in the embodiment of the present invention, after determining the region in the video frame, the method for determining the information range in the region includes:
[0114] Calculate all the information in a partial region of a video frame in the video segment to generate the video segment mapping data of the video segment.
[0115] Calculate the extracted information in a partial region of a video frame in the video segment to generate the video segment mapping data of the video segment.
[0116] Calculate all the information in the entire region of a video frame in the video segment to generate the video segment mapping data of the video segment.
[0117] Calculate the extracted information in the entire region of a video frame in the video segment to generate the video segment mapping data of the video segment.
[0118] Taking the video segment as a GOP as an example below, and selecting a hashing algorithm or an error detection algorithm as the first preset algorithm, different ways of generating the video segment mapping data in the embodiment of the present invention are described.
[0119] Method 1: According to the first preset algorithm, calculate all the image information in a partial area of the key frame of the GOP before encoding processing, and use the calculation result as the video segment mapping data of the GOP. The partial area usually refers to the central area, that is, with the center point of the key frame as the center point of the central area, and with a predetermined width and a predetermined height as the width and height of the central area, forming an area. And the predetermined width is less than the width of the key frame, such as one-half, one-third, or one-fourth of the width of the key frame, etc.; the predetermined height is less than the height of the key frame, such as one-half, one-third, or one-fourth of the height of the key frame, etc. It should be noted that the shape of the above partial area can also be circular, etc. Moreover, the embodiments of the present invention do not exclude the possibility that the above partial area is a non-central area, such as a rectangle with a predetermined length and a predetermined width located in the upper left corner or the lower right corner of the key frame, etc.
[0120] Method 2: According to the first preset algorithm, calculate all the information in the entire area of the key frame of the GOP before encoding processing, that is, all the image information of the key frame, and use the calculation result as the video segment mapping data of the GOP.
[0121] Method 3: According to the first preset algorithm, calculate the extracted information in a partial area of the key frame of the GOP before encoding processing, and use the calculation result as the video segment mapping data of the GOP. The extracted information in this method refers to the information extracted from all the image information in the partial area according to certain rules. For example, when the partial area is a rectangle, the extracted information can be the one-way diagonal information or the two-way diagonal information of the central area of the key frame; it can also be the one-way diagonal information or the two-way diagonal information of the non-central area of the key frame.
[0122] Method 4: According to the first preset algorithm, calculate the extracted information in the entire area of the key frame of the GOP before encoding processing, and use the calculation result as the video segment mapping data of the GOP. The extracted information in this method refers to the information extracted from all the image information in the entire area of the key frame according to certain rules. Figure 3 a is a schematic diagram of the one-way diagonal of the key frame in the example of generating video segment mapping data provided by the embodiments of the present invention. As Figure 3 shown in a, the extracted information can be the one-way diagonal information of the key frame. Figure 3 b is a schematic diagram of the two-way diagonal of the key frame in the example of generating video segment mapping data provided by the embodiments of the present invention. As Figure 3 shown in b, the extracted information can be the two-way diagonal information of the key frame. The embodiments of the present invention can also divide the key frame into blocks. Figure 3 c is a schematic diagram of the key frame divided into multiple blocks in the example of generating video segment mapping data provided by the embodiments of the present invention. As Figure 3As shown in c, the height of the key frame is evenly divided into multiple parts, and the key frame is divided into multiple blocks along the horizontal direction according to the equal division points. The width of the key frame can also be evenly divided into multiple parts, and the key frame is divided into multiple blocks along the vertical direction according to the equal division points. Of course, the height of the key frame can also be evenly divided into multiple parts, and at the same time, the width of the key frame is evenly divided into multiple parts, and the key frame is divided into multiple blocks along the horizontal and vertical directions according to the equal division points; Figure 3 d is a schematic diagram of a one-way diagonal line of multiple blocks of a key frame in an example of generating video segment mapping data provided by an embodiment of the present invention. As Figure 3 shown in d, after block division, the one-way diagonal line information of all blocks can be extracted and all the extracted information can be calculated according to a preset algorithm to obtain the video segment mapping data of the GOP; the two-way diagonal line information of all blocks can also be extracted, and all the extracted information can be calculated according to a preset algorithm to obtain the video segment mapping data of the GOP.
[0123] Method Five: Calculate all the bitstream information of the key frame of the GOP after encoding processing according to a first preset algorithm, and use the calculation result as the video segment mapping data of the GOP.
[0124] Method Six: Calculate the extraction information in all the bitstream information of the key frame of the GOP after encoding processing according to a first preset algorithm, and use the calculation result as the video segment mapping data of the GOP. The extraction information in this method refers to the information extracted from all the bitstream information of the key frame according to certain rules. In one example, the extraction information can be the first half of the bitstream information in all the bitstream information of the key frame, or the second half of the bitstream information of all the bitstream information of the key frame, etc.
[0125] Among the above six methods provided by the embodiments of the present invention, although the amount of data participating in the calculation is different, the number of bits of the obtained video segment mapping data can be the same. From the description of the above six methods, it can be seen that the S110 mapping calculation in the embodiments of the present invention can be executed before the server encodes the video segment or after the server encodes the video segment. In addition, the hash algorithms included in the first preset algorithm adopted by the embodiments of the present invention may be: Message-Digest Algorithm (MD5), Secure Hash Algorithm (SHA-1), SHA-256, SHA-3 algorithm, BLAKE2 algorithm, SHA-384, SHA-512, and xxHash algorithms such as xxH32, xxH64, xxH3_64bits, and XXH3_128bits, etc.; and the video segment mapping data obtained by using the hash algorithm may be referred to as a hash feature code, or a hash feature encoding, or a hash code, etc. The first preset algorithm adopted by the embodiments of the present invention may also be Cyclic Redundancy Check (CRC32), etc. Furthermore, considering that the embodiments of the present invention need to frequently calculate the video segment mapping data, therefore, in order to improve the speed and save computing resources, the first preset algorithm in the preferred solution of the embodiments of the present invention may adopt xxHash or CRC32.
[0126] By providing multiple ways to obtain the video segment mapping data of the GOP, some ways utilize all the image information of the key frame, some ways utilize partial image information of the key frame, for example, the single / double diagonal information of the key frame or the single / double diagonal information of the block, etc., and some ways utilize all / partial bitstream information of the key frame. While considering the calculation amount of the video segment mapping data, the uniqueness of the video segment mapping data is ensured as much as possible, so that the corresponding implementation method can be flexibly configured according to the computing resources of the video sending end and the requirements for real-time performance, etc., which is conducive to improving the applicability of the technical solution of the embodiments of the present invention.
[0127] Step S120, a judgment step, determines whether the first video segment data belongs to duplicate video segment data according to the first video segment mapping data and the set of already sent video mapping data.
[0128] Specifically, in the embodiments of the present invention, a set of transmitted video mapping data is preset, and the initial state of this set can be empty. The set of transmitted video mapping data can be in the form of a database, a binary tree, a B-tree, a hash table, etc. The set of transmitted video mapping data is mainly used to store the video segment mapping data of the transmitted video segment data. In one example, the set of transmitted video mapping data can also store duplicate video segments and other information of the transmitted video segments, such as the segment serial number of the transmitted video segment data and the sequence identification information of the video segment sequence to which it belongs, and the bitstream information of the encoded duplicate video segment, etc.
[0129] In the embodiments of the present invention, the first video segment mapping data of the video segment can be used to search and match in the set of transmitted video mapping data. If the search result is that there is no record in the set of transmitted video mapping data that matches the first video segment mapping data, it is considered that the first video segment data does not belong to the duplicate video segment data. If there is a record in the set of transmitted video mapping data that matches the first video segment mapping data, it is considered that the first video segment data belongs to the duplicate video segment data.
[0130] The duplicate video segment data in the embodiments of the present invention refers to the video segment data in which the video content appears again or repeatedly within a certain time range and has been previously sent to the video receiving end.
[0131] In the data sending step, data sending is performed according to the judgment result in the judgment step S120.
[0132] Among them, the first identification information has a one-to-one correspondence with the first video segment data.
[0133] Specifically, the identification information of the video segment data in the embodiments of the present invention is mainly used to uniquely mark a video segment, that is, there is a one-to-one relationship between the identification information of the video segment data and the video segment data. The identification information of the video segment data can be the segment serial number assigned by the video sending end to the video segment, or the video segment mapping data of the video segment data.
[0134] In a specific example of the embodiments of the present invention, if the identification information of the video segment includes the segment serial number, that is, the identification information of the video segment is the segment serial number, and again, if the identification information of the video segment is the segment serial number and the video segment mapping data, then in the embodiments of the present invention, when storing the video segment mapping data, the segment serial number and the video segment mapping data can be stored together in the set of transmitted video mapping data. By using the segment serial number or the video segment mapping data as the identification information of the video segment and storing it, it is beneficial to simplify the identification information of the video segment; by using the segment serial number and the video segment mapping data as the identification information of the video segment and storing it, it is beneficial to avoid the influence of the conflict phenomenon of the video segment mapping data on the discrimination of duplicate video segments, thereby being beneficial to improving the accuracy of discriminating duplicate video segments.
[0135] In an embodiment of the present invention, when it is determined in the judgment step that the first video segment data belongs to duplicate video segment data, step S130 is executed; when it is determined in the judgment step that the first video segment data does not belong to duplicate video segment data, step S140 is executed.
[0136] Step S130: Send the first identification information to the video receiving end.
[0137] Specifically, if the first video segment data is duplicate video segment data, it should have been sent to the video receiving end previously. Therefore, at this time, only the first identification information needs to be sent to the video receiving end, so that the video receiving end can search for the corresponding first video segment data in the set of received video data stored locally according to the first identification information for playback in the video player at the video receiving end.
[0138] Step S140: Send the first video segment data and the first identification information to the video receiving end.
[0139] Specifically, in the case where it is determined that the first video segment data does not belong to duplicate video segment data, the first video segment mapping data is stored in the set of sent video mapping data, and the first video segment data and the first identification information of the first video segment data are sent to the video receiving end, so that the video receiving end stores the first video segment data and the first identification information of the first video segment data locally. The video receiving end performs playback processing on the first video segment data in the video player according to the received first video segment data.
[0140] [Second Embodiment]
[0141] <Video Transmission Method According to the Second Embodiment of the Present Invention>
[0142] The video transmission method provided by the second embodiment of the present invention further provides that when it is determined that the first video segment data is duplicate video segment data, the encoded video segment data corresponding to the first video segment data is saved in the set of sent video mapping data on the basis of the implemented video transmission method.
[0143] Figure 4 The following is a flowchart of the video transmission method provided by the second embodiment of the present invention. Figure 4 The video transmission method provided by the second embodiment of the present invention will be introduced in detail below.
[0144] As Figure 4As shown in the figure, the video transmission method provided by the second embodiment of the present invention, in addition to steps S210, S220, S230, and S240 corresponding to steps S110, S120, S130, and S140 in the first embodiment respectively, after S230, further includes a set update step, such as the following step S250.
[0145] Step S250, the set update step, obtains the first coding information data of the first video segment data and saves the first coding information data into the set of sent video mapping data.
[0146] Among them, the first coding information data and the first video mapping data have a one-to-one correspondence.
[0147] Specifically, the coding information data is the bitstream information after the video segment data is encoded. When it is determined that the first video segment data belongs to the duplicate video segment data, the correspondence information between the first video mapping data of the first video segment data and the first video segment after encoding processing can be stored in the set of sent video mapping data. For example, in the record where the first video mapping data of the first video segment data in the set of sent video mapping data is located, the above-mentioned first coding information data after encoding processing is added. The purpose of storing the first coding information data of the first video segment in the set of sent video mapping data in the embodiment of the present invention includes: when the video receiving end fails to successfully obtain the first video segment data locally, it will request the first video segment data from the video sending end, and the video sending end can quickly obtain the first coding information data corresponding to the first video segment data from the set of sent video mapping data and directly send it to the video receiving end.
[0148] In a specific example of the embodiment of the present invention, when the video sending end receives a video segment reissuance request from the video receiving end, it obtains the first identification information of the reissued video segment from the information carried by the video segment reissuance request. The video sending end searches in the set of sent video mapping data according to the first identification information, so as to obtain a record matching the first identification information. The video sending end obtains the first coding information data from the matching record and directly carries the first identification information and the first coding information data of the first video segment data in the video segment reissuance response and sends it to the receiving end, which can not only prevent the video receiving end from not being able to obtain the first video segment data locally, but also improve the speed of responding to the video segment reissuance request from the video receiving end, enabling the video receiving end to quickly obtain the first video segment data that has not been retained.
[0149] [Third Embodiment]
[0150] <The video transmission method provided according to the third embodiment of the present invention>
[0151] The video transmission method provided by the third embodiment of the present invention, based on the video transmission methods provided by the first and second embodiments, further provides that when it is determined that consecutive multiple video segment data are duplicate video segment data, the duplicate video segment data are counted, and a video segment sequence is generated when a preset condition is met.
[0152] During video playback, duplicate video content often includes consecutive multiple video segments. Embodiments of the present invention can separately send the identification information of each video segment included in the duplicate video content to the video receiving end, or can take consecutive multiple video segments as a whole and send the identification information of this whole to the video receiving end. For example, taking consecutive multiple video segments as a video segment sequence and sending the identification information of this video segment sequence to the video receiving end, the identification information of this video segment sequence can enable the video receiving end to obtain multiple video segments from the local and play them, which is beneficial to further saving transmission resources and enriching the implementation methods of video transmission.
[0153] Specifically, embodiments of the present invention can start counting the consecutive number of duplicate video segments when it is determined that a video segment belongs to duplicate video segments, that is, make a judgment on whether subsequent video segments consecutive to this video segment are duplicate video segments one by one until a video segment does not belong to duplicate video segments, then the current quantity statistics can be stopped; at this time, if multiple consecutive duplicate video segments have been obtained when stopping the current statistics, multiple consecutive duplicate video segments can be taken as a video segment sequence. If the identification information of this video segment sequence is set in the mapping information set, it means that the identification information of this video segment sequence, the bitstream information of each video segment in the video segment sequence, and the mapping information of each video segment have all been sent to the video receiving end, and the video receiving end locally stores this identification information and the video segment sequence corresponding to this identification information. Embodiments of the present invention can directly send the identification information of this video segment sequence to the video receiving end; if the identification information of this video segment sequence is not set in the mapping information set, it means that the identification information of this video segment sequence has not been sent to the video receiving end. Although the video receiving end does not locally store this identification information, it stores the bitstream information of each video segment in this video segment sequence. Embodiments of the present invention can set the identification information of the video segment sequence for all the duplicate video segments counted this time, store the corresponding relationship between the identification information of this video segment sequence and the identification information of each video segment in the mapping information set, and should also send the identification information of this video segment sequence and the identification information of some or all of the video segments in the sequence to the video receiving end. In an example, the identification information of the sequence sent by embodiments of the present invention to the video receiving end can include: the serial number of the video segment sequence; it can also optionally include: the serial number of the first video segment in the video segment sequence and the serial number of the last video segment in the video segment sequence; it can also optionally include: the mapping information of each video segment, etc.
[0154] In an example of an embodiment of the present invention, corresponding requirements can be set for the number of repeated video segments forming a video segment sequence, such as the number being not less than a predetermined value, etc. Thus, only when the number of repeated video segments meets the corresponding requirements can it be considered that a plurality of consecutive repeated video segments form a video segment sequence; otherwise, it cannot be considered a video segment sequence. For example, two consecutive repeated video segments cannot be considered a video segment sequence.
[0155] In a specific example of an embodiment of the present invention, for the i-th video segment, the i-th video segment does not belong to a repeated video segment, and for the i+1-th video segment, the embodiment of the present invention determines that the i+1-th video segment belongs to a repeated video segment, then starts a number counting operation for repeated video segments: for subsequent video segments continuous with the i+1-th video segment, continue to determine whether the subsequent video segment belongs to a repeated video segment based on the mapping information of the subsequent video segment and the mapping information set of the sent video segments, until it is determined that a certain subsequent video segment does not belong to a repeated video segment (for example, the i+j-th video segment does not belong to a repeated video segment, where j is greater than 3), thereby the embodiment of the present invention obtains j-1 consecutive repeated video segments, namely, the i+1-th video segment, The i+2th video segment, ..., and the i+j-1th video segment, if j-1 is greater than a predetermined value, it is considered that j-1 consecutive repeated video segments form a video segment sequence. The embodiment of the present invention can determine whether the identification information of the video segment sequence is stored in the mapping information set. If the identification information of the video segment sequence exists, the identification information of the video segment sequence (such as the sequence number of the video segment sequence) is sent to the video receiving end; of course, the sequence number of the i+1th video segment (that is, the sequence number of the first video segment in the sequence), the sequence number of the i+j-1th video segment (that is, the sequence number of the last video segment in the sequence) and the mapping information of each video segment (such as a vector formed by the mapping information of each video segment, etc.) can also be sent to the video receiving end. If the identification information of the video segment sequence does not exist, the identification information is generated for the video segment sequence, and the identification information of the video segment sequence is stored in the mapping information set (i.e., the corresponding relationship between the identification information of the video segment sequence and the mapping information of each video segment in the video segment sequence is stored), and the mapping information of each video segment in the video segment sequence (such as a vector formed by the mapping information of the i+1th video segment, the mapping information of the i+2th video segment, ..., and the mapping information of the i+j-1th video segment) and the identification information of the video segment sequence are sent to the video receiving end, so that the video receiving end locally stores the corresponding relationship information between the identification information of the video segment sequence and the mapping information of each video segment in the video segment sequence. Of course, the serial numbers of some or all video segments can also be sent to the video receiving end. Since the video receiving end locally stores the code stream information of each video segment in the video segment sequence, the code stream information of each video segment in the video segment sequence does not need to be sent to the video receiving end. If the number of repeated video segments does not meet the requirement for forming a video segment sequence, the operation of sending the identification information of the video segment (such as mapping information and / or sequence number) to the video receiving end can be performed for each repeated video segment. If the i+2th video segment does not belong to the repeated video segment, step S202 can be performed for the i+2th video segment. By setting requirements for the number of repeated video segments forming a video segment sequence, it is helpful to avoid the phenomenon that more statistical resources and transmission resources are consumed to realize the video segment sequence.
[0156] Figure 5 The flowchart of the video transmission method provided by the third embodiment of the present invention will be described in detail below in conjunction with Figure 5 , and the video transmission method provided by the third embodiment of the present invention will be introduced in detail.
[0157] As Figure 5 shown, the video transmission method provided by the third embodiment of the present invention, in addition to including steps S310, S320, S330, and S340 corresponding to steps S110, S120, S130, and S140 in the first embodiment respectively, further includes consecutive matching quantity statistical steps S350 - S390. When it is determined in step S320 that the first video segment data is duplicate video segment data, execute S350 and its subsequent steps. When it is determined in step S320 that the first video segment data does not belong to duplicate video segment data, after executing step S340, continue to execute step S360 and its subsequent steps. The following will introduce steps S350 to S390 in detail.
[0158] Step S350, set the consecutive matching quantity N = N + 1.
[0159] Specifically, set the consecutive matching quantity N to record the quantity of consecutive duplicate video segments. When it is determined in step S320 that the first video segment data is duplicate video segment data, set the consecutive matching quantity N = N + 1 to complete the statistics of the quantity of consecutive duplicate video segments.
[0160] Step S360, sequence generation determination step, determine whether the consecutive matching quantity N is greater than or equal to the first preset quantity.
[0161] Specifically, in the embodiment of the present invention, statistics are performed on multiple consecutive duplicate video segment data. When the quantity of multiple consecutive duplicate video segment data is greater than or equal to the first preset quantity, execute step S370 and subsequent steps to complete generating a video segment sequence for these multiple consecutive duplicate video segment data.
[0162] Step S370, video segment sequence generation step, generate a first video segment sequence and first sequence identification information according to the first N video segment data.
[0163] Specifically, in the embodiment of the present invention, generate a first video segment sequence according to the first N video segment data before the first video segment data, and generate first sequence identification information with a one-to-one correspondence relationship. Among them, the first sequence identification information can use the segment sequence number of the starting video segment of the video segment sequence as a part, so that it can be more convenient and fast to search for the first sequence identification information in the set of already sent video mapping data.
[0164] Step S380: When the first sequence identification information is not found in the set of sent video mapping data, save the first sequence identification information to the set of sent video mapping data.
[0165] Specifically, after generating the first sequence identification, to determine whether the first video segment sequence is determined as a plurality of consecutive repeated video segments for the first time, check whether the first sequence identification information exists in the set of sent video mapping data. When the first sequence identification information is not found in the set of sent video mapping data, it indicates that the first video segment sequence is generated for the first time. At this time, save the first sequence identification information to the set of sent video mapping data.
[0166] Step S390: Set the continuous matching count N = 0.
[0167] Specifically, when it is determined in step S320 that the first video segment data does not belong to the repeated video segment data, reset the continuous matching data to 0 at this time, so as to accurately count the number of repeated video segment data when the first video segment data is determined as the repeated video segment data subsequently.
[0168] [Fourth Embodiment]
[0169] <Video Transmission Method According to the Fourth Embodiment of the Present Invention>
[0170] Based on the first, second, and third embodiments of the video transmission method provided by the fourth embodiment of the present invention, when determining that a plurality of consecutive video segment data are repeated video segment data and then generating a first video segment sequence composed of a plurality of consecutive repeated video segment data, check whether there is a first matching information corresponding to the first sequence identification information in the set of sent video mapping data to record the matching situation of the video segment sequence composed of a plurality of consecutive repeated video segment data.
[0171] The embodiments of the present invention can maintain the records in the set of sent video mapping data to delete various records and data with relatively low utilization value in the set of sent video mapping data, thereby helping to avoid the phenomenon that the set of sent video mapping data is too large, and further improving the search efficiency of the set of sent video mapping data.
[0172] In a specific example, when the embodiment of the present invention successfully finds a record in the sent video mapping data set that matches the identification information of a video segment sequence, it can update the matching information of the record corresponding to the identification information of the video segment sequence. The matching information can be set in the sent video mapping data set. For example, update the matching times information of the corresponding record, such as incrementing the matching times by 1. Another example is to update the latest matching time information of the corresponding record, for example, taking the current time as the latest matching time. Still another example is to update the matching times information and the latest matching time information of the corresponding record, etc. The embodiment of the present invention can detect the matching information in the records corresponding to each video segment sequence in the sent video mapping data set regularly or irregularly. If the matching information of a certain video segment sequence does not meet the predetermined requirements, the record corresponding to the video segment sequence can be deleted from the sent video mapping data set. For example, when the matching times do not reach a certain predetermined value and the latest matching time is earlier than a certain predetermined time, the record corresponding to the identification information of the video segment sequence can be deleted.
[0173] In another specific example, when the embodiment of the present invention successfully finds a record in the sent video mapping data set that matches the video mapping data of a video segment, it can update the matching information of the record corresponding to the video mapping data of the video segment. The matching information can be set in the sent video mapping data set. For example, update the matching times information of the corresponding record, such as incrementing the matching times by 1. Another example is to update the latest matching time information of the corresponding record, for example, taking the current time as the latest matching time. Still another example is to update the matching times information and the latest matching time information of the corresponding record, etc. The embodiment of the present invention can detect the matching information in the records corresponding to each video segment in the sent video mapping data set regularly or irregularly. If the matching information of a certain video segment does not meet the predetermined requirements, the record corresponding to the video segment can be deleted from the sent video mapping data set. For example, when the matching times do not reach a certain predetermined value and the latest matching time is earlier than a certain predetermined time, the record corresponding to the video segment can be deleted.
[0174] Figure 6 It is a flowchart of the matching information update process of the video segment in the video transmission method provided by the fourth embodiment of the present invention. The following will be combined with Figure 6 to introduce in detail the matching information update process of the video segment in the video transmission method provided by the fourth embodiment of the present invention.
[0175] As Figure 6As shown, for the matching information update process of video segments, when it is determined in step S410 that a first matching information corresponding to the first sequence identification information is found in the set of sent video mapping data, step S420 is executed. When it is determined in step S430 that a first matching information corresponding to the first sequence identification information is found in the set of sent video mapping data, step S430 is executed. The following provides a detailed introduction to steps S410 - S430.
[0176] Step S410: Search in the set of sent video mapping data to find out if there is a first matching information corresponding to the first sequence identification information.
[0177] Specifically, in the embodiments of the present invention, for a video segment sequence composed of multiple continuously repeated video segment data, it is necessary to confirm the matching situation of the first video segment sequence during previous video sending processes and record it. This record represents the matching information corresponding to the first video segment sequence. In the embodiments of the present invention, the matching information is the number of matches and / or the matching time. That is to say, the matching information can be the number of matches; the matching information can be the matching time; the matching information can also be the number of matches and the matching time.
[0178] According to the judgment result of this step, continue to execute step S420 or step S430.
[0179] Step S420: When it is determined in this step that there is a first matching information corresponding to the first sequence identification information in the set of sent video mapping data, update the first matching information.
[0180] Specifically, when it is determined in this step that there is a first matching information corresponding to the first sequence identification information in the set of sent video mapping data, it means that the first video segment sequence has been matched. At this time, only the found first matching information needs to be updated. For example, increment the number of matches by 1, and / or update the matching time to the current time of the system.
[0181] Step S430: When it is determined in this step that there is no first matching information corresponding to the first sequence identification information in the set of sent video mapping data, generate the first matching information and save the first matching information to the set of sent video mapping data.
[0182] Specifically, when it is determined in this step that there is no first matching information corresponding to the first sequence identification information in the set of sent video mapping data, it means that the first video segment sequence is generated for the first time and has not been matched before. At this time, generate the first matching information corresponding to the first video segment sequence and set the generated first matching information. For example, set the generated number of matches to 1, and / or set the matching time to the current time of the system.
[0183] The video transmission methods corresponding to the four embodiments of the present invention are introduced above. Taking the video segment as a GOP as an example, based on the video segment sequence, the video transmission method provided by the fifth embodiment of the present invention will be introduced below.
[0184] [Fifth Embodiment]
[0185] <Video Transmission Method Provided by the Fifth Embodiment of the Present Invention>
[0186] Figure 7 is a flowchart of the video transmission method provided by the fifth embodiment of the present invention. In combination with Figure 7 , the video transmission method provided by the fifth embodiment of the present invention will be described.
[0187] As Figure 7 shown, in step S500, start the process of this embodiment, initialize the set of transmitted video mapping data of the transmitted GOP and the continuous matching count N. For example, clear the set of transmitted video mapping data of the transmitted GOP and set N = 0.
[0188] In step S501, determine whether there is an unprocessed GOP currently. If there is an unprocessed GOP, execute step S502. If there is no unprocessed GOP, execute step S312 to end the process of this embodiment.
[0189] In step S502, generate the video mapping data of the GOP according to the key video frame data in the GOP to be processed currently. For example, use a hash algorithm to calculate the one-way diagonal information, or two-way diagonal information, or the one-way / two-way diagonal information of each region in the key frame of the GOP, and use the calculation result as the video mapping data of the GOP.
[0190] In step S503, determine whether there is a record in the set of transmitted video mapping data that matches the video mapping data of the GOP. If there is a matching record, it is considered that the GOP belongs to a duplicate GOP, and execute step S504. If there is no matching record, it is considered that the GOP does not belong to a duplicate GOP, and execute step S505.
[0191] In step S504, set the continuous matching count N = N + 1, and return to step S301.
[0192] In step S505, store the video mapping data of the current GOP in the set of transmitted video mapping data, perform encoding and other processing on the current GOP to form the bitstream of the GOP, and assign a serial number to the GOP respectively. Then execute step S506.
[0193] Step S506: Determine the value of the consecutive matching count N. If N reaches a predetermined value, which can be 2, 3, etc., then execute Step S507. If N = 0, then execute Step S509. If N is greater than 0 and less than the predetermined value, then execute Step S510. If N is greater than 0 and has not reached the predetermined value, execute Step S511.
[0194] Step S507: The current consecutive N + 1 GOPs form a GOP sequence. When there is a GOP sequence, execute Step S509. When there is no GOP sequence, execute Step S508.
[0195] Step S508: Assign identification information to the GOP sequence and store the information of the GOP sequence in the set of already sent video mapping data. Execute Step S508.
[0196] Step S509: Send the identification information of the GOP sequence to the video receiving end. Return to Step S501.
[0197] Step S510: Send the GOP, the sequence number of the GOP, and the video mapping data to the video receiving end. Return to Step S501.
[0198] Step S511: Send the video mapping data and sequence numbers of the N GOPs before the current GOP to the video receiving end, and send the bitstream, video mapping data, and sequence number of the current GOP. Return to Step S501.
[0199] [Sixth Embodiment]
[0200] [Video Transmission Method Provided by the Sixth Embodiment of the Present Invention]
[0201] Figure 8 is a flowchart of the video transmission method provided by the sixth embodiment of the present invention. As Figure 8 shown, the video transmission method provided by the sixth embodiment of the present invention includes Step S600, Step S601, Step S602, Step S603, and Step S604, and each step as Figure 8 shown is executed in the video sending end. The video sending end of the embodiment of the present invention is usually a server, and this server is a server that provides video services for users. The video services provided by this server include: video live broadcast service, video on - demand service, video relay service, and video push service, etc. The following will separately describe Figure 8 each step in.
[0202] Step S600: Generate the video mapping data of the video segment according to the video frame data in the video segment. The specific content of the video segment, video frame data, and the generated video mapping data of the video segment can refer to the relevant description in S110 above, and will not be elaborated here.
[0203] Step S601: Determine whether the video segment belongs to a duplicate video segment according to the video mapping data of this video segment and the set of sent video mapping data of the sent video segments.
[0204] Specifically, in the embodiment of the present invention, the video mapping data of this video segment can be used to search in the set of sent video mapping data. If the search result shows that there is a record in the set of sent video mapping data that matches the video mapping data of this video segment, it is determined that this video segment belongs to a duplicate video segment; otherwise, it is determined that this video segment does not belong to a duplicate video segment.
[0205] Step S602: When it is determined that the video segment does not belong to a duplicate video segment, store the video mapping data in the set of sent video mapping data and send this video segment to the video receiving end.
[0206] Specifically, the video receiving end locally in this method may not store the identification information of non-duplicate video segments. Therefore, when it is determined that the video segment does not belong to a duplicate video segment, it is only necessary to send the bitstream of this video segment to the video receiving end, and it is not necessary to send the identification information of this video segment to the video receiving end either.
[0207] Step S603: When it is determined that this video segment belongs to a duplicate video segment and is the first duplicate video segment, send this video segment and the identification information of this video segment to the video receiving end so that the video receiving end locally stores this video segment and the identification information of this video segment.
[0208] Specifically, the set of sent video mapping data in this embodiment can be set with a matching count. This matching count can not only be used to maintain the set of sent video mapping data, but also be used to determine whether this video segment is the first duplicate video segment. For example, in the embodiment of the present invention, when it is determined that the video segment belongs to a duplicate video segment and is the first duplicate video segment, the matching count in the record where the video mapping data of this video segment is located in the set of sent video mapping data can be set to 1 to indicate that this video segment is determined to be a duplicate video segment for the first time. The identification information of this video segment here can be the serial number of the video segment and / or the video mapping data, etc.
[0209] Step S604: When it is determined that this video segment belongs to a duplicate video segment and is not the first duplicate video segment, send the identification information of this video segment to the video receiving end so that the receiving end obtains this video segment from the local according to the identification information of this video segment.
[0210] Specifically, when it is determined in the embodiment of the present invention that a video segment belongs to a duplicate video segment and is not the first duplicate video segment, the matching count in the record where the video mapping data of this video segment in the set of already transmitted video mapping data can be set to the current count + 1, to indicate the number of times this video segment is recognized as a duplicate video segment. Since in the embodiment of the present invention, when this video segment is recognized as the first duplicate video segment, this video segment and its identification information are sent to the video receiving end to instruct the video receiving end to locally store the received video segment and the identification information of the video segment. Therefore, this time, the video segment does not need to be sent to the video receiving end again, and the video receiving end will obtain the video segment corresponding to this identification information from local according to the identification information of the video segment it receives.
[0211] By forming video mapping data for video segments and setting a set of already transmitted video mapping data for already transmitted video segments, it can be determined whether each currently to-be-transmitted video segment belongs to a duplicate video segment and whether it is the first duplicate video segment; by storing the video mapping data of a video segment in the set of already transmitted video mapping data and sending the video segment to the video receiving end when it is determined that a video segment does not belong to a duplicate video segment. In this way, when a certain video segment needs to be sent to the video receiving end again and it is determined that this video segment belongs to the first duplicate video segment, by sending the video segment and the identification information of the video segment to the video receiving end and making the video receiving end locally store the video segment and the identification information of the video segment, it can make the video receiving end locally store only duplicate video segments and their identification information, which is beneficial to reducing the occupation of the local storage space of the video receiving end by video transmission; when it is determined that this video segment does not belong to the first duplicate video segment, this video segment does not need to be sent to the video receiving end again, and only the identification information of this video segment needs to be sent; thus, in scenarios such as frequently inserting advertisements or promotion content, it can not only avoid frequent encoding operations on duplicate video segments, but also avoid the occupation of transmission bandwidth by duplicate video segments, and avoid problems such as mosaic caused by the loss of stream data when the instantaneous bandwidth requirement of the stream cannot be met; especially when the video sending end provides the same video service for multiple video receiving ends, the above effects are particularly obvious. It can be seen from this that the technical solution provided by the embodiment of the present invention is beneficial to reducing the amount of stream information transmission, reducing the requirement for instantaneous bandwidth, and improving the video experience of users.
[0212] In an example of an embodiment of the present invention, when it is determined that the video segment belongs to a duplicate video segment and is the first duplicate video segment, the correspondence information between the video mapping data of the video segment and the video segment after encoding processing, that is, the correspondence information of the bitstream information of the video segment, can be stored in the set of sent video mapping data. For example, in the record where the video mapping data of the video segment in the set of sent video mapping data is located, the above-mentioned video segment after encoding processing is added. The purposes of storing the video segment in the set of sent video mapping data in the embodiment of the present invention include: when the video receiving end fails to successfully obtain the video segment locally, it will request the video segment from the video sending end, and the video sending end can quickly obtain the video segment from the set of sent video mapping data and provide it to the video receiving end. Specifically, when the video sending end receives a video segment reissuance request from the video receiving end, it obtains the identification information of the reissued video segment from the information carried in the video segment reissuance request. The identification information can be the serial number of the reissued video segment, the video mapping data of the reissued video segment, or the serial number and video mapping data of the reissued video segment, etc. The video sending end uses the identification information to search in the set of sent video mapping data, so as to obtain a record that matches the identification information. The video sending end obtains a video segment, that is, the reissued video segment, from the matching record. After that, the video sending end can carry the identification information of the reissued video segment and the reissued video segment together in the video segment reissuance response and send it to the receiving end, thereby avoiding problems such as mosaic caused by the video receiving end being unable to obtain the duplicate video segment locally, which is beneficial to improving the reliability of video transmission.
[0213] In a specific example of an embodiment of the present invention, the repeated video content during video playback often includes multiple consecutive video segments. When the embodiment of the present invention sends the identification information to the video receiving end, it can send the identification information of each video segment in the multiple consecutive video segments to the video receiving end, or regard the multiple consecutive video segments as a whole and send the identification information of the whole to the video receiving end. For example, when the multiple consecutive video segments are regarded as a video segment sequence and the video segment sequence is the first duplicate video segment sequence, the video segment sequence can be sent to the video receiving end, such as the bitstream information of all video segments in the video segment sequence and the identification information of the video segment sequence. When the video receiving end receives the video segment sequence and its identification information, it will locally store the video segment sequence and its identification information. Thus, when the video segment sequence is a non-first duplicate video segment sequence, the identification information of the video segment sequence can be sent to the video receiving end. The identification information can enable the video receiving end to obtain all video segments included in the video segment sequence, that is, the bitstream information of all video segments, from the local and play them, which is beneficial to enriching the implementation methods of video transmission on the basis of further saving transmission resources.
[0214] Specifically, the number of matches of the video segment sequence can be set in the sent video mapping data set according to the embodiments of the present invention, and the initial value of the number of matches can be set to 0. In the embodiments of the present invention, when it is determined that a video segment belongs to a duplicate video segment, the continuous quantity statistics of the duplicate video segments can be started, that is, the subsequent video segments consecutive to the video segment are judged one by one for duplicate video segments until a video segment does not belong to a duplicate video segment, and then the quantity statistics of this time can be stopped; at this time, if a plurality of consecutive duplicate video segments have been obtained when the quantity statistics of this time is stopped, the plurality of consecutive duplicate video segments can be used as a video segment sequence. If the identification information of the video segment sequence is not set in the sent video mapping data set, it means that the video segment sequence is formed for the first time. According to the embodiments of the present invention, the identification information of the video segment sequence can be set for all the duplicate video segments counted this time, and the corresponding relationship between the identification information of the video segment sequence and the identification information of each video segment can be stored in the sent video mapping data set. In addition, the identification information of the video segment sequence, the identification information of all the video segments in the sequence, and the bitstream information of each video segment in the sequence should be sent to the video receiving end, and the number of matches of the video segment sequence is set to 1. In a specific example, according to the embodiments of the present invention, the serial number of the video segment sequence, the serial numbers of each video segment in the video segment sequence, the video mapping data of each video segment, and the bitstream information of each video segment, etc. can be sent to the video receiving end, and the video receiving end should locally store the serial number of the video segment sequence, the serial numbers of each video segment in the video segment sequence, the video mapping data of each video segment, and the bitstream information of each video segment. If the identification information of the video segment sequence is set in the sent video mapping data set and the number of matches of the video segment sequence is not 0, it means that the identification information of the video segment sequence, the bitstream information of each video segment in the sequence, and the video mapping data of each video segment have all been sent to the video receiving end, and the video receiving end locally stores the identification information and the video segment sequence corresponding to the identification information. According to the embodiments of the present invention, only the identification information of the video segment sequence can be directly sent to the video receiving end, and the number of matches of the video segment sequence is incremented by 1.
[0215] In a specific example of this embodiment, corresponding requirements can be set for the number of duplicate video segments forming the video segment sequence, such as the number is not less than a predetermined value, etc. Thus, only when the number of duplicate video segments meets the corresponding requirements can it be considered that a plurality of consecutive duplicate video segments form a video segment sequence; otherwise, it cannot be considered as a video segment sequence. For example, two consecutive duplicate video segments cannot be considered as a video segment sequence. For specific examples, reference can be made to the description in the above embodiments for Figure 7 which will not be elaborated here.
[0216] A video transmission method provided by an embodiment of the present invention effectively differentiates the content that needs to be repeatedly played and the content that does not need to be repeatedly played during the video transmission process, and differentially processes the content that does not need to be repeatedly played and the content that needs to be repeatedly played, thereby facilitating the avoidance of repeated processing operations on the content that needs to be repeatedly played, achieving the purpose of not only facilitating the improvement of user experience but also avoiding phenomena such as waste of computing resources and transmission resources.
[0217] [Seventh Embodiment]
[0218] <Video Processing Method Provided by the Seventh Embodiment of the Present Invention>
[0219] The video transmission method provided by multiple embodiments of the present invention has been described in detail above in conjunction with the accompanying drawings. The present invention also provides a video processing method, which is executed at a video receiving end. Next, the video processing method provided by the embodiments of the present invention will be introduced in detail in conjunction with the accompanying drawings.
[0220] Figure 9 is a flowchart of the video processing method provided by the seventh embodiment of the present invention. As Figure 9 shown, the video processing method provided by the seventh embodiment of the present invention includes step S700, step S701, and step S702, and each step shown as Figure 9 is executed in a video receiving end. The video receiving end of the embodiment of the present invention can be a terminal device such as a user's desktop computer, notebook computer, tablet computer, or smart phone. The following will Figure 9 describe each step in detail.
[0221] Step S700: Receive a video message from a video sending end.
[0222] The video message in the embodiment of the present invention refers to the message sent by the video sending end to the video receiving end to provide video services. The embodiment of the present invention does not limit the protocol and message format adopted by the video message, etc.
[0223] Step S701: When the video message contains a video segment and identification information of the video segment, perform decoding processing on the video segment, and store the video segment and the identification information of the video segment in a local identification information set.
[0224] The identification information of the video segment in the embodiment of the present invention may include at least one of the serial number of the video segment and the mapping information of the video segment. The video segment locally stored at the video receiving end of the embodiment of the present invention may be the bitstream information of the video segment or the frame information of each video frame included in the video segment obtained after local decoding processing, that is, the image information of each video frame.
[0225] In an example of an embodiment of the present invention, the identification information set, which is also the received video data set, is stored in the storage unit of the video receiving end and may include: the serial number of the video segment and the bitstream information of the video segment. In another example of an embodiment of the present invention, the identification information set may include: the serial number of the video segment, the mapping information of the video segment, and the bitstream information of the video segment. In still another example, the identification information set may include: the mapping information of the video segment and the bitstream information of the video segment. Matching information may also be set in the identification information set, and the matching information includes at least one of the matching times information and the latest matching time information. The matching information is used to maintain the stored records in the identification information set.
[0226] Step S702: When the video message contains the identification information of the video segment and does not contain the video segment corresponding to the identification information, obtain the video segment from the identification information set according to the identification information, and perform video playback processing on the obtained video segment.
[0227] When the video segment stored in the identification information set is the bitstream information of the video segment, the video playback processing in this step may include operations such as decoding the bitstream information of the video segment and displaying the frame information of the video segment obtained by decoding on the terminal device. When the video segment stored in the identification information set is the image information of each video frame in the video segment after decoding processing, the video playback processing in this step may include operations such as displaying the frame information of each video frame of the video segment stored locally on the terminal device.
[0228] By setting the identification information set and storing the corresponding relationship between the video segment and its identification information in the identification information set when the video segment and its identification information are received, in this way, when there are duplicate video segments, the video receiving end can obtain the duplicate video segments locally using the received identification information, thus avoiding the phenomenon that the video sending end repeatedly sends duplicate video segments. Furthermore, in scenarios such as frequently inserting advertisements or promotional content, not only can the frequent encoding operations of duplicate video segments be avoided, but also the occupation of the transmission bandwidth by duplicate video segments can be avoided, and problems such as mosaic caused by the loss of bitstream data when the instantaneous bandwidth requirement of the bitstream cannot be met can be avoided; especially when the video sending end provides the same video service for multiple video receiving ends, the above effects are particularly obvious. It can be seen that the technical solution provided by the embodiment of the present invention is beneficial to reducing the amount of bitstream information transmission, reducing the requirement for instantaneous bandwidth, and improving the video experience of users.
[0229] When matching information is set in the identification information set, in an embodiment of the present invention, when obtaining the video segment from the identification information set, the matching information corresponding to the video segment can be updated, such as incrementing the matching times and updating the latest matching time to the current time, etc.
[0230] In an example of an embodiment of the present invention, when the video receiving end fails to obtain a video segment from the identification information set according to the received identification information, it can send a video segment retransmission request to the video sending end. The video segment retransmission request carries the identification information, for example, the sequence number of the video segment, and further for example, the sequence number of the video segment and mapping information. When the video receiving end receives a video segment retransmission response from the video sending end, it obtains the video segment from the response and performs decoding processing on the video segment, thereby avoiding problems such as mosaic caused by the video receiving end being unable to obtain duplicate video segments locally, which is beneficial to improving the reliability of video transmission.
[0231] In an example of an embodiment of the present invention, the identification information set is also provided with identification information of a video segment sequence. The identification information may include the sequence number of the video segment sequence, the sequence number of the first video segment in the sequence, and the sequence number of the last video segment in the sequence, etc., and may also include: mapping information of each video segment, specifically as described in the above embodiment. When the video message received by the video receiving end contains a video segment sequence, that is, the bitstream information of each video segment included in the sequence, and the identification information of the sequence, the video segment sequence and the identification information of the video segment sequence can be stored in the local identification information set. When the video message received by the video receiving end contains the identification information of the video segment sequence but does not contain the video segment sequence, the video receiving end can obtain the video segment sequence from the identification information set according to the identification information of the video segment sequence. For example, all video segments between the sequence number of the first video segment and the sequence number of the last video segment are obtained from the identification information set, and the mapping information of all video segments should be consistent with the mapping information in the identification information), and video playback processing is respectively performed on each video segment in the video segment sequence, which is beneficial to further reducing the amount of transmitted data and enriching the implementation methods of video transmission.
[0232] In an embodiment of an embodiment of the present invention, the records in the identification information set are maintained to delete the records with relatively low available value in the identification information set, thereby avoiding the phenomenon that the identification information set is too large, and then improving the search efficiency of the identification information set.
[0233] In another example of the embodiments of the present invention, when a record matching the identification information of a video segment sequence is successfully found in the identification information set, the matching information of the record corresponding to the identification information of the video segment sequence can be updated. The matching information can be set in the identification information set. For example, the matching times information of the corresponding record can be updated, such as adding 1 to the matching times. For another example, the latest matching time information of the corresponding record can be updated, such as using the current time as the latest matching time. For still another example, the matching times information and the latest matching time information of the corresponding record can be updated, etc. The embodiments of the present invention can detect the matching information in the records corresponding to each video segment sequence in the identification information set regularly or irregularly. If the matching information of a certain video segment sequence does not meet the predetermined requirements, the record corresponding to the video segment sequence can be deleted from the identification information set. For example, when the matching times do not reach a certain predetermined value and the latest matching time is earlier than a certain predetermined time, the record corresponding to the identification information of the video segment sequence can be deleted.
[0234] In another example of the embodiments of the present invention, when a record matching the identification information of a video segment is successfully found in the identification information set, the matching information of the record corresponding to the identification information of the video segment can be updated. The matching information can be set in the identification information set. For example, the matching times information of the corresponding record can be updated, such as adding 1 to the matching times. For another example, the latest matching time information of the corresponding record can be updated, such as using the current time as the latest matching time. For still another example, the matching times information and the latest matching time information of the corresponding record can be updated, etc. The embodiments of the present invention can detect the matching information in the records corresponding to each video segment in the identification information set regularly or irregularly. If the matching information of a certain video segment does not meet the predetermined requirements, the record corresponding to the video segment can be deleted from the identification information set. For example, when the matching times do not reach a certain predetermined value and the latest matching time is earlier than a certain predetermined time, the record corresponding to the video segment can be deleted.
[0235] The video processing method provided by the embodiments of the present invention has been introduced in detail above in conjunction with the accompanying drawings. Next, a video transmission system provided by the embodiments of the present invention will be introduced in conjunction with the accompanying drawings.
[0236] A video processing method provided by an embodiment of the present invention is executed at a video receiving end. When receiving video data from a video sending end, it determines whether to receive video segment data or read duplicate video segment data from locally saved video segment data according to the information in the video data. During the process of receiving a video, it effectively distinguishes the content that needs to be played repeatedly from the content that does not need to be played repeatedly, and differentially processes the content that does not need to be played repeatedly and the content that needs to be played repeatedly, thereby facilitating the avoidance of repeated processing operations for the content that needs to be played repeatedly, achieving the purpose of not only being beneficial to improving the user experience but also being conducive to avoiding phenomena such as waste of computing resources and transmission resources.
[0237] [According to the video transmission system provided by an embodiment of the present invention]
[0238] Figure 10 The system block diagram of the video transmission system provided by an embodiment of the present invention is as Figure 10 shown. The video transmission system 8000 provided by an embodiment of the present invention includes a data generation unit 8001, a data judgment unit 8002, and a data sending unit 8003. The following introduces each unit in the system.
[0239] The data generation unit 8001 is used to generate first video segment mapping data according to the video frame data forming the first video segment data; wherein, the first video segment data includes at least one video frame data. In a preferred solution of an embodiment of the present invention, the data generation unit 8001 is further used to complete the generation of the video segment sequence.
[0240] The data judgment unit 8002 is used to judge whether the first video segment data belongs to duplicate video segment data according to the first video segment mapping data and the set of already sent video mapping data. In a preferred solution of an embodiment of the present invention, the data judgment unit 8002 is further used to judge whether the continuous matching quantity N is greater than or equal to a first preset quantity.
[0241] The data sending unit 8003 is used to send first identification information to the video receiving end when it is determined in the judgment step that the first video segment data belongs to duplicate video segment data, and to send the first video segment data and the first identification information to the video receiving end when it is determined in the judgment step that the first video segment data does not belong to duplicate video segment data. Among them, the first identification information has a one-to-one correspondence with the first video segment data.
[0242] Figure 11 The system block diagram of the video transmission system provided by the preferred solution of an embodiment of the present invention is as Figure 11As shown, in the preferred solution of the embodiment of the present invention, the video transmission system 8000 further includes a data update unit 8004 and a data statistics unit 8005. Among them, the data update unit 8004 is used to complete the data storage and update of the sent video mapping data set. The data statistics unit 8005 is used to complete the statistics of the continuous matching quantity N.
[0243] [Video processing system provided according to an embodiment of the present invention]
[0244] Figure 12 is a system block diagram of the video processing system provided according to an embodiment of the present invention, as Figure 12 shown, the video transmission and processing system 9000 provided by the embodiment of the present invention includes a message receiving unit 9001, a data acquisition unit 9002, and a playback unit 9003. Each unit in the system will be introduced below.
[0245] The message receiving unit 9001 is used to receive a first video message from the video sending end.
[0246] The data acquisition unit 9002 is used to, when the first video message includes first video segment data and first identification information, perform decoding processing on the first video data, and save the first video segment data and the first identification information to the locally received video data set; when the first video message includes the first identification information and does not include the first video segment data, obtain the first video segment data corresponding to the first identification information from the received video data set according to the first identification information.
[0247] The playback unit 9003 is used to perform playback processing on the first video segment data in the video player.
[0248] [Computer-readable storage medium provided according to an embodiment of the present invention]
[0249] In addition to the above methods and systems, the embodiment of the present invention may also be a computer program product, which includes computer program instructions. When the computer program instructions of the embodiment of the present invention are run by a processor, the processor of the embodiment of the present invention is caused to execute the steps in the video transmission method or the video processing method according to various embodiments described in the above "Exemplary Method" part of this specification.
[0250] In the embodiments of the present invention, a computer program product can be written in any combination of one or more programming languages to write program code for performing the operations of the embodiments of the present invention. The programming languages of the embodiments of the present invention include object-oriented programming languages such as Java, C++, etc., and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, executed as an independent software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0251] In addition, the embodiments of the present invention can also be a computer-readable storage medium having computer program instructions stored thereon. When the computer program instructions of the embodiments of the present invention are run by a processor, the processor of the embodiments of the present invention is caused to execute the steps in the methods for implementing video transmission according to various embodiments described in the above "Exemplary Method" section of this specification.
[0252] The computer-readable storage medium of the embodiments of the present invention can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can, for example, include but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or components, or any combination of the above. More specific examples (non-exhaustive listing) of the readable storage medium can include: an electrical connection having one or more wires, a portable 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.
[0253] [Electronic device provided according to the embodiments of the present invention]
[0254] Reference is made below Figure 13 to describe the electronic device according to the embodiments of the present disclosure. Figure 13 A block diagram of an electronic device according to the embodiments of the present disclosure is shown. As Figure 13 shown, the electronic device 91 includes one or more processors 911 and a memory 912.
[0255] The processor 911 can be a central processing unit (CPU) or other form of processing unit having data processing capabilities and / or instruction execution capabilities, and can control other components in the electronic device 91 to perform desired functions.
[0256] The memory 912 may include one or more computer program products, and the computer program products may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory, for example, may include random access memory (RAM) and / or cache memory, etc. The non-volatile memory, for example, may include read-only memory (ROM), hard disk, and flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage media, and the processor 911 may run the program instructions to implement the methods for video transmission and / or other desired functions of the various embodiments of the present disclosure described above.
[0257] In one example, the electronic device 91 may further include an input device 913 and an output device 914, etc. These components are interconnected through a bus system and / or other forms of connection mechanisms (not shown). In addition, the input device 913 may include, for example, a keyboard, a mouse, etc. The output device 914 may output various information to the outside. The output device 914 may include, for example, a display, a speaker, a printer, and a communication network and its connected remote output devices, etc.
[0258] Of course, for simplicity, Figure 13 only some of the components related to the present disclosure in the electronic device 91 are shown, and components such as buses, input / output interfaces, etc. are omitted. In addition, according to specific application scenarios, the electronic device 91 may further include any other appropriate components.
[0259] Those skilled in the art should also further realize that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the composition and steps of the examples have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.
[0260] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented by hardware, software modules executed by a processor, or a combination of the two. The software modules can be placed in random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0261] The specific embodiments described above further elaborate on the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above description is only the specific embodiments of the present invention and is not used to limit the protection scope of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
Claims
1. A video transmission method, which is executed at a video sending end, and is characterized in that, The method includes: A generation step of generating first video segment mapping data based on video frame data forming first video segment data; wherein, the first video segment data includes at least one video frame data; A determination step of determining whether the first video segment data belongs to duplicate video segment data according to the first video segment mapping data and a set of sent video mapping data; A data sending step of sending first identification information to a video receiving end when it is determined in the determination step that the first video segment data belongs to duplicate video segment data, and When it is determined in the determination step that the first video segment data does not belong to duplicate video segment data, sending the first video segment data and the first identification information to the video receiving end; wherein, the first identification information has a one-to-one correspondence with the first video segment data.
2. The video transmission method according to claim 1, wherein When it is determined in the determination step that the first video segment data belongs to duplicate video segment data, the method further includes: A set update step of obtaining first coding information data of the first video segment data and saving the first coding information data into the set of sent video mapping data; wherein, the first coding information data has a one-to-one correspondence with the first video mapping data.
3. The video transmission method according to any one of claims 2, characterized in that Each video segment data has a corresponding segment serial number, and the method further includes: A continuous matching number statistics step of setting the continuous matching number N = N + 1 when it is determined in the determination step that the first video segment data belongs to duplicate video segment data, and When it is determined in the determination step that the first video segment data does not belong to duplicate video segment data, setting the continuous matching number N = 0.
4. The video transmission method according to claim 3, characterized in that Before setting the continuous matching number N = 0 in the continuous matching number statistics step, the method further includes: A sequence generation determination step of determining whether the continuous matching number N is greater than or equal to a first preset number; A video segment sequence generation step of generating a first video segment sequence and first sequence identification information according to the first N video segment data when it is determined in the sequence generation determination step that the continuous matching number N is greater than or equal to the first preset number; wherein, the first video segment sequence and the first sequence identification information have a one-to-one correspondence; When the first sequence identification information is not found in the set of sent video mapping data, saving the first sequence identification information into the set of sent video mapping data.
5. The video transmission method according to claim 4, wherein In the video segment sequence generation step, the method further includes: A matching information update step of searching in the set of sent video mapping data for whether there is first matching information corresponding to the first sequence identification information, When there is the first matching information, updating the first matching information; When there is no first matching information, generating the first matching information and saving the first matching information into the set of sent video mapping data.
6. The video transmission method according to claim 5, wherein The matching information is the number of matches and / or the matching time.
7. The video transmission method according to claim 6, wherein When it is determined in the determination step that the first video segment data belongs to duplicate video segment data, the method further includes: According to the first identification information of the first video segment, check whether there is a first sequence identification information containing the first identification information in the set of sent video mapping data. If the first sequence identification information exists, send the first sequence identification information to the video receiving end. Update the first matching information corresponding to the first sequence identification information.
8. The video transmission method according to any one of claims 1-7, characterized in that The video segment data includes picture groups. The generation of the first video segment mapping data according to the video frame data forming the first video segment data specifically includes: Calculating the key frame data in the picture group according to a first preset algorithm to generate the first video mapping data.
9. The video transmission method according to claims 1-7, characterized in that, The first identification information is specifically the first sequence number of the first video segment data and / or the first video mapping data.
10. A video processing method, which is executed at a video receiving end, and is characterized in that, The method includes: A message acquisition step of receiving a first video message from a video sending end. A video segment data acquisition step. When the first video message includes first video segment data and first identification information, perform decoding processing on the first video segment data and save the first video segment data and the first identification information to the local received video data set. When the first video message includes first identification information and does not include the first video segment data, acquire the first video segment data corresponding to the first identification information from the received video data set according to the first identification information. A video playing step of performing playing processing on the first video segment data in a video player.
11. The video processing method according to claim 10, wherein The method further includes: A video retransmission request step. When the first video segment data cannot be acquired from the received video data set according to the first identification information, generate video acquisition request data according to the first identification information and send the video request data to the video sending end. A retransmitted video receiving step of receiving a second video message from the video sending end in response to the video acquisition request data and acquiring the first video segment data from the second video message. Save the first video segment data and the first identification information to the local received video data set. The video playing step of performing playing processing on the first video segment data in a video player.
12. The video processing method according to any one of claims 10 and 11, characterized in that, The first video message includes a first video segment sequence and a first sequence identification information. The method further includes: Performing playing processing on the first video segment sequence in a video player. Save the first video segment sequence and the first sequence identification information to the received video data set.
13. The video processing method according to claim 11, wherein The first video message includes a first sequence identification information. The method further includes: In the video retransmission request step, generate video acquisition request data according to the first sequence identification information and send the video request data to the video sending end. In the retransmitted video receiving step, receive a third video message from the video sending end in response to the video acquisition request data and acquire the first video segment sequence from the third video message. Save the first video segment sequence and the first sequence identification information to the local received video data set. In the video playing step, play the first video segment sequence in the video player.
14. A video transmission system, characterized in that, The video transmission system includes: a data generation unit, a data judgment unit, and a data sending unit; wherein, The data generation unit is configured to generate first video segment mapping data according to video frame data forming the first video segment data; wherein, the first video segment data includes at least one video frame data; The data judgment unit is configured to judge whether the first video segment data belongs to duplicate video segment data according to the first video segment mapping data and the set of already sent video mapping data; The data sending unit is configured to, when it is determined in the judgment step that the first video segment data belongs to duplicate video segment data, send first identification information to the video receiving end, and When it is determined in the judgment step that the first video segment data does not belong to duplicate video segment data, send the first video segment data and the first identification information to the video receiving end; wherein, the first identification information has a one-to-one correspondence with the first video segment data.
15. The video transmission system according to claim 14, characterized in that, The system further includes: a data update unit and a data statistics unit; The data update unit is configured to complete the data saving and updating of the set of already sent video mapping data; The data statistics unit is configured to complete the statistics of the continuous matching quantity N.
16. The video transmission system according to any one of claims 14 and 15, characterized in that, The system further includes: The data judgment unit is further configured to judge whether the continuous matching quantity N is greater than or equal to a first preset quantity; The data generation unit is further configured to complete the generation of the video segment sequence.
17. A video processing system, characterized in that, The system includes: a message receiving unit, a data acquisition unit, a playing unit, and a second data update unit; wherein, The message receiving unit is configured to receive a first video message from the video sending end; The data acquisition unit is configured to, when the first video message includes the first video segment data and the first identification information, perform decoding processing on the first video segment data, and save the first video segment data and the first identification information to the local set of received video data, When the first video message includes the first identification information and does not include the first video segment data, obtain the first video segment data corresponding to the first identification information in the set of received video data according to the first identification information; The playing unit is configured to perform playing processing on the first video segment data in the video player.
18. A computer-readable storage medium storing a computer program for executing the method according to any one of claims 1-13 above.
19. An electronic device, characterized in that, The electronic device includes: A processor; A memory for storing executable instructions of the processor; The processor is configured to read the executable instructions from the memory and execute the instructions to implement the method according to any one of claims 1-13 above.
Citation Information
Patent Citations
Video / audio terminal device and its advertisement playing method
CN101188732A
Transmission method, device and system for display data
CN108307237A
Video transmission method, device, electronic equipment and storage medium
CN112584081A
System and method for detecting repeating content, including commercials, in a video data stream
US20180121541A1