Transcoding code rate determination method and device, equipment, storage medium and program product

By probing user bandwidth and performing hierarchical statistics, combined with a pre-defined regression model, the appropriate transcoding bitrate level is determined, which solves the problems of playback stuttering and low bandwidth utilization caused by the fixed bitrate of the transcoding server, thus improving the user experience.

CN121486521APending Publication Date: 2026-02-06BEIJINGLUOTA INFORMATION TECHNOLOGYCO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511776751.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-28
Publication Date
2026-02-06

AI Technical Summary

Technical Problem

Existing transcoding servers have fixed bitrate levels, which cannot meet the actual needs of users, resulting in playback stuttering or low bandwidth utilization, affecting the user's viewing experience.

Method used

By acquiring transcoding code tables and user feature data, user bandwidth detection and hierarchical statistics are performed. Combined with a preset regression model, bitrate estimation is conducted to determine several preset bitrate levels that are highly compatible with users, adapting to user bandwidth and feature distribution.

Benefits of technology

Improve the matching of bitrate levels with actual user needs, optimize playback quality, and enhance the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121486521A_ABST
    Figure CN121486521A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a transcoding code rate determination method and device, equipment, a storage medium and a program product, and the method comprises the steps: obtaining a transcoding code table and user feature data, and carrying out the user bandwidth detection based on the transcoding code table and set expected user bandwidth distribution, and obtaining user bandwidth data; performing hierarchical statistical processing on the user feature data and the user bandwidth data to obtain user hierarchical data; and performing code rate estimation based on the user hierarchical data to obtain transcoding code rates respectively corresponding to the plurality of preset code rate gears. According to the scheme, code rate grading can be carried out according to the bandwidth upper limit and the watching requirement of the user, so that the code rate grades are matched with actual layering of the user, transcoding resources are reasonably distributed, the playing quality is optimized, and the user impression is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the technical field of computer, and particularly relate to a transcoding rate determination method and device, equipment, storage medium and program product. BACKGROUND

[0002] With the rapid development of Internet technology, live broadcast has been widely applied in diversified scenarios such as entertainment interaction and online education, and has become the core carrier of real-time information acquisition and social interaction of users. Among them, live broadcast transcoding is a key technology to ensure the viewing experience of users in different network environments. Its core value lies in adapting the original code rate of the anchor end to the transcoding processing of the user network environment, solving the problem of mismatch between the original code rate of the anchor and the user bandwidth, and realizing clear and smooth video playback.

[0003] In related technologies, the transcoding server needs to adapt to a large number of audiences with different bandwidths for transcoding, and is limited by server computing power, bandwidth and other resources, and can only support limited transcoding output. However, the code rate of the transcoding server is pre-fixed, and it can only transcode the original code stream according to the existing code rate, which may not meet the actual needs of users, resulting in user playback lag or low bandwidth utilization, affecting user experience, and needs to be improved. SUMMARY

[0004] Embodiments of the present application provide a transcoding rate determination method, device, equipment, storage medium and program product, which can detect the bandwidth of users to obtain user bandwidth data reflecting the actual network status of users, further combine user feature data for hierarchical statistical processing to obtain user hierarchical data reflecting the distribution of user bandwidth and features, and estimate the code rate based on the user hierarchical data to obtain the transcoding rate corresponding to a plurality of preset code rate positions, which can adapt to the bandwidth upper limit and viewing needs of users for code rate grading, so that the code rate position matches the actual user hierarchy, reasonably allocates transcoding resources, optimizes the playback quality, improves the user experience, and effectively solves the problem that the transcoding rate in the prior art cannot meet the actual needs of users, resulting in user playback lag or low bandwidth utilization, affecting user experience.

[0005] In a first aspect, embodiments of the present application provide a transcoding rate determination method, which comprises: Obtaining a transcoding code table and user feature data, and detecting the bandwidth of users based on the transcoding code table and the set expected user bandwidth distribution to obtain user bandwidth data; Hierarchical statistical processing of the user feature data and the user bandwidth data to obtain user hierarchical data; Based on the user hierarchical data, the code rate is estimated to obtain the transcoding rate corresponding to a plurality of preset code rate positions.

[0006] In a second aspect, the embodiments of the present application further provide a transcoding rate determination apparatus, comprising: a bandwidth detection module configured to obtain a transcoding rate table and user characteristic data, and perform user bandwidth detection based on the transcoding rate table and a set expected user bandwidth distribution to obtain user bandwidth data; a hierarchical statistics module configured to perform hierarchical statistics processing on the user characteristic data and the user bandwidth data to obtain user hierarchical data; a rate determination module configured to perform rate estimation based on the user hierarchical data to obtain transcoding rates corresponding to a plurality of preset rate levels respectively.

[0007] In a third aspect, the embodiments of the present application further provide a transcoding rate determination device, comprising: one or more processors; a storage device configured to store one or more programs, when the one or more programs are executed by the one or more processors, the one or more processors implement the transcoding rate determination method according to the embodiments of the present application.

[0008] In a fourth aspect, the embodiments of the present application further provide a nonvolatile storage medium storing computer executable instructions, which, when executed by a computer processor, are configured to perform the transcoding rate determination method according to the embodiments of the present application.

[0009] In a fifth aspect, the embodiments of the present application further provide a computer program product, which comprises a computer program stored in a computer readable storage medium, and at least one processor of a device reads and executes the computer program from the computer readable storage medium, so that the device performs the transcoding rate determination method according to the embodiments of the present application.

