Video alignment method and device, electronic equipment and storage medium

By aligning the jump point sequence and first frame offset of the video bitstream, the problem of screen flickering caused by inconsistencies in the images under different bitstreams was solved, ensuring smooth video playback and user experience.

CN120935378APending Publication Date: 2025-11-11BEIJING QIYI CENTURY SCI & TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511091232.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-05
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

During video playback, the difference in the image quality at the same progress point between different bitstreams can cause screen flickering when the cover image changes.

Method used

By obtaining the jump point sequence and first frame offset of the reference bitstream, the original jump point sequence of the candidate bitstream is corrected and aligned based on this information. The current jump point sequence of the candidate bitstream is calculated and sent to the video playback terminal to ensure that the cover image and video frame are aligned under different bitstreams.

Benefits of technology

It achieves alignment between the cover image and video frames under any bitrate, avoiding screen flicker and improving the user's viewing experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120935378A_ABST
    Figure CN120935378A_ABST
Patent Text Reader

Abstract

The invention relates to a video alignment method and device, electronic equipment and a storage medium, and the method comprises the steps: obtaining a jump point sequence of a reference code stream and the first frame offset of the reference code stream, and obtaining the first frame offset of a candidate code stream based on the jump point sequence of the reference code stream, the first frame offset of the reference code stream and the first frame offset of the candidate code stream; correcting and aligning original jump point sequences of the candidate code streams to obtain current jump point sequences of the candidate code streams, the reference code stream and all the candidate code streams being code streams of the same video, and the reference code stream and all the candidate code streams being code streams of the same video; the plot jump points at the same positions in the jump point sequence of the reference code stream and the original jump point sequence of the candidate code streams are used for representing the jump points of the same plot, and the picture contents corresponding to the same positions in the current jump point sequences of any two candidate code streams are the same, and issuing the current jump point sequence of the target code stream to a video playing terminal. Calibration is achieved through calculation, and therefore the problem that pictures of different code streams are inconsistent at the same progress point, and consequently the pictures flicker in the jumping process is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of multimedia technology, and in particular to a video alignment method, apparatus, electronic device, and storage medium. Background Technology

[0002] With the development of the internet, people have more and more ways to watch videos. They can watch videos not only by receiving television signals, but also through the internet. Viewers can choose video types according to their preferences and adjust the playback progress to jump directly to the desired segment.

[0003] Currently, the skip-through function typically uses Artificial Intelligence Analysis (AI) to analyze a single base stream to determine the time range of multiple skip intervals, such as [t0, t1], [t2, t3], [t4, t5], etc. When a user skips through a video, a cover image of the new segment's starting frame is displayed during the transition to make the transition smoother. However, in actual playback, each video usually has multiple streams to meet the playback needs of different devices and network conditions. When using the cover image for skipping, the difference in the image quality at the same progress point between different streams can cause screen flickering. This is because the time range of multiple skip intervals is based on the analysis of a single base stream, and factors such as frame rate and encoding method of different streams can cause the image quality at the same time point to be inconsistent across different streams. For example, a 480P stream and a 1080P stream might have slightly different frames at the same time point t2, resulting in inconsistent image quality.

[0004] Therefore, how to ensure that the cover image and video frame are perfectly aligned under any bitstream is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0005] This application provides a video alignment method, apparatus, electronic device, and storage medium to solve the technical problem in the prior art where screen flickering occurs when using a cover image for transitions because the images of each bitstream at the same progress point may differ.

[0006] Firstly, this application provides a video alignment method applied to a server. The video alignment method includes: obtaining a jump point sequence of a reference bitstream and the first frame offset of the reference bitstream; correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream to obtain the current jump point sequence of the candidate bitstream, wherein the reference bitstream and all candidate bitstreams are bitstreams of the same video, and plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot, and the image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same; and sending the current jump point sequence of the target bitstream to the video playback terminal, wherein the target bitstream is the candidate bitstream currently played by the video playback terminal among all the candidate bitstreams.

[0007] In one embodiment, the step of correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream to obtain the current jump point sequence of the candidate bitstream includes: correcting and aligning the original jump point sequence of the candidate bitstream based on the j-th plot jump point Tbase_j in the jump point sequence of the reference bitstream, the first frame offset Dbase of the reference bitstream, and the first frame offset Di of the candidate bitstream to obtain the j-th plot jump point Ti_j = Tbase_j - Dbase + Di in the current jump point sequence of the candidate bitstream, where the minimum value of j is 1 and the maximum value is the number of plot jump points in the jump point sequence.

