Video business card generation method and device, video business card playing method and device, equipment, medium and product
By using HTML5 dynamic webpage templates and adaptive block motion compensation technology, combined with a dynamic thread pool manager and prediction model, multi-frame dynamic video business cards are generated, solving the problems of limited content and poor interactivity in existing technologies, and improving vividness and interactivity.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-25
- Publication Date
- 2026-03-13
AI Technical Summary
Existing video business card synthesis methods only use simple frame copying technology, resulting in limited content, insufficient vividness and multi-dimensional information presentation, and poor interactivity.
By using HTML5 dynamic webpage templates and adaptive block motion compensation technology, dynamic video business cards are generated. Combined with a dynamic thread pool manager and predictive models to optimize server load, multi-frame video generation and interactive exchange are achieved.
It improves the vividness and information richness of video business cards, meets the video frame rate standard for 5G new calls, and enhances interactivity during calls.
Smart Images

Figure CN121665087A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of 5G new calling technology, and in particular to a method for generating and playing video business cards, a device, equipment, medium and product. Background Technology
[0002] Video business cards are video-based information display tools developed using digital, streaming media, and internet technologies. By integrating traditional video content with online media, they enable the dynamic presentation of an individual's or company's image. Leveraging 5G communication technology, video business cards can upgrade the called party's ringing interface to a video display format, playing a pre-designed video business card from the caller.
[0003] The related technology uses simple image-to-video format to achieve a function similar to a real paper business card in a simple, quick, and low-cost way, allowing users to display their personal information as a business card during the ringing of a call. However, this video business card synthesis method only uses simple frame copying technology, and the entire video is just a single frame image. The content that users can display is very limited and rather rigid, failing to achieve the vividness and multi-dimensional information presentation of a video business card. Summary of the Invention
[0004] In view of the above problems, this disclosure is made to provide a method for generating and playing video business cards, an apparatus, a device, a medium, and a product.
[0005] According to one aspect of this disclosure, a method for generating video business cards is provided, applied to a business card creation server, comprising: Receive a business card creation request sent by a user, wherein the business card creation request includes a dynamic web page template selected by the user and the user's material video; Based on the specified screenshot frequency, take screenshots of the dynamic webpage template in the business card creation request to obtain multiple images; Generate intermediate frames for any two adjacent images, and generate dynamic videos based on multiple images and intermediate frames; Generate video profiles for users based on source videos and animated videos.
[0006] The beneficial effects of this solution are as follows: By utilizing dynamic web pages, such as HTML5 web pages, and leveraging HTML5's support for CSS 3.0 and dynamic video, a variety of content-rich video templates can be provided to users. By combining the user-selected dynamic web page template with pre-recorded personal video footage, a dynamic video business card can be generated, enhancing its vividness. By setting a specified screenshot frequency for the dynamic web page template, web page rendering is reduced, avoiding wasted computing resources and lowering system load. Generating intermediate frames helps improve the frame rate and smoothness of the video business card.
[0007] Furthermore, according to one aspect of the video business card generation method of this disclosure, after receiving a business card creation request sent by a user terminal, the method further includes: Create a business card creation task based on the business card creation request; Add the business card making task to the task queue; wherein the task queue includes at least one business card making task to be processed; Before executing the next business card creation task, the load status of the business card creation server in the future time period is predicted based on the length of the task queue, and the adjustment strategy is confirmed based on the load status; where the length of the task queue represents the number of tasks in the task queue.
[0008] In one or more embodiments, the beneficial effects of this solution are: by predicting the load status of the business card making server, the processing progress of the task queue can be dynamically adjusted, and the system load can be determined before each business card making task is started, thus avoiding the abandonment of tasks midway and effectively avoiding the waste of hardware resources.
[0009] Furthermore, according to one aspect of the video business card generation method of this disclosure, the load status of the business card creation server is predicted based on the length of the task queue, including: Obtain real-time load information for the business card creation server; Based on real-time load information and task queue length, a pre-trained prediction model is used to obtain the traffic trend of the business card making server in the future time period. Based on traffic trends, confirm the load status of the business card creation server.
[0010] In one or more embodiments, the beneficial effects of this solution are: by predicting the short-term traffic trend in the future through a predictive model, the load that the business card making server can withstand can be confirmed, providing a better startup environment for each business card making task and ensuring that the business card making task can be completed smoothly.
[0011] Furthermore, according to one aspect of the video business card generation method disclosed herein, the real-time load information includes memory load information, system load information, and thread pool status information; wherein, the thread pool status information indicates the number of threads included in the thread pool, and the threads are used to process business card creation tasks in the task queue.
[0012] Furthermore, according to one aspect of the video business card generation method disclosed herein, the prediction model is constructed based on a long short-term memory artificial neural network algorithm.
[0013] Furthermore, according to one aspect of the video business card generation method of this disclosure, an adjustment strategy is determined based on the load status, including: Adjust the number of threads in the thread pool and the screenshot frequency based on the load status; The number of threads represents the number of business card creation tasks that the business card creation server can process simultaneously.
[0014] In one or more embodiments, the beneficial effects of this solution are as follows: one thread is used to process one business card making task. By adjusting the number of threads, the number of business card making tasks that the business card making server can process at the same time can be adjusted, which is conducive to adapting to the load state of the business card making server; the screenshot frequency is used to control the number of screenshots per second. Each screenshot requires stable rendering performance to support it. By adjusting the screenshot frequency, it can be ensured that the business card making server can provide a stable rendering environment when the business card making task starts, which is conducive to adapting to the load state of the business card making server.
[0015] Furthermore, according to one aspect of the video business card generation method disclosed herein, the load status includes system load rate, task queue length, and memory usage.
[0016] Furthermore, according to one aspect of the video name card generation method disclosed herein, the number of threads in the thread pool and the screenshot frequency are adjusted based on the load status, including: When the system load rate exceeds the hibernation threshold, the business card creation task will be paused according to the preset hibernation duration. When the system load rate is less than the idle threshold, restore the number of threads in the thread pool to the default value and increase the screenshot frequency; When the length of the task queue exceeds the preset length, increase the number of threads in the thread pool; When memory usage exceeds the busy threshold, reduce the number of threads in the thread pool and the frequency of screenshots.
[0017] In one or more embodiments, the beneficial effects of this solution are as follows: when the system load rate is greater than the sleep threshold, by pausing the execution of the business card making task, it is possible to avoid the task being abandoned due to insufficient load resources in the middle, thus avoiding the waste of computing resources and time costs, and ensuring that the timing of task start is optimal; by increasing or decreasing the screenshot frequency, it is possible to ensure from the root that there are sufficient resources to obtain the number of screenshot frames required later, thus avoiding the task failing or having insufficient frames in the middle due to insufficient resources.
[0018] Furthermore, according to one aspect of the video business card generation method of this disclosure, generating an intermediate frame for any two adjacent images includes: Divide any two adjacent images into the current frame and the next frame; Calculate the motion vectors of each image patch in the current frame and the next frame. The motion vectors represent the direction and distance of movement of the image patch between the current frame and the next frame. Based on the motion vectors of each image patch in the current frame, calculate the forward motion field of the current frame; based on the motion vectors of each image patch in the next frame, calculate the backward motion field of the next frame; where the forward motion field represents the motion path of each pixel in the current frame moving from the current frame to the next frame, and the backward motion field represents the motion path of each pixel in the next frame moving from the current frame to the next frame. Based on the forward motion field and the backward motion field, generate the intermediate frame between the current frame and the next frame.
[0019] In one or more embodiments, the beneficial effects of this solution are as follows: by calculating the motion vector of the image block, it is possible to detect how each pixel moves from its position in the current frame to its position in the next frame. By calculating the forward motion field and the backward motion field, it is equivalent to constructing a motion model of the pixel, which enables fine-tuning of the motion vector, making the generated intermediate frame edges clearer and the motion more natural.
[0020] Furthermore, according to one aspect of the video name card generation method of this disclosure, the motion vectors of each image patch in the current frame and the next frame are calculated, including: Divide the current frame and the next frame into multiple image blocks according to a preset size; Each image block in the current frame is taken as the first image block, and each image block in the next frame is taken as the second image block; Obtain the target second image block that matches the first image block, and obtain the forward motion vector of the first image block based on the position of the target second image block in the next frame; Obtain the target first image block that matches the second image block, and obtain the backward motion vector of the second image block based on the position of the target first image block in the current frame; Based on the forward motion vector and the backward motion vector, the motion vectors of each image block in the current frame and the next frame are determined.
[0021] In one or more embodiments, the beneficial effect of this solution is that the forward motion vector is used to describe how an image patch in the current frame moves to its position in the next frame, and the backward motion vector is used to describe which image patch in the current frame the image patch in the next frame originates from. This bidirectional motion vector enables cross-validation, ensuring the accuracy of image patch matching between the current frame and the next frame.
[0022] Furthermore, according to one aspect of the video business card generation method of this disclosure, the current frame and the next frame are divided into multiple image blocks of a preset size, including: Divide the current frame and the next frame into multiple macroblocks according to a preset size; Identify regions of intense motion in the current and next frames, and recursively segment macroblocks in these regions into multiple subblocks; Macroblocks and subblocks are treated as image blocks.
[0023] In one or more embodiments, the beneficial effects of this solution are as follows: by dividing multiple macroblocks, a basic analysis network is established; regions with intense motion usually correspond to the boundaries of moving objects, and the motion may be more complex. By further dividing regions with intense motion into smaller sub-blocks, complex and non-rigid motion can be described more accurately, avoiding estimation failure caused by large blocks containing different motions.
[0024] Furthermore, according to a video business card generation method of one aspect of this disclosure, obtaining a target second image block that matches a first image block includes: Calculate the first pixel value of the first image block; Obtain the pixel values of each second image block and calculate the difference between each pixel value and the first pixel value; The second image block with the smallest difference is selected as the target second image block to match the first image block.
[0025] In one or more embodiments, the beneficial effect of this solution is that the difference between pixel values can be measured by MSE (mean square error) or SAD (sum of absolute errors), and the difference in pixel values can be used to search for a target second image block that matches the first image block more accurately.
[0026] Furthermore, according to a video business card generation method of one aspect of this disclosure, obtaining a target first image block that matches a second image block includes: Calculate the second pixel value of the second image block; Obtain the pixel values of each first image block and calculate the difference between each pixel value and the second pixel value; The first image block with the smallest difference is selected as the target first image block to match the second image block.
[0027] Furthermore, according to one aspect of the video name card generation method of this disclosure, based on forward motion vectors and backward motion vectors, the motion vectors of each image block in the current frame and the next frame are determined, including: The matching image patches in the current frame and the next frame are used as image patch matching pairs; Calculate the sum of the forward motion vector and the backward motion vector of each image patch matching pair to obtain the motion difference of each image patch matching pair; Image blocks with motion differences greater than a preset difference threshold are matched as occluded regions. The occluded regions are removed to obtain the motion vectors of each remaining image block in the current frame and the next frame.
[0028] In one or more embodiments, the beneficial effect of this solution is as follows: For ideal, unobstructed uniform motion, the forward motion vector and the backward motion vector should be equal in magnitude and opposite in direction. Therefore, the ideal value of the sum of the vectors (i.e., the motion difference) is 0. If the motion difference is greater than the preset difference threshold, it means that the two image blocks do not match or are in an occluded area. They should be marked out and the occluded area should be extracted when generating intermediate frames to avoid affecting the accuracy and smoothness of intermediate frames.
[0029] Furthermore, according to one aspect of the video business card generation method of this disclosure, the forward motion field of the current frame is calculated based on the motion vectors of each image patch in the current frame, including: Based on the motion vectors of each image block in the current frame, each image block is divided into complex image blocks and simple image blocks; Based on the motion vectors of simple image patches, the motion vectors of each pixel in the simple image patch are calculated; based on the motion vectors of complex image patches, the motion vectors of each pixel in the complex image patch are calculated using an affine motion model. Based on the motion vectors of each pixel, the initial motion field of the current frame is obtained; the initial motion field is a set of motion vectors of each pixel. Based on the initial motion field and the pre-trained neural network model, the forward motion field of the current frame is obtained.
[0030] In one or more embodiments, the beneficial effect of this solution is as follows: Simple image blocks represent pixels with only simple translational motion, and the motion vector of each pixel can be directly calculated for such simple motion. However, for complex image blocks with complex motions such as rotation and scaling, an affine motion model is needed to better explain their overall motion. Since the affine motion model has a large computational load, by dividing the image blocks into complex and simple image blocks and only performing calculations on the complex image blocks, the initial motion field can be accurately calculated.
[0031] Furthermore, according to one aspect of the video business card generation method of this disclosure, based on the motion vectors of complex image blocks, the motion vectors of each pixel in the complex image block are calculated using an affine motion model, including: Obtain adjacent image patches of complex image patches; Based on the motion vectors of complex image blocks and adjacent image blocks, the affine transformation matrix is calculated using an affine motion model; the affine transformation matrix is used to describe the rotation, scaling and translation of each pixel in the complex image block. Based on the affine transformation matrix, the motion vectors of each pixel in a complex image block are obtained.
[0032] In one or more embodiments, the beneficial effect of this solution is that, based on the motion vectors of the complex image block and its adjacent image blocks, the optimal affine transformation matrix is fitted by the least squares method, so that the affine motion model can best explain the overall motion of the complex image block.
[0033] Furthermore, according to one aspect of the video business card generation method of this disclosure, based on an initial motion field and a pre-trained neural network model, the forward motion field of the current frame is obtained, including: The initial motion field and the pixel values of the current frame are input into a pre-trained neural network model; wherein the neural network model includes convolutional layers for extracting image features; Obtain the motion field offset output by the neural network model; Based on the initial motion field and motion field offset, obtain the forward motion field of the current frame.
[0034] In one or more embodiments, the beneficial effects of this solution are as follows: by performing convolution processing on the initial motion field through a neural network model, the affine motion model and deep learning technology are integrated, which can make the generated intermediate frames more natural and smooth, and achieve sub-pixel level compensation, so that the video business card has the advantages of natural transition, dynamic coherence, and smooth playback.
[0035] Furthermore, according to one aspect of the video business card generation method of this disclosure, an intermediate frame between the current frame and the next frame is generated based on the forward motion field and the backward motion field, including: Based on the forward motion field and the backward motion field, identify the same source pixels in the current frame and the next frame; The motion vectors of pixels from the same source in the forward motion field and the motion vectors in the backward motion field are mixed according to time weights to obtain the displacement of pixels from the same source. Intermediate frames are generated based on the displacement of pixels from the same source.
[0036] In one or more embodiments, the beneficial effects of this solution are as follows: for pixels from the same source, the forward motion field can be used to determine where they are going to move to, and the backward motion field can be used to determine where they came from. Therefore, by mixing the two motion vectors with time weights, motion blur and ghosting can be greatly reduced, and the clarity and smoothness of intermediate frames can be improved.
[0037] Furthermore, according to one aspect of the video business card generation method of this disclosure, after generating the intermediate frame, it further includes: Get the empty region in the intermediate frame; Fill empty regions with nearby pixels.
[0038] In one or more embodiments, the beneficial effect of this solution is that the empty area is formed by the previous occlusion area. Since the motion vector of the pixel in the occlusion area is unknown, there may be blank areas in the intermediate frame. At this time, the empty area can be filled by temporal median filtering or spatial texture synthesis technology.
[0039] Furthermore, the video business card generation method according to one aspect of this disclosure also includes: Send the user's video contact card to the new call server; Receive the video identifier returned by the new call server. The video identifier is used to identify the video contact. Send the video identifier to the database.
[0040] In one or more embodiments, the beneficial effect of this solution is that after the business card creation server creates the user's video business card, it sends it to the new call server so that it can be called at any time.
[0041] According to another aspect of this disclosure, a method for playing video business cards is provided, applied to a new call server, comprising: Receive call signaling from the user; whereby the call signaling indicates that the user requests to speak with the called party; Confirm that the user has activated the video business card service and obtain the user's corresponding video business card; the video business card is generated and sent by the business card creation server; Push the user's video contact card to the recipient.
[0042] The benefits of this solution are: by sending a pre-made video business card to the called party, it is possible to present the called party with a vivid, smooth, and information-rich dynamic short film, which helps to improve the viewing experience.
[0043] In addition, the video business card playback method according to one aspect of this disclosure also includes: Receive key commands sent by the user. The key commands are issued during the call between the user and the called party. The key commands indicate that the user wants to exchange video business cards with the called party. If the called party has activated the video contact card service, obtain the called party's video contact card and push it to the user; if the called party has not activated the video contact card service, push the preset default video to the user.
[0044] In one or more embodiments, the beneficial effects of this solution are: the exchange of business cards between the two parties in a call is realized through button commands, making the interactive communication during the call more valuable; the video business card can display product dynamics, complex information, etc., realizing in-depth interaction.
[0045] According to another aspect of this disclosure, a video business card generating apparatus is provided, comprising: The receiving module is used to receive business card creation requests sent by users. The business card creation request includes the dynamic web page template selected by the user and the user's material video. The screenshot module is used to take screenshots of the dynamic webpage template in the business card creation request according to the specified screenshot frequency, and obtain multiple images; The intermediate frame generation module is used to generate intermediate frames for any two adjacent images, and to generate dynamic videos based on multiple images and intermediate frames. The video business card generation module is used to generate video business cards for users based on source videos and animated videos.
[0046] According to another aspect of this disclosure, a computer device is provided, including a memory, a processor, and a computer program stored in the memory, the processor executing the computer program to implement the method of one aspect above.
[0047] According to another aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the method of one aspect above.
[0048] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the method of the above-described aspect.
[0049] It should be understood that both the foregoing general description and the following detailed description are exemplary and intended to provide further illustration of the claimed technology. Attached Figure Description
[0050] The above and other objects, features, and advantages of this disclosure will become more apparent from the more detailed description of the embodiments thereof in conjunction with the accompanying drawings. The drawings are provided to further illustrate the embodiments of this disclosure and form part of the specification. They are used together with the embodiments of this disclosure to explain the disclosure and do not constitute a limitation thereof. In the drawings, the same reference numerals generally represent the same components or steps.
[0051] Figure 1 This is a system architecture diagram illustrating a video business card generation method according to an embodiment of the present disclosure.
[0052] Figure 2 This is a flowchart illustrating the workflow of a dynamic thread pool manager according to an embodiment of this disclosure.
[0053] Figure 3 This is a flowchart illustrating the playback process of a video business card according to an embodiment of this disclosure.
[0054] Figure 4This is a flowchart illustrating a video business card generation method according to an embodiment of the present disclosure.
[0055] Figure 5 This is a flowchart illustrating a video business card playback method according to an embodiment of the present disclosure.
[0056] Figure 6 This is a schematic diagram of the structure of a video business card generation device according to an embodiment of the present disclosure.
[0057] Figure 7 This is a schematic diagram illustrating the structure of a computer device according to an embodiment of the present disclosure.
[0058] Figure 8 This is a schematic diagram illustrating a computer program product according to an embodiment of the present disclosure. Detailed Implementation
[0059] To make the objectives, technical solutions, and advantages of this disclosure more apparent, exemplary embodiments according to this disclosure will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this disclosure, and not all embodiments of this disclosure. It should be understood that this disclosure is not limited to the exemplary embodiments described herein.
[0060] Video business cards are video-based information display tools developed using digital, streaming media, and internet technologies. By integrating traditional video content with online media, they enable the dynamic presentation of an individual's or company's image. Leveraging 5G communication technology, video business cards can upgrade the called party's ringing interface to a video display format, playing a pre-designed video business card from the caller.
[0061] The relevant technology typically provides users with fixed business card templates on a web client. Users select a template, submit their personal static image and personal information, and then submit it to a business card creation server. The business card creation server then composites the image and submits it to the new call server. This technology uses simple image-to-video synthesis to achieve a function similar to a real paper business card in a simple, fast, and low-cost way, allowing users to display their personal information as a business card during the ringing of a call. However, this video business card synthesis method only uses simple frame copying technology, and the entire video is just a single frame of image. The content that users can display is very limited and rather rigid, failing to achieve the vividness and multi-dimensional information presentation of a video business card. On the other hand, because this technology is completely controlled and triggered automatically by the core network signaling, although it saves user operation, the caller's video business card can only be played on the called party's ringing interface, thus losing interactivity.
[0062] The above description, with reference to the accompanying drawings, outlines a video business card generation method, playback method, apparatus, device, medium, and product according to embodiments of this disclosure. Using HTML5 (hereinafter referred to as H5) as the business card template, it cleverly leverages H5's support for CSS 3.0 and dynamic video to create content-rich, dynamic H5 webpage templates. A headless browser is driven to load the dynamic webpage template, and a dynamic thread pool manager is designed to automatically stop or start the business card creation task based on the load status of the business card creation server. The dynamic webpage template is periodically screenshotted according to a specified screenshot frequency to ensure the number of screenshots meets the minimum standard for creating video business cards, effectively avoiding insufficient screenshot frames due to server overload, and further preventing issues such as video business card skipping and stuttering. Adaptive block motion compensation technology is employed, dividing the image into multiple image blocks. Intermediate frames are predicted based on the motion vectors of adjacent image blocks, and time weights are dynamically adjusted to reduce image block effects, resulting in more natural transitions between intermediate frames. By generating intermediate frames, the video business card meets the video frame rate standard required for 5G calls, solving the problem that existing technologies can only play static videos. On the other hand, by combining the key presses on the dial pad, business cards can be exchanged during a call, improving the interactivity between the two parties.
[0063] To facilitate understanding of this embodiment, a detailed description of the video business card generation method disclosed in this disclosure is provided first. The execution entity of the video business card generation method provided in this disclosure is generally a computer device with a certain computing capability. This computer device may include, for example, a terminal device, a server, or other processing devices. The terminal device may be a user device, mobile device, user terminal, terminal, cellular phone, handheld device, computing device, vehicle-mounted device, wearable device, etc. In some possible implementations, the video business card generation method can be implemented by a processor calling computer-readable instructions stored in memory.
[0064] like Figure 1 The diagram shown is a system architecture diagram of the video business card generation method provided in this embodiment of the disclosure, including a client 1, a business card creation server 2, a database 3, and a new call server 4. The following is a detailed description of each terminal: Client 1: The user sends a query request to the business card creation server 2 through client 1. Based on the template list returned by the business card creation server 2, the user selects a dynamic web page template and uploads their own material videos, and then sends a business card creation request to the business card creation server 2.
[0065] If a user is creating a video business card for the first time, they need to complete real-name authentication first.
[0066] Business Card Creation Server 2: Upon receiving a business card creation request, it creates a business card creation task, adds the task to the task queue, and awaits processing. It then starts a customized dynamic thread pool manager to periodically check the workload of the local machine (business card creation server) and makes corresponding adjustments.
[0067] The business card creation server 2 mainly includes a dynamic thread pool manager and an adaptive motion interpolation module. First, the dynamic thread pool manager has the following characteristics: (1) A dynamic parameter tuning API was designed, which exposes the thread pool parameter interface through JMX and supports runtime adjustment. Example code is as follows: / / Register MBean MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); mbs.registerMBean(new ThreadPoolControl(executor), new ObjectName("com.app:type=ThreadPool")); (2) A prediction model is provided, which uses a Long Short-Term Memory (LSTM) artificial neural network algorithm to predict peak traffic and expand the thread pool in advance. For example, the pseudocode is: # Pseudocode: AI Prediction Module model = load_lstm_model() next_hour_load = model.predict(last_24h_metrics) if next_hour_load>threshold: executor.setMaximumPoolSize(emergency_size) (3) Supports graceful degradation strategy, and prioritizes adjustment according to the strategy dynamically configured by the user. If the user has not configured a strategy, the strategy provided in Table 1 can be used for adjustment. This embodiment enables the dynamic thread pool manager to achieve dynamic load balancing when deployed on a single machine or multiple machines.
[0068] Table 1 Adjustment Strategy Table
[0069] The values of 70%, 100%, 85%, and 30% in Table 1 are examples, and users can choose the appropriate threshold according to their actual situation.
[0070] Regarding screenshot frequency, it specifies the number of screenshots taken per second, such as 16 frames per second. Rendering a single frame of a complex H5 page (including CSS3 animations, video playback, etc.) in a headless browser requires multiple steps, including HTML / CSS parsing, layout, drawing, and rasterization, consuming significant computing resources. The rendering time for a frame is not fixed; it depends on page complexity, animation effects, and the server's current load. Therefore, when the system load is high, the screenshot frequency needs to be reduced, and when the system load is low, it can be appropriately increased to dynamically adapt to the server load. Furthermore, the standard specification for 5G new voice services is 30 frames per second. Under high load, rendering a single frame may take more than 1 / 30 of a second, making it impossible to take screenshots at the preset frequency. Therefore, a lower, safer screenshot frequency can be set, such as 16 frames per second, ensuring stable screenshots even under moderate server load.
[0071] Specifically, such as Figure 2 As shown, the workflow of a dynamic thread pool manager includes: S201: Before executing each new business card creation task, obtain the length of the task queue and the real-time load information of the business card creation server.
[0072] The real-time load information includes memory load information, system load information, and thread pool status information. The thread pool status information indicates the number of threads in the thread pool. One thread is used to process a business card making task, which is to take a screenshot of the dynamic web page template selected by the user.
[0073] S202: Based on real-time load information and the length of the task queue, use a pre-trained prediction model to obtain the traffic trend of the business card making server in the future time period.
[0074] The prediction model was constructed based on a long short-term memory artificial neural network algorithm.
[0075] S203: Based on traffic trends, confirm the load status of the business card creation server.
[0076] The load status includes system load rate, task queue length, and memory usage.
[0077] S204: Adjust the number of threads in the thread pool and the screenshot frequency based on the load status.
[0078] For specific adjustment strategies, please refer to Table 1: When the system load rate exceeds the hibernation threshold, the business card creation task will be paused according to the preset hibernation duration. When the system load rate is less than the idle threshold, restore the number of threads in the thread pool to the default value and increase the screenshot frequency; When the length of the task queue exceeds the preset length, increase the number of threads in the thread pool; When memory usage exceeds the busy threshold, reduce the number of threads in the thread pool and the frequency of screenshots.
[0079] This embodiment uses a dynamic thread pool manager to adjust the number of concurrent threads and the screenshot frequency in real time. When the system is busy, the frequency and number of threads are reduced, and when the system is idle, the frequency and number of threads are increased. This achieves dynamic feedback adjustment, which is beneficial for optimizing resource allocation and reducing resource consumption.
[0080] Assuming the screenshot frequency in this embodiment is 16 frames per second, after the thread completes the screenshot, 16 images are obtained per second. At this point, adaptive block motion compensation technology is needed to generate a new image between two adjacent frames, achieving at least 31 images per second to meet the specifications of the 5G new call server. Therefore, the adaptive motion interpolation module includes: (1) Motion estimation module: Adaptive block matching algorithm, used to detect how pixels move in the image.
[0081] Divide any two adjacent frames from the 16 images into the current frame. t ) and the next frame (Frame) t+1 Specifically, it includes: Divide the image into layers: Divide the current frame and the next frame into multiple macroblocks according to a preset size (e.g., 16×16 pixels); Identify areas of intense motion in the image using the Sobel edge detection algorithm. These areas usually correspond to the boundaries of moving objects, and the motion may be more complex. Recursively divide the macroblocks in areas of intense motion into multiple subblocks (e.g., 4×4 pixels), and use the macroblocks and subblocks as image blocks.
[0082] Sub-blocks can more accurately describe complex, non-rigid motions (such as changes in human facial expressions or the waving of flags), avoiding estimation failures caused by large blocks containing different motions.
[0083] Calculate motion vectors: Calculate the motion vectors (MVs) of each image patch in the current frame and the next frame. Specifically, motion vectors include forward MVs and backward MVs.
[0084] Forward-looking MV: with Frame t For reference, for each image patch within it, in Frame t+1The search term finds the best matching position within the search range. The matching error can be measured by MSE (mean squared error) or SAD (sum of absolute errors). For example, for image patch B, a position is found within the search range such that the sum of the absolute differences (SAD) between the pixel values of image patch B' and B at that position is minimized. This position offset is called the forward MV.
[0085] Backward MV: with Frame t+1 For reference, for each image patch within it, in Frame t The most matching position is searched in the middle to obtain the backward MV.
[0086] Motion vector accuracy can reach 1 / 8 pixel, meaning it can determine not only how many whole pixels an image patch has moved, but also how many fractions of a pixel it has moved. To achieve this sub-pixel accuracy, separable interpolation filters (such as SMOOTH / REGULAR / SHARP) are used to upsample and filter the current and next frames for block matching on a finer grid.
[0087] Bidirectional consistency check: In ideal, unobstructed, uniform motion, the forward MV and backward MV should be equal in magnitude and opposite in direction. Therefore, the absolute value of (forward MV + backward MV) is calculated. If the absolute value is greater than a preset difference threshold, the image patch is considered to be in an occluded area or the match is unreliable. It is marked as an abnormal patch and blanking is performed in the intermediate frame generation module.
[0088] (2) Motion compensation module: integrates affine motion model and deep learning technology.
[0089] Affine motion model: Image patches are divided into complex and simple patches. Simple patches undergo only simple translation, while complex patches undergo various complex motions such as rotation and scaling. For rotation and scaling, a more complex affine transformation model is needed. This affine transformation model describes the motion of a pixel (x, y) using the following affine transformation matrix:
[0090] in,( , ) represents the transformed pixel position, ( , ) is the translation factor, ( , ) Control scaling, ( , Control rotation, It controls scaling, rotation, and shear deformation.
[0091] Obtain at least three neighboring image blocks of a complex image block. Based on the motion vectors of at least four image blocks, the optimal affine transformation matrix can be fitted using the least squares method, so that the affine transformation model can explain the overall motion of the complex image block.
[0092] Finally, by using the affine transformation matrix, the motion vectors of each pixel in the complex image block are obtained. Then, by combining the motion vectors of each pixel in the simple image block, the initial motion fields of the current frame and the next frame can be generated respectively.
[0093] For the initial motion field and the final motion field (hereinafter referred to as the motion field), the motion field is a two-dimensional vector field that assigns a motion vector (u,v) to each pixel (x,y) in the image. It can be understood that the motion field is the set of motion vectors of all pixels.
[0094] Deep learning technology: Deep learning enhancement is achieved by using a pre-trained neural network model (Deformable Motion Compensation Propagation, DMCP) to achieve sub-pixel level motion field refinement.
[0095] Specifically, the initial motion field, the pixel values of the reference frame, and image features are input into the DMCP to obtain the motion field offset output by the DMCP. (), This is used to fine-tune the initial motion field. Finally, through deformable convolution operations, these finely adjusted final motion fields are used to achieve sub-pixel-level motion compensation, making the edges of the generated intermediate frames clearer and the motion more natural.
[0096] (3) Intermediate frame generation module: based on bidirectional motion synthesis, located in the current frame and the next frame Intermediate frames between .
[0097] The formula for generating intermediate frames is:
[0098] in, This represents the time weight, used to indicate whether an intermediate frame is closer to the current frame. Or the next frame If you want to generate a frame that is exactly in the center, then 0.5. Adjustable. To generate intermediate frames at any time point. For any pixel in the intermediate frame According to the forward sports field Confirm that it should be generated by the current frame. Which pixel is moving from? According to the rear sports field Confirm that it should be from the next frame Which pixel is moving from? Then, by mixing according to time weights, intermediate frames can be generated. .
[0099] Occlusion handling: Occlusion regions marked by the motion estimation module may cause the intermediate frame generation formula to fail, resulting in empty regions. Temporal median filtering (taking the median value of nearby pixels) or spatial texture synthesis (using surrounding pixels to repair) can be used to fill empty regions.
[0100] (4) Post-processing module Deblocking filtering: Since motion estimation is performed on a "block" basis, there may be discontinuities at the boundaries between blocks. Therefore, Gaussian smoothing is applied to the boundaries of image blocks to eliminate block artifacts, and the weights can be determined by the consistency of motion mirrors within the block.
[0101] Motion vector smoothing: Filters the motion field of the entire image to make it more continuous and smoother in space, thus making the motion of a series of intermediate frames look more natural and fluid.
[0102] Database 3: Used to store multiple H5 webpage templates uploaded to the server management backend, as well as business card creation tasks, etc.
[0103] New Call Server 4: Used to receive user call signaling and retrieve user video business cards from the business card creation server based on the call signaling.
[0104] The business card creation server sends the completed video business card to the new call server. The new call server returns the video ID to the business card creation server, and the business card creation server writes the video ID into its database.
[0105] Among them, the 5G new call server is based on the IMS technology architecture and 5GVoNR ultra-high-definition call technology, and supports functions such as video customer service, AI voice recognition, and real-time captions.
[0106] like Figure 3 The image shown is a flowchart of the video callout playback process, including: S301: Caller A calls the number of called party B and sends the call signaling to the operator's network.
[0107] S302: The operator network sends a call signaling message to the new call server.
[0108] S303: The new call server identifies whether the caller A has activated the video business card service.
[0109] If it is already activated, proceed to S304; if it is not activated, proceed to S308.
[0110] S304: The new call server sends a query request to the business card creation server.
[0111] S305: The business card creation server queries the video ID of the caller A and sends the corresponding video business card to the new call server based on the video ID.
[0112] S306: The new call server returns the caller A's video contact card to the operator's network.
[0113] S307: The operator's network pushes a video business card of the caller A to the called party B.
[0114] S308: The new call server sends a rollback request to the operator network, and the operator network pushes a normal ringtone to the called party B.
[0115] Furthermore, after the call is connected, during the normal call, the caller A can press a specific key (such as #) on the dial pad to indicate that they want to exchange business cards with B. After receiving A's key instruction, the new call server identifies whether B has activated the video business card service. If so, it pushes the video business card that B has prepared to the caller A; otherwise, it directly pushes the preset default video to the caller A.
[0116] Based on the above embodiments, this embodiment also provides a method for generating video business cards, such as... Figure 4 The diagram shows a flowchart of the video business card generation method, including steps S401-S404: S401: Receives a business card creation request sent by a user.
[0117] The business card creation request includes the dynamic webpage template selected by the user and the user's source video.
[0118] S402: Take screenshots of the dynamic webpage template in the business card creation request according to the specified screenshot frequency to obtain multiple images.
[0119] S403: Generates an intermediate frame for any two adjacent images, and generates a dynamic video based on multiple images and intermediate frames.
[0120] S404: Generates a user's video profile based on source videos and animated videos.
[0121] In one or more embodiments, after receiving the business card creation request sent by the user, the method further includes: Based on the business card creation request, a business card creation task is created; the business card creation task is added to the task queue; wherein, the task queue includes at least one business card creation task to be processed; before executing the next business card creation task, based on the length of the task queue, the load status of the business card creation server in the future time period is predicted, and based on the load status, the adjustment strategy is confirmed; wherein, the length of the task queue represents the number of tasks in the task queue.
[0122] In one or more embodiments, predicting the load status of the business card creation server based on the length of the task queue includes: Obtain real-time load information of the business card production server; based on the real-time load information and the length of the task queue, use a pre-trained prediction model to obtain the traffic trend of the business card production server in the future time period; based on the traffic trend, confirm the load status of the business card production server.
[0123] In one or more embodiments, by predicting short-term traffic trends using a predictive model, the load that the business card production server can handle can be determined, providing a better startup environment for each business card production task and ensuring that the business card production task can be completed smoothly.
[0124] In one or more embodiments, the real-time load information includes memory load information, system load information, and thread pool status information; wherein, the thread pool status information indicates the number of threads included in the thread pool, and the threads are used to process the business card making tasks in the task queue.
[0125] In one or more embodiments, determining a regulation strategy based on load status includes: Based on the load status, adjust the number of threads in the thread pool and the screenshot frequency; where the number of threads represents the number of business card making tasks that the business card making server can process simultaneously.
[0126] One thread is used to process one business card making task. By adjusting the number of threads, the number of business card making tasks that the business card making server can handle at the same time can be adjusted, which is beneficial for adapting to the load state of the business card making server. The screenshot frequency is used to control the number of screenshots per second. Each screenshot requires stable rendering performance to support it. By adjusting the screenshot frequency, it can be ensured that the business card making server can provide a stable rendering environment when the business card making task starts, which is beneficial for adapting to the load state of the business card making server.
[0127] In one or more embodiments, adjusting the number of threads in the thread pool and the screenshot frequency based on load status includes: When the system load rate is greater than the hibernation threshold, pause the business card creation task according to the preset hibernation duration; when the system load rate is less than the idle threshold, restore the number of threads in the thread pool to the default value and increase the screenshot frequency; when the length of the task queue is greater than the preset length, increase the number of threads in the thread pool; when the memory usage rate is greater than the busy threshold, reduce the number of threads in the thread pool and the screenshot frequency.
[0128] In one or more embodiments, generating an intermediate frame for any two adjacent images includes: Divide any two adjacent images into the current frame and the next frame; calculate the motion vectors of each image patch in the current frame and the next frame, where the motion vectors represent the direction and distance of movement of the image patch between the current frame and the next frame; calculate the forward motion field of the current frame based on the motion vectors of each image patch in the current frame; calculate the backward motion field of the next frame based on the motion vectors of each image patch in the next frame; where the forward motion field represents the motion path of each pixel in the current frame moving from the current frame to the next frame, and the backward motion field represents the motion path of each pixel in the next frame moving from the current frame to the next frame; generate an intermediate frame between the current frame and the next frame based on the forward motion field and the backward motion field.
[0129] In one or more embodiments, calculating the motion vectors of each image patch in the current frame and the next frame includes: The current frame and the next frame are divided into multiple image blocks according to a preset size; each image block in the current frame is taken as the first image block, and each image block in the next frame is taken as the second image block; a target second image block matching the first image block is obtained, and the forward motion vector of the first image block is obtained based on the position of the target second image block in the next frame; a target first image block matching the second image block is obtained, and the backward motion vector of the second image block is obtained based on the position of the target first image block in the current frame; based on the forward motion vector and the backward motion vector, the motion vector of each image block in the current frame and the next frame is confirmed.
[0130] The forward motion vector describes how an image patch in the current frame moves to its position in the next frame, while the backward motion vector describes which image patch in the current frame the next frame originates from. This bidirectional motion vector allows for cross-validation, ensuring the accuracy of image patch matching between the current and next frames.
[0131] In one or more embodiments, the current frame and the next frame are divided into multiple image blocks of a preset size, including: Divide the current frame and the next frame into multiple macroblocks according to a preset size; identify the regions of intense motion in the current frame and the next frame, and recursively divide the macroblocks in the regions of intense motion into multiple subblocks; use the macroblocks and subblocks as image blocks.
[0132] In one or more embodiments, obtaining a target second image patch that matches the first image patch includes: Calculate the first pixel value of the first image block; obtain the pixel value of each second image block, and calculate the difference between each pixel value and the first pixel value; select the second image block with the smallest difference as the target second image block that matches the first image block.
[0133] In one or more embodiments, obtaining a target first image patch that matches a second image patch includes: Calculate the second pixel value of the second image block; obtain the pixel value of each first image block, calculate the difference between each pixel value and the second pixel value; select the first image block with the smallest difference as the target first image block that matches the second image block.
[0134] In one or more embodiments, determining the motion vectors of each image patch in the current frame and the next frame based on the forward motion vector and the backward motion vector includes: The matching image blocks in the current frame and the next frame are taken as image block matching pairs; the sum of the forward motion vector and the backward motion vector of each image block matching pair is calculated to obtain the motion difference of each image block matching pair; the image block matching pairs with motion differences greater than a preset difference threshold are taken as occluded regions, the occluded regions are removed, and the motion vectors of each remaining image block in the current frame and the next frame are obtained.
[0135] In one or more embodiments, the forward motion field of the current frame is calculated based on the motion vectors of each image patch in the current frame, including: Based on the motion vectors of each image patch in the current frame, each image patch is divided into complex image patches and simple image patches; based on the motion vectors of simple image patches, the motion vectors of each pixel in the simple image patch are calculated; based on the motion vectors of complex image patches, the motion vectors of each pixel in the complex image patch are calculated using an affine motion model; based on the motion vectors of each pixel, the initial motion field of the current frame is obtained; the initial motion field is the set of motion vectors of each pixel; based on the initial motion field and the pre-trained neural network model, the forward motion field of the current frame is obtained.
[0136] Simple image patches represent pixels with only simple translational motion, for which the motion vector of each pixel can be directly calculated. However, for complex image patches with complex motions such as rotation and scaling, an affine motion model is needed to better explain the overall motion. Since the affine motion model is computationally intensive, dividing the image patch into complex and simple patches and calculating only the complex patch allows for accurate calculation of the initial motion field.
[0137] In one or more embodiments, the motion vector of each pixel in a complex image patch is calculated using an affine motion model based on the motion vector of the complex image patch, including: Obtain neighboring image blocks of a complex image block; calculate the affine transformation matrix using an affine motion model based on the motion vectors of the complex image block and its neighboring image blocks; the affine transformation matrix is used to describe the rotation, scaling, and translation of each pixel in the complex image block; and obtain the motion vector of each pixel in the complex image block based on the affine transformation matrix.
[0138] Based on the motion vectors of the complex image patch and its adjacent image patches, the optimal affine transformation matrix is fitted using the least squares method, so that the affine motion model can best explain the overall motion of the complex image patch.
[0139] In one or more embodiments, obtaining the forward motion field of the current frame based on the initial motion field and a pre-trained neural network model includes: The initial motion field and the pixel values of the current frame are input into a pre-trained neural network model; wherein the neural network model includes convolutional layers for extracting image features; the motion field offset output by the neural network model is obtained; and the forward motion field of the current frame is obtained based on the initial motion field and the motion field offset.
[0140] By convolving the initial motion field using a neural network model, the affine motion model and deep learning technology are integrated, resulting in more natural and smooth intermediate frames and sub-pixel level compensation. This gives the video business card the advantages of natural transitions, dynamic coherence, and smooth playback.
[0141] In one or more embodiments, generating an intermediate frame between the current frame and the next frame based on the forward motion field and the backward motion field includes: Based on the forward motion field and the backward motion field, identify the same source pixels in the current frame and the next frame; mix the motion vectors of the same source pixels in the forward motion field and the motion vectors in the backward motion field according to the time weight to obtain the displacement of the same source pixels; generate intermediate frames based on the displacement of the same source pixels.
[0142] For pixels from the same source, the forward motion field can determine where they are going to move to, and the backward motion field can determine where they came from. Therefore, by mixing the two motion vectors with temporal weights, motion blur and ghosting can be greatly reduced, and the clarity and smoothness of intermediate frames can be improved.
[0143] In one or more embodiments, after generating the intermediate frame, the method further includes: Obtain empty regions in intermediate frames; fill empty regions with nearby pixels.
[0144] Empty areas are formed by previous occlusion areas. Since the motion vectors of the pixels in the occlusion area are unknown, there may be blank areas in the intermediate frames. At this time, the empty areas can be filled by temporal median filtering or spatial texture synthesis techniques.
[0145] In one or more embodiments, it further includes: Send the user's video contact card to the new call server; receive the video identifier returned by the new call server, which is used to identify the video contact card; send the video identifier to the database.
[0146] After creating a user's video business card, the business card creation server sends it to the new call server for immediate retrieval.
[0147] Based on the above embodiments, this embodiment also provides a video business card playback method, applied to a new call server, such as... Figure 5 As shown, it includes: S501: Receive call signaling sent by the user.
[0148] Among them, call signaling indicates that the user requests to talk to the called party; S502: Confirm that the user has activated the video business card service and obtain the user's corresponding video business card.
[0149] The video business card is generated and sent by the business card creation server.
[0150] S503: Push the user's video contact card to the called party.
[0151] In one or more embodiments, a key press command sent by a user is received. The key press command is issued during a call between the user and the called party, and the key press command indicates that the user wishes to exchange video business cards with the called party. If the called party has activated the video contact card service, obtain the called party's video contact card and push it to the user; if the called party has not activated the video contact card service, push the preset default video to the user.
[0152] The exchange of business cards between the two parties in a call is enabled through button commands, making the interactive communication during the call more valuable. Video business cards can display product updates, complex information, etc., achieving in-depth interaction.
[0153] According to another aspect of the embodiments of this disclosure, a video business card generation apparatus is provided, such as... Figure 6 As shown, the device includes: The receiving module 601 is used to receive a business card creation request sent by a user, wherein the business card creation request includes a dynamic web page template selected by the user and the user's material video; The screenshot module 602 is used to take screenshots of the dynamic web page template in the business card creation request according to the specified screenshot frequency, and obtain multiple images; The intermediate frame generation module 603 is used to generate intermediate frames for any two adjacent images, and to generate dynamic videos based on multiple images and intermediate frames. The video business card generation module 604 is used to generate video business cards for users based on source videos and dynamic videos.
[0154] The video business card generation device and the video business card generation method provided in this disclosure are based on the same inventive concept and have the same beneficial effects as the methods they adopt, operate or implement.
[0155] This disclosure also provides a computer device for performing the video business card generation method described above. Please refer to... Figure 7 It illustrates a schematic diagram of a computer device provided by some embodiments of this disclosure. For example... Figure 7 As shown, the computer device 7 includes: a processor 700, a memory 701, a bus 702, and a communication interface 703. The processor 700, the communication interface 703, and the memory 701 are connected via the bus 702. The memory 701 stores a computer program that can run on the processor 700. When the processor 700 runs the computer program, it executes the video business card generation method provided in any of the foregoing embodiments of this disclosure.
[0156] The memory 701 may include high-speed random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Communication between the device network element and at least one other network element is achieved through at least one communication interface 703 (which can be wired or wireless), such as the Internet, wide area network, local area network, metropolitan area network, etc.
[0157] Bus 702 can be an ISA bus, PCI bus, or EISA bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. The memory 701 is used to store programs. After receiving an execution instruction, the processor 700 executes the program. The video business card generation method disclosed in any of the foregoing embodiments of this disclosure can be applied to the processor 700, or implemented by the processor 700.
[0158] The processor 700 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 700 or by software instructions. The processor 700 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPTA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this disclosure. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this disclosure can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules may reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 701. Processor 700 reads the information in memory 701 and, in conjunction with its hardware, completes the steps of the above method.
[0159] The computer device provided in this disclosure and the video business card generation method provided in this disclosure are based on the same inventive concept and have the same beneficial effects as the methods they adopt, operate or implement.
[0160] This disclosure also provides a computer-readable storage medium corresponding to the video business card generation method provided in the foregoing embodiments. The computer-readable storage medium is an optical disc, on which a computer program (i.e., a computer program product) is stored. When the computer program is run by a processor, it executes the video business card generation method provided in any of the foregoing embodiments.
[0161] It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical and magnetic storage media, which will not be elaborated here.
[0162] The computer-readable storage medium provided in the above embodiments of this disclosure and the video business card generation method provided in the embodiments of this disclosure are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by the applications stored therein.
[0163] This disclosure also provides a computer program product; please refer to [reference needed]. Figure 8 The computer program product 800 carries program code, namely computer program 801. The instructions included in the computer program 801 can be used to execute the steps of the video business card generation method described in the above method embodiments. For details, please refer to the above method embodiments, which will not be repeated here.
[0164] The aforementioned computer program product can be implemented through hardware, software, or a combination thereof. In one optional embodiment, the computer program product is specifically embodied in a computer storage medium; in another optional embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.
[0165] The basic principles of this disclosure have been described above with reference to specific embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in this disclosure are merely examples and not limitations, and should not be considered as essential features of each embodiment of this disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of this disclosure to the necessity of employing the aforementioned specific details for implementation.
[0166] The block diagrams of devices, apparatuses, devices, and systems disclosed herein are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.
[0167] Additionally, as used herein, the "or" used in a list of items beginning with "at least one" indicates a separate list, such that a list of, for example, "at least one of A, B, or C" means A or B or C, or AB or AC or BC, or ABC (i.e., A and B and C). Furthermore, the word "exemplary" does not imply that the described example is preferred or better than other examples.
[0168] It should also be noted that in the systems and methods of this disclosure, the components or steps can be decomposed and / or recombined. These decompositions and / or recombinations should be considered as equivalent solutions to this disclosure.
[0169] Various changes, substitutions, and modifications can be made to the technology described herein without departing from the teachings defined by the appended claims. Furthermore, the scope of the claims of this disclosure is not limited to the specific aspects of the processes, machines, manufactures, events, means, methods, and actions described above. Currently existing or later-developed processes, machines, manufactures, events, means, methods, or actions that perform substantially the same function or achieve substantially the same result as the corresponding aspects described herein can be utilized. Therefore, the appended claims include such processes, machines, manufactures, events, means, methods, or actions within their scope.
[0170] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use this disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of this disclosure. Therefore, this disclosure is not intended to be limited to the aspects shown herein, but rather to be carried out within the widest scope consistent with the principles and novel features disclosed herein.
[0171] The above description has been given for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of this disclosure to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations therein.
Claims
1. A method for generating video business cards, characterized in that, Applications in business card creation servers include: Receive a business card creation request sent by a user, wherein the business card creation request includes the dynamic web page template selected by the user and the user's material video; According to the specified screenshot frequency, screenshots are taken of the dynamic webpage template in the business card creation request to obtain multiple images; Generate an intermediate frame for any two adjacent images, and generate a dynamic video based on multiple images and the intermediate frame; Based on the source video and the animated video, a video profile is generated for the user.
2. The video business card generation method as described in claim 1, characterized in that, After receiving the business card creation request from the user, the process also includes: Based on the business card creation request, a business card creation task is created; The business card making task is added to the task queue; wherein the task queue includes at least one business card making task to be processed. Before executing the next business card creation task, the load status of the business card creation server in the future time period is predicted based on the length of the task queue, and an adjustment strategy is confirmed based on the load status; wherein, the length of the task queue represents the number of tasks in the task queue.
3. The video business card generation method as described in claim 2, characterized in that, Based on the length of the task queue, predict the load status of the business card creation server, including: Obtain the real-time load information of the business card generation server; Based on the real-time load information and the length of the task queue, a pre-trained prediction model is used to obtain the traffic trend of the business card making server in the future time period. Based on the traffic trend, the load status of the business card creation server is confirmed.
4. The video business card generation method as described in claim 3, characterized in that, The real-time load information includes memory load information, system load information, and thread pool status information; The thread pool status information indicates the number of threads included in the thread pool, and the threads are used to process the business card making tasks in the task queue.
5. The video business card generation method as described in claim 3, characterized in that, The prediction model is constructed based on the Long Short-Term Memory artificial neural network algorithm.
6. The video business card generation method as described in claim 2, characterized in that, Based on the load status, determine the adjustment strategy, including: Based on the load status, adjust the number of threads in the thread pool and the screenshot frequency; The number of threads represents the number of business card creation tasks that the business card creation server can process simultaneously.
7. The video business card generation method as described in claim 2, characterized in that, The load status includes system load rate, task queue length, and memory usage.
8. The video business card generation method as described in claim 7, characterized in that, Based on the load status, adjust the number of threads in the thread pool and the screenshot frequency, including: When the system load rate exceeds the sleep threshold, the business card creation task will be paused according to the preset sleep duration. When the system load rate is less than the idle threshold, the number of threads in the thread pool is restored to the default value, and the screenshot frequency is increased; When the length of the task queue is greater than a preset length, the number of threads in the thread pool is increased; When the memory usage exceeds the busy threshold, reduce the number of threads in the thread pool and the screenshot frequency.
9. The video business card generation method as described in claim 1, characterized in that, Generating an intermediate frame for any two adjacent images includes: Divide any two adjacent images into the current frame and the next frame; Calculate the motion vector of each image block in the current frame and the next frame, wherein the motion vector represents the direction and distance of movement of the image block between the current frame and the next frame; Based on the motion vectors of each image block in the current frame, the forward motion field of the current frame is calculated; based on the motion vectors of each image block in the next frame, the backward motion field of the next frame is calculated; wherein, the forward motion field represents the motion path of each pixel in the current frame moving from the current frame to the next frame, and the backward motion field represents the motion path of each pixel in the next frame moving from the current frame to the next frame; Based on the forward motion field and the backward motion field, an intermediate frame between the current frame and the next frame is generated.
10. The video business card generation method as described in claim 9, characterized in that, Calculating the motion vectors of each image patch in the current frame and the next frame includes: The current frame and the next frame are divided into multiple image blocks according to a preset size; Each image block in the current frame is taken as a first image block, and each image block in the next frame is taken as a second image block; Obtain a target second image block that matches the first image block, and based on the position of the target second image block in the next frame, obtain the forward motion vector of the first image block; Obtain a target first image block that matches the second image block, and obtain the backward motion vector of the second image block based on the position of the target first image block in the current frame; Based on the forward motion vector and the backward motion vector, the motion vectors of each image block in the current frame and the next frame are determined.
11. The video business card generation method as described in claim 10, characterized in that, The current frame and the next frame are divided into multiple image blocks according to a preset size, including: The current frame and the next frame are divided into multiple macroblocks according to a preset size; Identify the regions of intense motion in the current frame and the next frame, and recursively segment the macroblock located in the region of intense motion into multiple subblocks; The macroblock and the subblock are used as image blocks.
12. The video business card generation method as described in claim 10, characterized in that, Obtaining a target second image patch that matches the first image patch includes: Calculate the first pixel value of the first image block; Obtain the pixel value of each second image block, and calculate the difference between each pixel value and the first pixel value; The second image block with the smallest difference is selected as the target second image block that matches the first image block.
13. The video business card generation method as described in claim 10, characterized in that, Obtaining the target first image patch that matches the second image patch includes: Calculate the second pixel value of the second image block; Obtain the pixel value of each of the first image blocks, and calculate the difference between each pixel value and the second pixel value; The first image block with the smallest difference is selected as the target first image block to match the second image block.
14. The video business card generation method as described in claim 10, characterized in that, Based on the forward motion vector and the backward motion vector, the motion vectors of each image block in the current frame and the next frame are determined, including: The matching image blocks in the current frame and the next frame are taken as image block matching pairs; The sum of the forward motion vector and the backward motion vector of each image patch matching pair is calculated to obtain the motion difference of each image patch matching pair; Image block matching pairs with motion differences greater than a preset difference threshold are identified as occlusion regions. The occlusion regions are then removed to obtain the motion vectors of the remaining image blocks in the current frame and the next frame.
15. The video business card generation method as described in claim 9, characterized in that, Based on the motion vectors of each image patch in the current frame, the forward motion field of the current frame is calculated, including: Based on the motion vectors of each image block in the current frame, each image block is divided into complex image blocks and simple image blocks; Based on the motion vector of the simple image block, calculate the motion vector of each pixel in the simple image block; based on the motion vector of the complex image block, calculate the motion vector of each pixel in the complex image block using an affine motion model. Based on the motion vectors of each pixel, the initial motion field of the current frame is obtained; the initial motion field is a set of motion vectors of each pixel. Based on the initial motion field and the pre-trained neural network model, the forward motion field of the current frame is obtained.
16. The video business card generation method as described in claim 15, characterized in that, Based on the motion vectors of the complex image patch, the motion vectors of each pixel in the complex image patch are calculated using an affine motion model, including: Obtain the adjacent image blocks of the complex image block; Based on the motion vectors of the complex image block and its adjacent image blocks, an affine transformation matrix is calculated using an affine motion model; the affine transformation matrix is used to describe the rotation, scaling, and translation of each pixel in the complex image block. Based on the affine transformation matrix, the motion vector of each pixel in the complex image block is obtained.
17. The video business card generation method as described in claim 15, characterized in that, Based on the initial motion field and the pre-trained neural network model, the forward motion field of the current frame is obtained, including: The initial motion field and the pixel values of the current frame are input into a pre-trained neural network model; wherein the neural network model includes convolutional layers for extracting image features; Obtain the motion field offset output by the neural network model; Based on the initial motion field and the motion field offset, the forward motion field of the current frame is obtained.
18. The video business card generation method as described in claim 9, characterized in that, Based on the forward motion field and the backward motion field, an intermediate frame between the current frame and the next frame is generated, including: Based on the forward motion field and the backward motion field, the same source pixels of the current frame and the next frame are identified; The motion vectors of the pixels from the same source in the forward motion field and the motion vectors in the backward motion field are mixed according to time weights to obtain the displacement of the pixels from the same source. The intermediate frame is generated based on the displacement of the pixels from the same source.
19. The video business card generation method as described in claim 18, characterized in that, After generating the intermediate frame, the process also includes: Obtain the empty region in the intermediate frame; The empty region is filled with pixels that are near the empty region.
20. The video business card generation method as described in claim 1, characterized in that, Also includes: Send the user's video contact card to the new call server; Receive the video identifier returned by the new call server, the video identifier being used to identify the video business card; Send the video identifier to the database.
21. A method for playing video business cards, characterized in that, Applied to the new call server, including: Receive call signaling from a user; wherein the call signaling indicates that the user requests to speak with the called party; Confirm that the user has activated the video business card service, and obtain the video business card corresponding to the user; wherein, the video business card is generated and sent by the business card creation server; The user's video contact card is pushed to the called party.
22. The video business card playback method as described in claim 21, characterized in that, Also includes: Receive key commands sent by the user, the key commands being issued during a call between the user and the called party, the key commands indicating that the user wishes to exchange video contact cards with the called party; If the called party has activated the video contact card service, obtain the called party's video contact card and push the called party's video contact card to the user. If the called party has not activated the video caller ID service, a preset default video will be pushed to the user.
23. A video business card generating device, characterized in that, include: A receiving module is used to receive a business card creation request sent by a user, wherein the business card creation request includes the dynamic web page template selected by the user and the user's material video; The screenshot module is used to take screenshots of the dynamic webpage template in the business card creation request according to a specified screenshot frequency, and obtain multiple images; The intermediate frame generation module is used to generate an intermediate frame for any two adjacent images, and to generate a dynamic video based on multiple images and the intermediate frames. The video business card generation module is used to generate a video business card for the user based on the source video and the dynamic video.
24. A computer embedded device, comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the method according to any one of claims 1 to 20.
25. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1 to 20.
26. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1 to 20.
Citation Information
Patent Citations
System and method for advancing frame frequency based on motion compensation
CN101207707A
Video frame rate up-conversion method and system based on motion region segmentation
CN106331723A
Information interaction method and device of dual calling parties
CN109510902A
Video generation method and device, server and storage medium
CN110457624A
Elastic thread pool management method and device based on load prediction and electronic equipment
CN120353591A