[0010] In the embodiments of the present application, the user bandwidth data is obtained based on the transcoding rate table and the set expected user bandwidth distribution, so that the actual available bandwidth value of the user can be detected and is consistent with the actual business requirement. The user hierarchical data is obtained by performing hierarchical statistics processing on the user characteristic data and the user bandwidth data, so that the bandwidth difference and the characteristic difference between different users can be distinguished in layers, and comprehensive and accurate user data distribution is provided for subsequent rate estimation. The transcoding rates corresponding to the plurality of preset rate levels are obtained based on the user hierarchical data, so that the actual bandwidth and the characteristic distribution of the user can be adapted, the transcoding rates corresponding to each preset rate level can be accurately predicted, the adaptation degree of the rate level and the actual requirement of the user is improved, and the transcoding quality is ensured. The above scheme can adapt to the bandwidth upper limit and the viewing requirement of the user to perform rate grading, so that the rate level is matched with the actual hierarchical user, the transcoding resources are reasonably allocated, the playback quality is optimized, and the user experience is improved. Attached Figure Description

[0011] Figure 1 A flowchart illustrating a transcoding bitrate determination method provided in this application embodiment; Figure 2 A flowchart illustrating the process by which a preset regression model processes input data to obtain transcoding bitrate, as provided in an embodiment of this application. Figure 3 A flowchart of a transcoding bitrate determination method including a process of detecting user bandwidth is provided for embodiments of this application; Figure 4 A flowchart of a transcoding rate determination method for adjusting the transcoding code table provided in this application embodiment; Figure 5 A flowchart of a transcoding bitrate determination method, including a process of determining user-layered data according to a preset statistical object, is provided for embodiments of this application. Figure 6 A flowchart of a transcoding bitrate determination method, including a process of obtaining user layered data through layered statistical processing, is provided for embodiments of this application. Figure 7 A structural block diagram of a transcoding rate determination device provided in an embodiment of this application; Figure 8 This is a schematic diagram of a transcoding rate determination device provided in an embodiment of this application. Detailed Implementation

[0012] The embodiments of this application will be further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are merely illustrative of the embodiments of this application and are not intended to limit the scope of the embodiments. Furthermore, it should be noted that, for ease of description, only the parts relevant to the embodiments of this application are shown in the accompanying drawings, not the entire structure.

[0013] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and are not limited in number; for example, a first object can be one or more. The term "several" means one or more, and multiple means two or more. Furthermore, "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0014] The transcoding rate determination method provided by the embodiments of the present application can obtain user bandwidth data reflecting the actual network condition of a user by performing bandwidth detection on the user, further perform hierarchical statistical processing on the user feature data to obtain user hierarchical data reflecting the distribution of user bandwidth and features, and estimate the code rate based on the user hierarchical data to obtain a plurality of preset code rate positions corresponding to the transcoding rate with high user adaptation degree. The transcoding rate determination method can be specifically applied to live streaming scenarios such as entertainment interaction and online education. The foregoing several application scenarios are only exemplary and explanatory, and the transcoding rate determination method can also be used in other scenarios in actual application, which is not limited by the embodiments of the present application.

[0015] The execution subject of each step of the transcoding rate determination method provided by the embodiments of the present application can be a computer device, which refers to any electronic device with data calculation, processing and storage capabilities, such as a terminal device such as a server, which is not limited by the embodiments of the present application.

[0016] Figure 1 A flowchart of a transcoding rate determination method provided by the embodiments of the present application. The transcoding rate determination method is applied to a transcoding server, as shown in the figure, and specifically includes the following steps: Figure 1 Step S101, obtain a transcoding code table and user feature data, and perform user bandwidth detection based on the transcoding code table and the set expected user bandwidth distribution to obtain user bandwidth data.

[0017] ​The transcoding code table can record a plurality of code rate positions initially set by the transcoding server and a transcoding code rate corresponding to each code rate position. For example, the transcoding code table can be provided with four code rate positions, i.e., a high code rate position (for example, a transcoding code rate of 3 Mbps), a medium-high code rate position (for example, a transcoding code rate of 2 Mbps), a medium-low code rate position (for example, a transcoding code rate of 1 Mbps), and a low code rate position (for example, a transcoding code rate of 400 kbps). The user feature data can be structured data representing different user individual attributes and behavior patterns, for example, the viewing time information, the reward information, the gender information, the age information, and the nationality information of each user, which can provide more dimensional user-related information for subsequent code rate estimation. The expected user bandwidth distribution can record the reference user bandwidth proportion matching the code rate position set according to the business requirements of the actual application scenario. For example, the current four code rate positions are high code rate position, medium-high code rate position, medium-low code rate position, and low code rate position, and then the expected user bandwidth distribution can be that the user bandwidth proportion corresponding to the high code rate position is 20%, the user bandwidth proportion corresponding to the medium-high code rate position is 30%, the user bandwidth proportion corresponding to the medium-low code rate position is 30%, and the user bandwidth proportion corresponding to the low code rate position is 20%. The user bandwidth data is obtained based on the transcoding code table and the set expected user bandwidth distribution, which can be that the transcoding code rate preliminarily adapted by each user is extracted from the transcoding code table, and the up and down bandwidth detection is performed based on the transcoding code rate to obtain the user bandwidth data corresponding to each user. According to the comparison result of the user bandwidth data and the expected user bandwidth distribution, it is determined whether to continue to adjust the transcoding code table and perform a new round of detection, or to end the bandwidth detection to obtain the final user bandwidth data. It should be noted that, in the user bandwidth detection process, the transcoding code table can provide a benchmark test code rate for detecting the actual bandwidth of the user, for example, a video stream of a certain code rate position is sent to the user, and the actual user bandwidth is determined by the up and down floating detection method combined with whether the user plays is stuck. The expected user bandwidth distribution can provide a target for ending the user bandwidth detection, for example, based on the initial transcoding code table, the user bandwidth data can be obtained by detection, but the user bandwidth proportion of the user bandwidth data distributed in different code rate positions is greatly different from the expected user bandwidth distribution, then the transcoding code rate of the transcoding code table can be adjusted (for example, some transcoding code rates are deleted and new transcoding code rates are supplemented) according to the actual distribution of the user bandwidth data, and then the new user bandwidth data is obtained by detection based on the adjusted transcoding code rate. The above process is iterated until the user bandwidth proportion of the user bandwidth data distributed in different code rate positions is consistent with the expected user bandwidth distribution or within the allowed deviation range.