[0008] In one embodiment, after correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream to obtain the current jump point sequence of the candidate bitstream, the video alignment method further includes: storing the current jump point sequence of the candidate bitstream in a preset location.

[0009] Secondly, this application provides a video alignment method applied to a video playback terminal. The video alignment method includes: obtaining the current jump point sequence of a target bitstream, wherein the target bitstream is the candidate bitstream currently played by the video playback terminal among all candidate bitstreams, and the current jump point sequence of the candidate bitstream is obtained by correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of a reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream; plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot; the image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same; and the reference bitstream and all candidate bitstreams are bitstreams of the same video; responding to a user's target playback command, determining a target plot jump point matching the target playback command from the current jump point sequence of the target bitstream; and continuously displaying the target cover image of the target plot jump point during the jump to the target plot jump point.

[0010] In one embodiment, during the continuous display of the target cover image at the target plot jump point, the method further includes: determining whether the cached content of the target bitstream has reached the target playback position, wherein the target playback position is the target plot jump point or a playback position after the target plot jump point; when the cached content of the target bitstream reaches the target playback position, the target cover image is hidden, and playback starts from the target plot jump point.

[0011] Thirdly, this application provides a video alignment device applied to a server. The video alignment device includes: a first acquisition module, a correction template, and a distribution module. The first acquisition module is used to acquire the jump point sequence of a reference bitstream and the first frame offset of the reference bitstream. The correction template is used to correct and align the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream, to obtain the current jump point sequence of the candidate bitstream. The reference bitstream and all candidate bitstreams are bitstreams of the same video. Plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same. The distribution module is used to distribute the current jump point sequence of a target bitstream to a video playback terminal. The target bitstream is the candidate bitstream currently played by the video playback terminal among all the candidate bitstreams.

[0012] In one embodiment, the video alignment device further includes a storage module, wherein the storage module is used to store the current jump point sequence of the candidate bitstream to a preset location.

[0013] Fourthly, this application also provides a video alignment device applied to a video playback terminal. The video alignment device includes: a second acquisition module, a determination module, a display module, a judgment module, and a hiding module. The second acquisition module is used to acquire the current jump point sequence of a target bitstream. The target bitstream is the candidate bitstream currently played by the video playback terminal among all candidate bitstreams. The current jump point sequence of the candidate bitstream is obtained by correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of a reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream. Plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot. The current jump points of any two candidate bitstreams... The images at the same position in the sequence have the same content, and the reference bitstream and all candidate bitstreams are bitstreams of the same video; the determining module is used to determine the target plot jump point matching the target playback instruction from the current jump point sequence of the target bitstream in response to the user's target playback instruction; during the jump to the target plot jump point, the display module is used to continuously display the target cover image of the target plot jump point; the judging module is used to judge whether the cached content of the target bitstream has reached the target playback position, wherein the target playback position is the target plot jump point or the playback position after the target plot jump point; when the cached content of the target bitstream reaches the target playback position, the hiding module is used to hide the target cover image and start playback from the target plot jump point.

[0014] Fifthly, this application also provides an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; the memory is used to store computer programs; and the processor is used to implement any of the above-mentioned video alignment methods when executing the program stored in the memory.

[0015] Sixthly, this application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the above-described video alignment methods.

[0016] Compared with the prior art, the technical solution provided in this application has the following advantages: In the video alignment method provided in this application, the jump point sequence of the reference bitstream and the first frame offset of the reference bitstream are obtained. Based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream, the original jump point sequence of the candidate bitstream is corrected and aligned to obtain the current jump point sequence of the candidate bitstream. The reference bitstream and all candidate bitstreams are bitstreams of the same video. The plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same. The current jump point sequence of the target bitstream is sent to the video playback terminal. The target bitstream is the candidate bitstream currently played by the video playback terminal among all the candidate bitstreams. Calibration is achieved through calculation, thereby solving the problem of screen flickering caused by inconsistent screens at the same progress point of different bitstreams. Attached Figure Description

[0017] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] One or more embodiments are illustrated by way of example with reference numerals in the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements with the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.

[0020] Figure 1 A schematic diagram of the system framework of an embodiment of a video alignment method provided in this application;

[0021] Figure 2 This is a flowchart illustrating a video alignment method disclosed in the first embodiment of this application;