[0018] In step S102, the user feature data and the user bandwidth data are subjected to hierarchical statistical processing to obtain user hierarchical data.

[0019] The user feature data can include feature information corresponding to each user, which can be the user's viewing time, reward value, gender, age, nationality, etc. The user bandwidth data can include user bandwidth corresponding to each user. Due to the real-time requirement of the live scene, the user bandwidth is not the long-term average bandwidth of the user, but a short-term bandwidth, which is used to represent the maximum stable data transmission capability of the user in a short time. The user feature data and the user bandwidth data are subjected to hierarchical statistical processing. Specifically, a plurality of users can be divided into different levels according to a preset hierarchical rule, and the number or proportion of users in each level corresponding to different information dimensions is counted to obtain user hierarchical data. In an embodiment, the user bandwidth data can be divided into a plurality of bandwidth layers according to a preset bandwidth interval (for example, 100 bps, 200 bps, etc.), and the number of users in each bandwidth layer is counted. Then, according to the plurality of bandwidth layers, the number of users in each bandwidth layer corresponding to a plurality of information dimensions is counted. For example, the information dimension can be gender, and the number of male users and the number of female users in the bandwidth layer can be counted. For another example, the information dimension can be viewing time, and the number of users in each viewing time range in the bandwidth layer can be counted according to a plurality of viewing time ranges divided in advance. Finally, each bandwidth layer can count the number of users and the distribution of the number of users in different information dimensions, for example, the number of male users and the number of female users, and for another example, the number of users in each viewing time range. In an embodiment, the user bandwidth data can be divided into a plurality of bandwidth layers according to a preset bandwidth interval, and the proportion of the number of users in each bandwidth layer relative to the total number of users is counted. Then, according to the plurality of bandwidth layers, the proportion of the number of users in each bandwidth layer corresponding to a plurality of information dimensions is counted. For example, the information dimension can be gender, and the proportion of the number of male users relative to the total number of users and the proportion of the number of female users relative to the total number of users in the bandwidth layer can be counted. For another example, the information dimension can be viewing time, and the proportion of the number of users in each viewing time range relative to the total number of users in the bandwidth layer can be counted according to a plurality of viewing time ranges divided in advance. Finally, each bandwidth layer can count the proportion of the number of users and the distribution of the proportion of the number of users in different information dimensions, for example, the proportion of the number of male users and the proportion of the number of female users, and for another example, the proportion of the number of users in each viewing time range.

[0020] In step S103, a plurality of preset code rate positions respectively correspond to a plurality of preset code rates.

[0021] The user stratification data can provide user distribution corresponding to different user bandwidths and different user characteristics. Therefore, the code rate estimation based on the user stratification data can extract the transcoding code rate closest to the actual bandwidth distribution and individual preference distribution of the user from the user stratification data by using the preset regression model trained or the preset feature condition, so as to better meet the actual needs of the user and improve the user experience. In an embodiment, the code rate estimation based on the user stratification data obtains the transcoding code rate corresponding to each of a plurality of preset code rate levels. The specific implementation process can be: according to the expected user bandwidth distribution, a plurality of candidate transcoding code rates are preliminarily screened out from the user bandwidth distribution obtained from the user stratification data, and then it is judged whether the stratification where the candidate transcoding code rate is located satisfies the preset feature condition, for example, whether the number or proportion of users in a certain viewing time range reaches a preset threshold, or for example, whether the number or proportion of users in a certain reward value range reaches a preset threshold. Of course, the preset feature condition can also be a combination of a plurality of feature conditions, which is not limited herein. If the candidate transcoding code rate satisfies the preset feature condition, the candidate transcoding code rate can be determined as the final transcoding code rate. If the candidate transcoding code rate does not satisfy the preset feature condition, a neighboring search can be performed based on the candidate transcoding code rate until a transcoding code rate satisfying the preset feature condition is found and determined as the final transcoding code rate. In an embodiment, the code rate estimation based on the user stratification data obtains the transcoding code rate corresponding to each of a plurality of preset code rate levels. The specific implementation process can be: the user stratification data and the number of set code rate levels are fused to obtain model input data; the model input data is input into the preset regression model trained to obtain the transcoding code rate corresponding to each of a plurality of preset code rate levels. The number of code rate levels can be set based on the server computing power and available bandwidth resources in advance, which is not limited herein. The user stratification data can provide the user distribution corresponding to different user bandwidths and different user characteristics for the model, and the number of code rate levels can provide a fixed output dimension constraint for the model. The user stratification data and the number of code rate levels are fused to obtain model input data, which can be: the user stratification data is stratified and encoded to obtain multi-dimensional vector data of each user stratification, and the number of code rate levels is converted into output dimension vector data, and then the multi-dimensional vector data of each user stratification and the output dimension vector data are spliced to obtain the model input data. The preset regression model can be a model trained based on historical data (for example, historical user stratification data, historical code rate configuration, corresponding playback effect data, etc.) in advance, which can be used to predict the transcoding code rate corresponding to each of a plurality of preset code rate levels based on the model input data. Optionally, the preset regression model can select a deep learning regression model, a gradient boosting regression model, etc., which is not limited herein.

[0022] In one embodiment, Figure 2 A flowchart of a process of processing model input data to obtain transcoding bit rates by a preset regression model according to an embodiment of the present application is shown in FIG. 7. The preset regression model can include a plurality of feature extraction modules, a vector generation module, and a vector mapping module. The model input data is input into the trained preset regression model to obtain transcoding bit rates corresponding to a plurality of preset bit rate levels, which includes the following steps: Figure 2 Step S201: High-dimensional feature information is obtained by performing multiple rounds of feature extraction on the input model input data by the plurality of feature extraction modules.

[0023] The plurality of feature extraction modules can sequentially extract features from the input model input data to achieve hierarchical abstract feature extraction. The feature extraction module can specifically include a multi-dimensional convolution module, a multi-dimensional pooling module, and an activation function module connected in sequence. The multi-dimensional convolution module can perform convolution operation on the input multi-dimensional model data to extract local correlation between different dimensions and generate preliminary feature information. The multi-dimensional pooling module can perform down-sampling processing on the preliminary feature information to retain key feature information. The activation function module can perform nonlinear transformation on the key feature information to fit the complex nonlinear relationship between user features, bandwidth, and transcoding demand. It should be noted that the first feature extraction module can extract single-dimensional basic feature information, and each subsequent feature extraction module can gradually extract cross-dimensional correlation to obtain the final high-dimensional feature information.

[0024] Step S202: Feature vector information is obtained by performing dimension reduction conversion on the high-dimensional feature information by the vector generation module.

[0025] The vector generation module can specifically include a global average pooling layer and a plurality of fully connected layers connected in sequence. Dimension reduction conversion on the high-dimensional feature information can filter out repetitive and secondary information in the high-dimensional feature information, and only retain key core features that have a greater impact on transcoding bit rates and convert them into one-dimensional feature vector form.

[0026] Step S203: Transcoding bit rates corresponding to a plurality of preset bit rate levels are obtained by mapping and converting the feature vector information by the vector mapping module.

[0027] The vector mapping module can specifically include an attention module and a regression calculation module connected in sequence. The attention module can adjust the weight distribution of different feature dimensions. The regression calculation module can convert the feature vector into transcoding bit rates corresponding to each preset bit rate level based on the preset mapping relationship between the feature vector and the transcoding bit rate.

[0028] ​The user bandwidth data is obtained based on the transcoding code table and the expected user bandwidth distribution, the actual available bandwidth value of the user can be detected, and the actual business demand is met; the user hierarchical data is obtained by performing hierarchical statistical processing on the user feature data and the user bandwidth data, the bandwidth difference and the feature difference between different users can be distinguished in layers, and comprehensive and accurate user data distribution is provided for subsequent code rate estimation; the transcoding code rate corresponding to each preset code rate level is obtained based on the user hierarchical data, the actual bandwidth and feature distribution of the user can be adapted, the transcoding code rate corresponding to each preset code rate level can be accurately predicted, the adaptation degree of the code rate level and the actual demand of the user is improved, and the transcoding quality is ensured. The above scheme can adapt to the bandwidth upper limit and the watching demand of the user to perform code rate grading, so that the code rate level is matched with the actual hierarchical user, the transcoding resources are reasonably allocated, the playing quality is optimized, and the user experience is improved.

[0029] Figure 3 A flowchart of a transcoding code rate determination method including a process of detecting user bandwidth is provided for the embodiments of the present application. As shown in Figure 3 , the following steps are specifically included: Step S301, obtaining a transcoding code table and user feature data.

[0030] Step S302, performing user bandwidth detection based on the transcoding code table to obtain current user bandwidth data, and fitting the current user bandwidth data to obtain a bandwidth distribution fitting curve.

[0031] The transcoding code table can provide a benchmark test code rate for detecting the actual bandwidth of a user. The transcoding code rate corresponding to the adaptive code rate level of each user can be used as a detection starting point. Based on the detection starting point, the test data packet or specific video stream is sent to the user terminal in a manner of gradually increasing the transcoding code rate by a first preset step, and the receiving timestamp of the test packet, whether it is lost, the number of retransmissions, etc. are recorded, or the download rate of the video data, the buffering time, the frame loss rate, the transmission delay, etc. are recorded to determine whether the user terminal has a playback stutter. If there is no playback stutter, the first preset step is continued to be detected upward. If a playback stutter occurs, the current test bandwidth value is detected downward by a second preset step until there is no playback stutter and the final bandwidth value of the user terminal is obtained. The second preset step is smaller than the first preset step. In this way, the current user bandwidth data can be preliminarily detected. The bandwidth distribution fitting curve is obtained by fitting the current user bandwidth data. Specifically, the discrete user bandwidth data can be fitted by using a preset mathematical distribution fitting, a histogram smoothing fitting or a polynomial fitting, etc. to form a continuous bandwidth distribution fitting curve, which intuitively reflects the bandwidth distribution law of the target user group. The bandwidth distribution fitting curve can eliminate abnormal data interference and clearly present the real bandwidth distribution characteristics of the user group, providing a quantitative basis for subsequent judgment of whether it meets the expected user bandwidth distribution. Specifically, since the expected user bandwidth distribution can record the reference user bandwidth proportion matching the code rate level according to the business requirements of the actual application scenario, the current user bandwidth proportion of different code rate levels can be determined based on the multiple transcoding code rates provided by the current transcoding code table in combination with the bandwidth distribution fitting curve, and the current user bandwidth proportion is compared with the reference user bandwidth proportion to determine whether they are consistent or within the allowable error range, so as to determine whether the bandwidth distribution fitting curve meets the expected user bandwidth distribution.