[0022] Figure 3 This is a flowchart illustrating a video alignment method disclosed in the second embodiment of this application;

[0023] Figure 4 This is a schematic diagram of the structure of a video alignment device disclosed in the first embodiment of this application;

[0024] Figure 5 This is a schematic diagram of the structure of a video alignment device disclosed in the second embodiment of this application;

[0025] Figure 6 This is a schematic diagram of the structure of an electronic device disclosed in an embodiment of this application. Detailed Implementation

[0026] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0027] The following disclosure provides numerous different embodiments or examples for implementing various structures of the invention. To simplify the disclosure, specific examples of components and arrangements are described below. These are merely examples and are not intended to limit the scope of the invention. Furthermore, reference numerals and / or letters may be repeated in different examples. Such repetition is for simplification and clarity and does not in itself indicate a relationship between the various embodiments and / or arrangements discussed.

[0028] To address the technical problem in existing technologies where screen flickering occurs during transitions using cover images due to potential differences in the image quality at the same progress point across different bitstreams, this application provides a video alignment method that calibrates different bitstreams by using the first frame offset, thereby ensuring alignment between the cover image and video frames under any bitstream.

[0029] In the embodiments of this application, please refer to Figure 1 This is a schematic diagram of the system framework of an embodiment of the video alignment method of this application. The system architecture 10 includes a video playback terminal 11, a network 13, and a server 16. The video playback terminal 11 is connected to the network 13, and the network 13 is connected to the server 16.

[0030] Users use video playback terminal 11 to interact with server 16 via network 13. Video playback terminal 11 can be either hardware or software. When video playback terminal 11 is hardware, it can be an electronic device for playing video, such as a smartphone, tablet, laptop, or desktop computer. When video playback terminal 11 is software, it can be installed in the aforementioned electronic devices.

[0031] Network 13 may include wired and wireless communication links, such as fiber optic cables, mobile networks, wireless network communication technologies (Wireless Fidelity, WIFI), Bluetooth, or mobile hotspots.

[0032] Server 16 can be used to analyze and process various voice information, instruction information, video data and audio data from video playback terminal 11, and transmit the processing results to video playback terminal 11 so that video playback terminal 11 can perform corresponding operations based on the processing results.

[0033] It should be noted that the video alignment method provided in this application embodiment can be executed by the video playback terminal 11 or by the server 16. Correspondingly, the device for pushing information can be located in the video playback terminal 11 or in the server 16. No specific limitations are made here. It should be understood that... Figure 1 The number of video playback terminals, networks, and servers shown is merely illustrative. The actual number of video playback terminals, networks, and servers can be any number required.

[0034] Please see Figure 2 This is a flowchart illustrating a video alignment method disclosed in the first embodiment of this application. The video alignment method solves the problem of screen flickering during transitions using cover images, where differences in the frame rate at the same progress point between different bitstreams can cause flickering, thus improving the user's viewing experience. It should be noted that the video alignment method in the first embodiment of this application is not limited to... Figure 2 The flowchart shown illustrates the steps and their order. Depending on different needs, the steps in the flowchart can be added, removed, or their order changed. In the first embodiment of this application, as... Figure 2 As shown, the video alignment method can be applied to a server, and the process of the video alignment method includes at least the following steps.

[0035] S110. Obtain the jump point sequence of the reference bitstream and the first frame offset of the reference bitstream.

[0036] In the first embodiment of this application, a reference bitstream is obtained, and the reference bitstream is identified and analyzed to identify exciting segments in the video, so as to determine the jump point sequence Tbase and the first frame offset Dbase of the reference bitstream, for example, Tbase = [t0, t1, t2]. The reference bitstream can be a baseline bitstream, and the identification and analysis can be AI analysis; no specific limitations are made here.

[0037] Simultaneously, a screenshot operation is triggered for each jump point in the jump point sequence Tbase of the reference bitstream to obtain a screenshot corresponding to each jump point, and the first frame offset Dbase of the reference bitstream is recorded.

[0038] S120. Based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream, the original jump point sequence of the candidate bitstream is corrected and aligned to obtain the current jump point sequence of the candidate bitstream. The reference bitstream and all candidate bitstreams are bitstreams of the same video. The plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same.