[0032] In step S303, if the bandwidth distribution fitting curve does not meet the expected user bandwidth distribution, the transcoding code table is adjusted based on the bandwidth distribution fitting curve and the expected user bandwidth distribution, and the user bandwidth data is updated based on the adjusted transcoding code table, and the bandwidth distribution fitting curve obtained by re-fitting based on the updated user bandwidth data meets the expected user bandwidth distribution.

[0033] If the bandwidth distribution fitting curve meets the expected user bandwidth distribution, the user bandwidth detection is stopped. If the bandwidth distribution fitting curve does not meet the expected user bandwidth distribution, the transcoding code table can be adjusted in combination with the bandwidth distribution fitting curve and the expected user bandwidth distribution.

[0034] In one embodiment, Figure 4 A flowchart of a transcoding code rate determination method of a process for adjusting a transcoding code table is provided for the embodiments of the present application. As shown in FIG. 6, the process includes the following steps:Figure 4 As shown, specifically includes the following steps: Step S401, determine the user proportion value corresponding to each code rate level from the bandwidth distribution fitting curve.

[0035] Wherein, according to the multiple code rate levels provided by the transcoding code table, the code rate data points corresponding to each code rate level can be located in the bandwidth distribution fitting curve, and the user proportion value corresponding to each code rate level is calculated based on the code rate data points. For example, the current setting has 4 code rate levels, which are high code rate level, medium-high code rate level, medium-low code rate level and low code rate level, then 4 code rate data points can be located in the bandwidth distribution fitting curve, and the user proportion value corresponding to each code rate level is calculated based on the code rate data points.

[0036] Step S402, compare the user proportion value corresponding to each code rate level with the expected user bandwidth distribution to obtain distribution deviation information.

[0037] Wherein, the expected user bandwidth distribution can provide a reference user bandwidth proportion of different code rate levels, by calculating the difference value or difference proportion between the user proportion value corresponding to each code rate level and the reference user bandwidth proportion, the distribution deviation information can be determined, which can reflect the deviation degree of the current user bandwidth proportion corresponding to each code rate level distribution compared with the expected user bandwidth distribution.

[0038] Step S403, adjust the transcoding code table based on the distribution deviation information.

[0039] The transcoding rate of the transcoding code table can be adjusted upwards or downwards according to the difference value or difference ratio between the user proportion value corresponding to each code rate level in the distribution deviation information and the reference user bandwidth proportion provided by the expected user bandwidth distribution. For example, if the user proportion value corresponding to a certain code rate level decreases by 20% relative to the reference user bandwidth proportion provided by the expected user bandwidth distribution, the transcoding rate of the corresponding code rate level in the transcoding code table can be reduced by 20% or by a preset code rate value. It should be noted that the transcoding server will adapt to the actual network conditions of the users to select the code rate level. In general, the number of users with good actual network conditions is small, and therefore, the higher the transcoding rate, the smaller the number of users that can be adapted, i.e., the higher the transcoding rate set by the code rate level, the smaller the corresponding user proportion value. Based on this, if the user proportion value corresponding to a certain code rate level decreases relative to the expected value, it means that the transcoding rate is too high, and there are not many users that can be adapted to the transcoding rate. Accordingly, the transcoding rate can be reduced to adapt to more users and expand the user proportion value. For another example, if the user proportion value corresponding to a certain code rate level increases by 20% relative to the reference user bandwidth proportion provided by the expected user bandwidth distribution, the transcoding rate of the corresponding code rate level in the transcoding code table can be increased by 20% or by a preset code rate value.

[0040] Reference Figure 3 , step S304, the user feature data and the user bandwidth data are subjected to hierarchical statistical processing to obtain user hierarchical data.

[0041] Step S305, code rate estimation is performed based on the user hierarchical data to obtain the transcoding rate corresponding to each of the preset code rate levels.

[0042] The above, based on the user bandwidth detection of the transcoding code table, the current user bandwidth data can be obtained, which can measure the actual data transmission capability of the user network in real time; the bandwidth distribution fitting curve can be obtained by fitting the current user bandwidth data, which can convert the discrete and fluctuating original bandwidth data into a continuous distribution curve, eliminate transient fluctuation interference, and clearly present the real bandwidth distribution characteristics of the user group; based on the judgment structure whether the bandwidth distribution fitting curve satisfies the expected user bandwidth distribution, the adjustment of the transcoding code table is iterated and detected until the expected user bandwidth distribution is reached, which can correct the unreasonable configuration of the transcoding code table and make the actual bandwidth distribution of the user detected to conform to the preset target.

[0043] Figure 5 A flowchart of a transcoding rate determination method provided by an embodiment of the present application is provided, which includes a process of determining user hierarchical data according to a preset statistical object. As shown in Figure 5 , the specific steps include the following steps: Step S501, obtain a transcoding code table and user feature data, and perform user bandwidth detection based on the transcoding code table and a set expected user bandwidth distribution to obtain user bandwidth data.

[0044] Step S502, divide the user feature data and the user bandwidth data into target user feature data and target user bandwidth data corresponding to each preset statistical object.