[0039] In the first embodiment of this application, all candidate bitstreams are traversed to obtain the first frame offset Di of each candidate bitstream. Based on the j-th plot jump point Tbase_j in the jump point sequence of the reference bitstream, the first frame offset Dbase of the reference bitstream, and the first frame offset Di of the candidate bitstream, the original jump point sequence of the candidate bitstream is corrected and aligned to obtain the j-th plot jump point Ti_j in the current jump point sequence of the candidate bitstream. The calculation formula for the j-th plot jump point Ti_j in the current jump point sequence of the candidate bitstream is as follows:

[0040] Ti_j=Tbase_j-Dbase+Di formula (1)

[0041] Where j has a minimum value of 1 and a maximum value of the number of plot jump points in the jump point sequence.

[0042] Specifically, taking Tbase_j = [t0, t1, t2] and Dbase = 5 frames as an example, there are two candidate bitstreams: bitstream 1 and bitstream 2. The first frame offset Di1 of bitstream 1 is 3 frames, and the first frame offset Di2 of bitstream 2 is 7 frames.

[0043] According to formula (1), Ti1_j = Tbase_j - Dbase + Di1,

[0044] For t0, Ti1_0 = t0 - 5 + 3 = t0 - 2;

[0045] For t1, Ti1_1 = t1-5+3 = t1-2;

[0046] For t2, Ti1_2 = t2-5+3 = t2-2;

[0047] According to formula (1), Ti2_j = Tbase_j - Dbase + Di2.

[0048] For t0, Ti2_0 = t0 - 5 + 7 = t0 + 2;

[0049] For t1, Ti2_1 = t1-5+7 = t1+2;

[0050] For t2, Ti2_2=t2-5+7=t2+2.

[0051] S130. Store the current jump point sequence of the candidate code stream in a preset location.

[0052] In the first embodiment of this application, the current jump point sequence Ti of the candidate bitstream is stored in a preset location. The preset location can be the server's backend database.

[0053] Specifically, taking Ti1 and Ti2 as examples, the Ti1 list and the Ti2 list are stored in the background database.

[0054] S140. Send the current jump point sequence of the target bitstream to the video playback terminal, wherein the target bitstream is the candidate bitstream currently being played by the video playback terminal among all the candidate bitstreams.

[0055] In the first embodiment of this application, a target bitstream transmitted by a video playback terminal is received, a current jump point sequence of the target bitstream is determined based on the current jump point sequence of the target bitstream and the candidate bitstreams, and the current jump point sequence of the target bitstream is sent to the video playback terminal. The target bitstream is the candidate bitstream currently being played by the video playback terminal among all candidate bitstreams.

[0056] Specifically, taking stream 1 as the target bitstream as an example, when the server receives stream 1 transmitted by the video playback terminal, it sends a request signal to the backend database. The backend database outputs the Ti1 list and sends the Ti1 list to the video playback terminal.

[0057] In summary, in the video alignment method of the first embodiment of this application, the jump point sequence of the reference bitstream and the first frame offset of the reference bitstream are obtained. Based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream, the original jump point sequence of the candidate bitstream is corrected and aligned to obtain the current jump point sequence of the candidate bitstream. Here, the reference bitstream and all candidate bitstreams are bitstreams of the same video. The plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same. The current jump point sequence of the target bitstream is sent to the video playback terminal. Here, the target bitstream is the candidate bitstream currently played by the video playback terminal among all the candidate bitstreams. Calibration is achieved through calculation, thereby solving the problem of screen flickering caused by inconsistent images at the same progress point of different bitstreams.

[0058] Please see Figure 3 This is a flowchart illustrating a video alignment method disclosed in the second embodiment of this application. It should be noted that the video alignment method described in this application is not limited to... Figure 3 The flowchart shown illustrates the steps and their order. Depending on different needs, the steps in the flowchart can be added, removed, or their order changed. In this embodiment, as... Figure 3 As shown, the video alignment method can be applied to video playback terminals, and the process of the video alignment method includes at least the following steps.

[0059] S210. Obtain the current jump point sequence of the target bitstream, wherein the target bitstream is the candidate bitstream currently played by the video playback terminal among all candidate bitstreams, and the current jump point sequence of the candidate bitstream is obtained by correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream. The plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same, and the reference bitstream and all candidate bitstreams are bitstreams of the same video.

[0060] S220, in response to the user's target playback command, determine the target plot jump point that matches the target playback command from the current jump point sequence of the target bitstream.