[0045] The transcoding code rate corresponding to each preset code rate level can be determined for each anchor, or for a certain anchor group, and can be adaptively set according to the system resource condition of the actual application scenario, which is not limited herein. Thus, if the transcoding code rate corresponding to each preset code rate level is determined for an anchor, the preset statistical object can be a single anchor, and the target user feature data and target user bandwidth data of all audiences corresponding to the anchor need to be extracted from the user feature data and the user bandwidth data to adapt to all audiences facing the anchor for transcoding code rate determination. If the transcoding code rate corresponding to each preset code rate level is determined for an anchor group, the preset statistical object can be all anchors in a certain country or all anchors in a certain region, and the target user feature data and target user bandwidth data of all audiences corresponding to the anchor group need to be extracted from the user feature data and the user bandwidth data to adapt to all audiences facing the anchor group for transcoding code rate determination.

[0046] Step S503, perform hierarchical statistical processing on the target user feature data and the target user bandwidth data corresponding to each preset statistical object to obtain user hierarchical data corresponding to each preset statistical object.

[0047] If the preset statistical object is a single anchor, the hierarchical statistical processing obtains user hierarchical data of all audiences facing the anchor, and then code rate estimation is performed based on the user hierarchical data to obtain the transcoding code rate corresponding to each preset code rate level of the anchor, to realize the business requirement of "single anchor single code table". If the preset statistical object is a certain anchor group, the hierarchical statistical processing obtains user hierarchical data of all audiences facing the anchor group, and then code rate estimation is performed based on the user hierarchical data to obtain the transcoding code rate corresponding to each preset code rate level of the anchor group, to realize the business requirement of "multi-anchor shared code table".

[0048] Step S504, perform code rate estimation based on the user hierarchical data to obtain the transcoding code rate corresponding to each preset code rate level.

[0049] The system can be flexibly adapted to the system resource situation of the actual application scene to configure the preset statistical object, meet different business requirements such as "single anchor single code table" or "multi-anchor shared code table", and reasonably use system resources.

[0050] Figure 6 A flowchart of a transcoding rate determination method provided by an embodiment of the present application is shown in FIG. 6. As shown in FIG. 6, the method comprises the following steps: Figure 6 In step S601, a transcoding code table and user feature data are acquired, and user bandwidth data is obtained based on the transcoding code table and a set expected user bandwidth distribution through user bandwidth detection.

[0051] In step S602, the user bandwidth data is layered according to a preset bandwidth interval and a proportion is counted to obtain bandwidth layered data, the bandwidth layered data comprising a plurality of bandwidth layers; the user feature data is layered according to the bandwidth layers and a proportion is counted to obtain feature layered data; and the bandwidth layered data and the feature layered data are layered and aggregated to obtain user layered data.

[0052] ​The preset bandwidth interval can be uniformly set or incrementally set in stages, and can be adaptively set according to the hierarchical accuracy requirement of the actual application scene, which is not limited in this application. For example, the preset bandwidth interval is uniformly set, for example, the preset bandwidth interval is 100 bps, and the numerical range of the user bandwidth data is 0-9000, and the bandwidth hierarchy can be 0-100, 100-200…8900-9000. For another example, the preset bandwidth interval is incrementally set in stages, for example, the preset bandwidth interval can include 100 bps and 500 bps, and the numerical range of the user bandwidth data is 0-9000, and the bandwidth hierarchy can be 0-100, 100-200…2900-3000, 3000-3500…8500-9000. If a user bandwidth value falls within a numerical range corresponding to a bandwidth hierarchy, the user bandwidth value can be divided into the bandwidth hierarchy. Then, the number of users in each bandwidth hierarchy can be counted, and the proportion of the number of users relative to the total number of users is calculated to obtain bandwidth hierarchy data, which includes a plurality of bandwidth hierarchies, and each bandwidth hierarchy corresponds to a proportion of the number of users. The user feature data of the users in each bandwidth hierarchy can be further counted. For example, the user feature data includes two information dimensions of gender and viewing time, then, for gender, the proportion of the number of male users in each bandwidth hierarchy relative to the total number of users and the proportion of the number of female users relative to the total number of users can be counted, and for viewing time, different viewing time ranges can be pre-divided, and the proportion of the number of users in each viewing time range relative to the total number of users in the bandwidth hierarchy is counted according to the pre-divided plurality of viewing time ranges, so as to obtain feature hierarchy data. Finally, the parts corresponding to the same bandwidth hierarchy in the bandwidth hierarchy data and the feature hierarchy data can be aggregated to obtain the final user hierarchy data.

[0053] In step S603, the code rate estimation is performed based on the user hierarchy data to obtain a plurality of preset code rate positions respectively corresponding to a plurality of transcoding code rates.

[0054] The user bandwidth data is divided into hierarchies according to the preset bandwidth interval and the proportion is counted to obtain the bandwidth hierarchy data, which can reflect the distribution of the size of users with different bandwidth capabilities; the user feature data is divided into hierarchies according to the bandwidth hierarchy and the proportion is counted to obtain the feature hierarchy data, which can reflect the distribution of the feature difference of users with different bandwidths; the bandwidth hierarchy data and the feature hierarchy data are aggregated to obtain the user hierarchy data, which can avoid the one-sidedness of single bandwidth or single feature hierarchy, provide comprehensive and accurate user hierarchy data, and provide reliable reference data for subsequent code rate estimation.