[0061] In the second embodiment of this application, the target playback command can be a user's swiping operation on the video playback progress bar, or a user's clicking operation on the target playback position on the video playback progress bar. When a user wants to jump from the current playback position to the target playback position during video playback, they can send the target playback command to the video playback terminal through a remote control, mouse, or screen touch operation, and determine the target plot jump point matching the target playback command from the current jump point sequence of the target bitstream.

[0062] Specifically, taking the target playback position of the currently playing video indicated by the target playback command as t1 and the target bitstream as bitstream 1 as an example, the target plot jump point that matches the target playback command is determined to be Ti1_1 in the current jump point sequence based on bitstream 1.

[0063] S230. During the jump to the target plot jump point, the target cover image of the target plot jump point is continuously displayed.

[0064] In the second embodiment of this application, taking Ti1_1 as the target plot jump point as an example, the target cover image is determined to be a screenshot of the reference bitstream at time t1, the target cover image is displayed, and it is kept active.

[0065] S240. Determine whether the cached content of the target bitstream has reached the target playback position, wherein the target playback position is the target plot jump point or the playback position after the target plot jump point.

[0066] In the second embodiment of this application, the cached content of the target bitstream reaches the target plot jump point or a preset time after the target plot jump point. The preset time can be set by the user or technical personnel, and is not specifically limited here.

[0067] S250. When the cached content of the target bitstream reaches the target playback position, the target cover image is hidden, and playback starts from the target plot jump point.

[0068] In summary, in the video alignment method of the second embodiment of this application, the current jump point sequence of the target bitstream is obtained. The target bitstream is the candidate bitstream currently played by the video playback terminal among all candidate bitstreams. The current jump point sequence of the candidate bitstream is obtained by correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream. Plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same. The reference bitstream and all candidate bitstreams are bitstreams of the same video. This method responds to the user's target... The system identifies a target plot jump point matching the target playback command from the current jump point sequence of the target bitstream. During the jump to the target plot jump point, the target cover image of the target plot jump point is continuously displayed. The system determines whether the cached content of the target bitstream has reached the target playback position, where the target playback position is the target plot jump point or a playback position after the target plot jump point. When the cached content of the target bitstream reaches the target playback position, the target cover image is hidden, and playback starts from the target plot jump point to avoid flickering during screen transitions, achieving a seamless transition. This also reduces the data processing and transmission volume of the video playback terminal, improving the system's response speed and efficiency.

[0069] Please see Figure 4 This is a schematic diagram of the structure of a video alignment device disclosed in the first embodiment of this application. In one embodiment, such as Figure 4As shown, the first embodiment of this application provides a video alignment device 100 applied to a server. The video alignment device 100 may include at least: a first acquisition module 110, a correction template 130, a storage module 150, and a distribution module 170. Information exchange occurs between the first acquisition module 110 and the correction template 130, between the correction template 130 and the storage module 150, and between the storage module 150 and the distribution module 170.

[0070] The first acquisition module 110 is used to acquire the jump point sequence of the reference bitstream and the first frame offset of the reference bitstream. In the first embodiment of this application, the first acquisition module 110 acquires the reference bitstream, performs identification and analysis on the reference bitstream, identifies exciting segments in the video, and determines the jump point sequence Tbase and the first frame offset Dbase of the reference bitstream, for example, Tbase = [t0, t1, t2]. The reference bitstream can be a baseline bitstream, and the identification and analysis can be AI analysis, which is not specifically limited here. Simultaneously, a screenshot operation is triggered based on each jump point in the jump point sequence Tbase of the reference bitstream to obtain a screenshot corresponding to each jump point, and the first frame offset Dbase of the reference bitstream is recorded.

[0071] The correction template 130 is used to correct and align the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream, to obtain the current jump point sequence of the candidate bitstream. The reference bitstream and all candidate bitstreams are bitstreams of the same video. Plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequences of the candidate bitstreams represent jump points in the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same. In the first embodiment of this application, the correction template 130 iterates through all candidate bitstreams to obtain the first frame offset Di of each candidate bitstream. Based on the j-th plot jump point Tbase_j in the jump point sequence of the reference bitstream, the first frame offset Dbase of the reference bitstream, and the first frame offset Di of the candidate bitstream, the original jump point sequence of the candidate bitstream is corrected and aligned to obtain the j-th plot jump point Ti_j in the current jump point sequence of the candidate bitstream. The formula for calculating the j-th plot jump point Ti_j in the current jump point sequence of the candidate bitstream is as follows:

[0072] Ti_j=Tbase_j-Dbase+Di formula (1)

[0073] Where j has a minimum value of 1 and a maximum value of the number of plot jump points in the jump point sequence.

[0074] Specifically, taking Tbase_j = [t0, t1, t2] and Dbase = 5 frames as an example, there are two candidate bitstreams: bitstream 1 and bitstream 2. The first frame offset Di1 of bitstream 1 is 3 frames, and the first frame offset Di2 of bitstream 2 is 7 frames.

[0075] According to formula (1), Ti1_j = Tbase_j - Dbase + Di1,

[0076] For t0, Ti1_0 = t0 - 5 + 3 = t0 - 2;

[0077] For t1, Ti1_1 = t1-5+3 = t1-2;

[0078] For t2, Ti1_2 = t2-5+3 = t2-2;

[0079] According to formula (1), Ti2_j = Tbase_j - Dbase + Di2.

[0080] For t0, Ti2_0 = t0 - 5 + 7 = t0 + 2;

[0081] For t1, Ti2_1 = t1-5+7 = t1+2;

[0082] For t2, Ti2_2=t2-5+7=t2+2.

[0083] The storage module 150 is used to store the current jump point sequence of the candidate bitstream to a preset location. In the first embodiment of this application, the storage module 150 stores the current jump point sequence Ti of the candidate bitstream to a preset location. The preset location can be a server's backend database. Specifically, taking Ti1 and Ti2 as examples, the lists of Ti1 and Ti2 are stored in the backend database.

[0084] The delivery module 170 is used to deliver the current jump point sequence of the target bitstream to the video playback terminal, wherein the target bitstream is the candidate bitstream currently played by the video playback terminal among all the candidate bitstreams. In the first embodiment of this application, the delivery module 170 receives the target bitstream transmitted by the video playback terminal, determines the current jump point sequence of the target bitstream based on the current jump point sequences of the target bitstream and the candidate bitstreams, and delivers the current jump point sequence of the target bitstream to the video playback terminal, wherein the target bitstream is the candidate bitstream currently played by the video playback terminal among all the candidate bitstreams. Specifically, taking bitstream 1 as an example, when the server receives bitstream 1 transmitted by the video playback terminal, it sends a request signal to the background database, the background database outputs the Ti1 list, and sends the Ti1 list to the video playback terminal.

[0085] In summary, in the video alignment device of the first embodiment of this application, the first acquisition module 110 acquires the jump point sequence of the reference bitstream and the first frame offset of the reference bitstream. The correction template 130 corrects and aligns the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream, to obtain the current jump point sequence of the candidate bitstream. The reference bitstream and all candidate bitstreams are bitstreams of the same video, and the jump point sequence of the reference bitstream... The plot jump points at the same position in the original jump point sequence of the candidate bitstream are used to represent the jump points of the same plot. The image content corresponding to the same position in the current jump point sequence of any two candidate bitstreams is the same. The sending module 170 sends the current jump point sequence of the target bitstream to the video playback terminal. The target bitstream is the candidate bitstream currently played by the video playback terminal among all the candidate bitstreams. Calibration is achieved through calculation, thereby solving the problem of screen flickering caused by inconsistent screen at the same progress point of different bitstreams.

[0086] Please see Figure 5 This is a schematic diagram of the structure of a video alignment device disclosed in the second embodiment of this application. In one embodiment, such as Figure 5 As shown, the second embodiment of this application provides a video alignment device 200, applied to a video playback terminal. The video alignment device 200 may include at least: a second acquisition module 210, a determination module 230, a display module 250, a judgment module 270, and a hiding module 290. Information exchange exists between the second acquisition module 210 and the determination module 230, between the determination module 230 and the display module 250, between the display module 250 and the judgment module 270, and between the judgment module 270 and the hiding module 290.

[0087] The second acquisition module 210 is used to acquire the current jump point sequence of the target bitstream, wherein the target bitstream is the candidate bitstream currently played by the video playback terminal among all candidate bitstreams, and the current jump point sequence of the candidate bitstream is obtained by correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream. The plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same, and the reference bitstream and all candidate bitstreams are bitstreams of the same video.