[0055] Figure 7A structural block diagram of a transcoding code rate determination apparatus provided by an embodiment of the present application is provided, which is configured to execute the transcoding code rate determination method provided by the above embodiment, and has the corresponding function modules and beneficial effects of the execution method. As shown in the figure, the apparatus specifically includes: Figure 7 A bandwidth detection module 701 configured to obtain a transcoding code table and user feature data, and perform user bandwidth detection based on the transcoding code table and a set expected user bandwidth distribution to obtain user bandwidth data; A hierarchical statistical module 702 configured to perform hierarchical statistical processing on the user feature data and the user bandwidth data to obtain user hierarchical data; A code rate determination module 703 configured to perform code rate estimation based on the user hierarchical data to obtain transcoding code rates corresponding to a plurality of preset code rate levels respectively.

[0056] The above, based on the transcoding code table and the set expected user bandwidth distribution, the user bandwidth detection obtains the user bandwidth data, which can detect the actual available bandwidth value of the user and fit the actual business needs; the hierarchical statistical processing on the user feature data and the user bandwidth data obtains the user hierarchical data, which can distinguish the bandwidth difference and feature difference between different users, and provide comprehensive and accurate user data distribution for subsequent code rate estimation; the code rate estimation based on the user hierarchical data obtains the transcoding code rates corresponding to the plurality of preset code rate levels respectively, which can adapt to the actual bandwidth and feature distribution of the user, accurately predict the transcoding code rates corresponding to each preset code rate level, improve the adaptation degree of the code rate level and the actual needs of the user, and guarantee the transcoding quality. The above scheme can adapt to the bandwidth upper limit and viewing needs of the user for code rate grading, so that the code rate level matches the actual hierarchical user, reasonably allocates transcoding resources, optimizes the playback quality, and improves the user experience.

[0057] In one possible embodiment, the code rate determination module 703 is further configured to: fuse the user hierarchical data and the set number of code rate levels to obtain model input data; input the model input data into a preset regression model trained to obtain transcoding code rates corresponding to a plurality of preset code rate levels respectively.

[0058] In one possible embodiment, the preset regression model includes a plurality of feature extraction modules, a vector generation module, and a vector mapping module; the code rate determination module 703 is further configured to: perform multi-round feature extraction on the input model input data through the plurality of feature extraction modules to obtain high-dimensional feature information; perform dimension reduction conversion on the high-dimensional feature information through the vector generation module to obtain feature vector information; ​The feature vector information is mapped and converted by the vector mapping module to obtain multiple preset code rate positions respectively corresponding to the transcoding code rate.

[0059] In one possible embodiment, the bandwidth detection module 701 is further configured to: Detect the current user bandwidth data based on the transcoding code table, and fit the current user bandwidth data to obtain a bandwidth distribution fitting curve; In the case that the bandwidth distribution fitting curve does not satisfy the expected user bandwidth distribution, adjust the transcoding code table based on the bandwidth distribution fitting curve and the expected user bandwidth distribution, and detect the updated user bandwidth data based on the adjusted transcoding code table, until the bandwidth distribution fitting curve obtained by fitting the updated user bandwidth data again satisfies the expected user bandwidth distribution.

[0060] In one possible embodiment, the transcoding code table includes multiple code rate positions; the bandwidth detection module 701 is further configured to: Determine the user proportion value corresponding to each code rate position from the bandwidth distribution fitting curve; Compare the user proportion value corresponding to each code rate position with the expected user bandwidth distribution to obtain distribution deviation information; Adjust the transcoding code table based on the distribution deviation information.

[0061] In one possible embodiment, the hierarchical statistical module 702 is further configured to: Divide the user feature data and the user bandwidth data into target user feature data and target user bandwidth data corresponding to each preset statistical object; Perform hierarchical statistical processing on the target user feature data and the target user bandwidth data corresponding to each preset statistical object to obtain user hierarchical data corresponding to each preset statistical object.

[0062] In one possible embodiment, the hierarchical statistical module 702 is further configured to: Layer and count the proportion of the user bandwidth data according to a preset bandwidth interval to obtain bandwidth hierarchical data, the bandwidth hierarchical data including multiple bandwidth layers; Layer and count the proportion of the user feature data according to the bandwidth hierarchical data to obtain feature hierarchical data; Layer and aggregate the bandwidth hierarchical data and the feature hierarchical data to obtain the user hierarchical data.

[0063] Figure 8 A structural schematic diagram of a transcoding code rate determination device provided by an embodiment of the present application is shown in FIG. 8. Figure 8 As shown in FIG. 8, the device includes a processor 801, a memory 802, an input device 803, and an output device 804.

[0064] The number of processors 801 can be one or more, Figure 8 The processor 801, the memory 802, the input device 803 and the output device 804 can be connected through a bus or other means, Figure 8 The memory 802 is configured to store software programs, computer executable programs and modules, such as program instructions / modules of the transcoding rate determination method in the embodiments of the present application. The processor 801 executes the software programs, instructions and modules stored in the memory 802, thereby performing various functions and data processing of the device, i.e. implementing the transcoding rate determination method described above. The input device 803 can be configured to receive input digital or character information, and generate key signal input related to user settings and function control of the device. The output device 804 can include a display device such as a display screen.

[0065] The embodiments of the present application also provide a non-volatile storage medium containing computer executable instructions, which are configured to perform a transcoding rate determination method described in the above embodiments when executed by a computer processor, wherein the method comprises: obtaining a transcoding rate table and user feature data, performing user bandwidth detection based on the transcoding rate table and a set expected user bandwidth distribution to obtain user bandwidth data; performing hierarchical statistical processing on the user feature data and the user bandwidth data to obtain user hierarchical data; and performing rate estimation based on the user hierarchical data to obtain a transcoding rate corresponding to each of a plurality of preset rate positions.

[0066] It is worth noting that the embodiments of the transcoding rate determination device described above include various units and modules only according to logical division of functions, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy mutual distinction, and do not configure the protection scope of the embodiments of the present application.

[0067] In some possible implementation manners, each aspect of the method provided by the present application can also be implemented in the form of a program product, which includes program codes. When the program product runs on a computer device, the program codes are configured to make the computer device perform the steps in the method according to various exemplary embodiments of the present application described in the specification, for example, the computer device can perform the transcoding rate determination method described in the embodiments of the present application. The program product can be realized by the combination of one or more readable media.

Claims

1. A method for determining transcoding bitrate, characterized in that, include: Obtain transcoding code table and user feature data, and perform user bandwidth detection based on the transcoding code table and the set expected user bandwidth distribution to obtain user bandwidth data; The user feature data and the user bandwidth data are subjected to hierarchical statistical processing to obtain user hierarchical data; Based on the user stratification data, bitrate estimation is performed to obtain the transcoding bitrate corresponding to several preset bitrate levels.

2. The transcoding bitrate determination method according to claim 1, characterized in that, The process of estimating the bitrate based on the user stratification data to obtain the transcoding bitrates corresponding to several preset bitrate levels includes: The user stratification data and the set number of bitrate levels are fused together to obtain the model input data; The input data of the model is input into the trained preset regression model to obtain the transcoding bitrate corresponding to multiple preset bitrate levels.

3. The transcoding bitrate determination method according to claim 2, characterized in that, The preset regression model includes multiple feature extraction modules, vector generation modules, and vector mapping modules; The step of inputting the model input data into a trained preset regression model to obtain transcoding bitrates corresponding to multiple preset bitrate levels includes: High-dimensional feature information is obtained by performing multiple rounds of feature extraction on the input model data through the multiple feature extraction modules; The vector generation module performs a dimensionality reduction transformation on the high-dimensional feature information to obtain feature vector information. The vector mapping module maps and transforms the feature vector information to obtain the transcoding bitrates corresponding to multiple preset bitrate levels.

4. The transcoding bitrate determination method according to claim 1, characterized in that, The process of obtaining user bandwidth data by detecting user bandwidth based on the transcoding code table and the set expected user bandwidth distribution includes: Based on the transcoding table, the current user bandwidth data is obtained by detecting the user bandwidth, and the current user bandwidth data is fitted to obtain a bandwidth distribution fitting curve. If the bandwidth distribution fitting curve does not meet the expected user bandwidth distribution, the transcoding code table is adjusted based on the bandwidth distribution fitting curve and the expected user bandwidth distribution, and user bandwidth detection is performed again based on the adjusted transcoding code table to obtain updated user bandwidth data, until the bandwidth distribution fitting curve obtained by refitting based on the updated user bandwidth data meets the expected user bandwidth distribution.

5. The transcoding bitrate determination method according to claim 4, characterized in that, The transcoding table includes multiple bitrate levels; The adjustment of the transcoding code table based on the bandwidth distribution fitting curve and the expected user bandwidth distribution includes: The user ratio values ​​corresponding to the multiple bitrate levels are determined from the bandwidth distribution fitting curve. The distribution deviation information is obtained by comparing the user ratio value corresponding to each bitrate level with the expected user bandwidth distribution. The transcoding code table is adjusted based on the distribution deviation information.

6. The transcoding bitrate determination method according to any one of claims 1-5, characterized in that, The process of performing hierarchical statistical processing on the user feature data and the user bandwidth data to obtain user hierarchical data includes: The user feature data and the user bandwidth data are divided into target user feature data and target user bandwidth data corresponding to each preset statistical object; Hierarchical statistical processing is performed on the target user feature data and target user bandwidth data corresponding to each preset statistical object to obtain user hierarchical data corresponding to each preset statistical object.

7. The transcoding bitrate determination method according to any one of claims 1-5, characterized in that, The process of performing hierarchical statistical processing on the user feature data and the user bandwidth data to obtain user hierarchical data includes: The user bandwidth data is stratified according to a preset bandwidth interval and the proportion is statistically analyzed to obtain bandwidth stratification data, which includes multiple bandwidth stratifications. The user feature data is stratified according to the bandwidth stratification and the proportion is statistically analyzed to obtain feature stratification data; The bandwidth stratified data and the feature stratified data are aggregated in a stratified manner to obtain user stratified data.

8. A transcoding rate determination device, characterized in that, include: The bandwidth detection module is configured to acquire a transcoding code table and user feature data, and to perform user bandwidth detection based on the transcoding code table and the set expected user bandwidth distribution to obtain user bandwidth data. The hierarchical statistics module is configured to perform hierarchical statistical processing on the user feature data and the user bandwidth data to obtain user hierarchical data. The bitrate determination module is configured to perform bitrate estimation based on the user hierarchical data to obtain the transcoding bitrate corresponding to several preset bitrate levels.

9. A transcoding bitrate determination device, characterized in that, The device includes: one or more processors; and a storage device configured to store one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement the transcoding rate determination method according to any one of claims 1-7.

10. A non-volatile storage medium for storing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are configured to perform the transcoding rate determination method according to any one of claims 1-7.

11. A computer program product, comprising a computer program, characterized in that, The computer program is stored in a computer-readable storage medium, and at least one processor of the device reads from the computer-readable storage medium and executes the computer program, causing the device to perform the transcoding rate determination method according to any one of claims 1-7.