[0088] The determining module 230 is used to respond to the user's target playback command by determining a target plot jump point matching the target playback command from the current jump point sequence of the target bitstream. In the second embodiment of this application, the target playback command can be a user's sliding operation on the video playback progress bar or a user's clicking operation on the target playback position on the video playback progress bar. When the user wants to jump from the current playback position to the target playback position during video playback, they can send a target playback command to the video playback terminal through a remote control, mouse, or screen touch operation to determine the target plot jump point matching the target playback command from the current jump point sequence of the target bitstream. Specifically, taking the target playback position of the currently playing video indicated by the target playback command as t1 and the target bitstream as bitstream 1 as an example, the target plot jump point matching the target playback command is determined to be Ti1_1 from the current jump point sequence of bitstream 1.

[0089] During the jump to the target plot jump point, the display module 250 continuously displays the target cover image of the target plot jump point. In the second embodiment of this application, taking Ti1_1 as the target plot jump point as an example, the target cover image is determined to be a screenshot of the reference bitstream at time t1, the target cover image is displayed, and it is kept constantly displayed.

[0090] The judgment module 270 is used to determine whether the cached content of the target bitstream has reached the target playback position, wherein the target playback position is the target plot jump point or the playback position after the target plot jump point. In the second embodiment of this application, the cached content of the target bitstream reaches the target plot jump point or is followed by a preset duration. The preset duration can be set by the user or a technician, and is not specifically limited here.

[0091] When the cached content of the target bitstream reaches the target playback position, the hiding module 290 is used to hide the target cover image and start playback from the target plot jump point.

[0092] In summary, in the video alignment device of the second embodiment of this application, the second acquisition module 210 is used to acquire the current jump point sequence of the target bitstream. The target bitstream is the candidate bitstream currently played by the video playback terminal among all candidate bitstreams. The current jump point sequence of the candidate bitstream is obtained by correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream. Plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream represent jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same. The reference bitstream and all candidate bitstreams... The selected bitstream is the same video bitstream. The determination module 230 is used to respond to the user's target playback command and determine the target plot jump point that matches the target playback command from the current jump point sequence of the target bitstream. The judgment module 270 is used to determine whether the cached content of the target bitstream has reached the target playback position, where the target playback position is the target plot jump point or the playback position after the target plot jump point. When the cached content of the target bitstream reaches the target playback position, the hiding module 290 is used to hide the target cover image and start playing from the target plot jump point to avoid flickering during screen switching, achieve seamless transition, and at the same time reduce the data processing and transmission volume of the video playback terminal, thereby improving the system's response speed and efficiency.

[0093] like Figure 6 As shown in the figure, this application provides an electronic device, including a processor 501, a communication interface 502, a memory 503, and a communication bus 504, wherein the processor 501, the communication interface 502, and the memory 503 communicate with each other through the communication bus 504.

[0094] In one embodiment of this application, processor 501, when executing a program stored in memory 503, implements the steps of the video alignment method in any of the above method embodiments. Processor 501 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0095] Communication interface 502 is used for communication between the aforementioned terminal and other devices.

[0096] Memory 503 is used to store computer programs. Memory 503 may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Optionally, memory 503 may also be at least one storage device located remotely from the aforementioned processor.

[0097] The communication bus 504 mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus 504 can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, it is represented by only one thick line in the figure, but this does not indicate that there is only one bus or one type of bus.

[0098] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the video alignment method as described in any of the above method embodiments.

[0099] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0100] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented using software plus a general-purpose hardware platform, or of course, using hardware. Based on this understanding, the above technical solutions, in essence or the parts that contribute to the related technology, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0101] It should be understood that the terminology used herein is for the purpose of describing particular exemplary embodiments only and is not intended to be limiting. Unless the context clearly indicates otherwise, the singular forms “a,” “an,” and “described” as used herein may also include the plural forms. The terms “comprising,” “including,” “containing,” and “having” are inclusive and therefore indicate the presence of the stated features, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, elements, components, and / or combinations thereof. The method steps, processes, and operations described herein are not construed as requiring them to be performed in a particular order described or illustrated unless the order of performance is explicitly indicated. It should also be understood that additional or alternative steps may be used.

[0102] The above description is merely a specific embodiment of the present invention, enabling those skilled in the art to understand or implement the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.

Claims

1. A video alignment method, characterized in that, Applied to a server, the video alignment method includes: Obtain the jump point sequence of the reference bitstream and the first frame offset of the reference bitstream; Based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream, the original jump point sequence of the candidate bitstream is corrected and aligned to obtain the current jump point sequence of the candidate bitstream. The reference bitstream and all candidate bitstreams are bitstreams of the same video. The plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same. The current jump point sequence of the target bitstream is sent to the video playback terminal, wherein the target bitstream is the candidate bitstream currently being played by the video playback terminal among all the candidate bitstreams.

2. The video alignment method according to claim 1, characterized in that, The step of correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream to obtain the current jump point sequence of the candidate bitstream includes: Based on the j-th plot jump point Tbase_j in the jump point sequence of the reference bitstream, the first frame offset Dbase of the reference bitstream, and the first frame offset Di of the candidate bitstream, the original jump point sequence of the candidate bitstream is corrected and aligned to obtain the j-th plot jump point Ti_j = Tbase_j - Dbase + Di in the current jump point sequence of the candidate bitstream, where the minimum value of j is 1 and the maximum value is the number of plot jump points in the jump point sequence.

3. The video alignment method according to claim 1, characterized in that, After correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream to obtain the current jump point sequence of the candidate bitstream, the video alignment method further includes: Store the current jump point sequence of the candidate code stream in a preset location.

4. A video alignment method, characterized in that, The video alignment method, applied to a video playback terminal, includes: Obtain the current jump point sequence of the target bitstream, wherein the target bitstream is the candidate bitstream currently played by the video playback terminal among all candidate bitstreams, and the current jump point sequence of the candidate bitstream is obtained by correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream. The plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent the jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same. The reference bitstream and all candidate bitstreams are bitstreams of the same video. In response to the user's target playback command, a target plot jump point matching the target playback command is determined from the current jump point sequence of the target bitstream; During the jump to the target plot jump point, the target cover image of the target plot jump point is continuously displayed.

5. The video alignment method according to claim 4, characterized in that, During the continuous display of the target cover image of the target plot jump point, the method further includes: Determine whether the cached content of the target bitstream has reached the target playback position, wherein the target playback position is the target plot jump point or the playback position after the target plot jump point; When the cached content of the target bitstream reaches the target playback position, the target cover image is hidden, and playback begins from the target plot jump point.

6. A video alignment device, characterized in that, Applied to a server, the video alignment device includes: a first acquisition module, a correction template, and a distribution module, wherein... The first acquisition module is used to acquire the jump point sequence of the reference bitstream and the first frame offset of the reference bitstream; The correction template is used to correct and align the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream, to obtain the current jump point sequence of the candidate bitstream. The reference bitstream and all candidate bitstreams are bitstreams of the same video. The plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same. The delivery module is used to deliver the current jump point sequence of the target bitstream to the video playback terminal, wherein the target bitstream is the candidate bitstream currently being played by the video playback terminal among all the candidate bitstreams.

7. The video alignment device according to claim 6, characterized in that, The video alignment device further includes: a storage module, wherein... The storage module is used to store the current jump point sequence of the candidate code stream to a preset location.

8. A video alignment device, characterized in that, Applied to a video playback terminal, the video alignment device includes: a second acquisition module, a determination module, a display module, a judgment module, and a hiding module, wherein... The second acquisition module is used to acquire the current jump point sequence of the target bitstream, wherein the target bitstream is the candidate bitstream currently played by the video playback terminal among all candidate bitstreams, and the current jump point sequence of the candidate bitstream is obtained by correcting and aligning the original jump point sequence of the candidate bitstream based on the jump point sequence of the reference bitstream, the first frame offset of the reference bitstream, and the first frame offset of the candidate bitstream. The plot jump points at the same position in the jump point sequence of the reference bitstream and the original jump point sequence of the candidate bitstream are used to represent the jump points of the same plot. The image content corresponding to the same position in the current jump point sequences of any two candidate bitstreams is the same. The reference bitstream and all candidate bitstreams are bitstreams of the same video. The determining module is used to determine, in response to the user's target playback command, a target plot jump point that matches the target playback command from the current jump point sequence of the target bitstream; During the jump to the target plot jump point, the display module is used to continuously display the target cover image of the target plot jump point; The judgment module is used to determine whether the cached content of the target bitstream has reached the target playback position, wherein the target playback position is the target plot jump point or the playback position after the target plot jump point; When the cached content of the target bitstream reaches the target playback position, the hiding module is used to hide the target cover image and start playback from the target plot jump point.

9. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; the memory is used to store computer programs; and the processor, when executing the program stored in the memory, implements the steps of the video alignment method according to any one of claims 1-5.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the video alignment method according to any one of claims 1-5.