Streaming media data processing method, electronic device and storage medium
By building target code tables and redundant configurations, the problem of resource waste in existing streaming media data processing technologies is solved, and more efficient storage and data processing is achieved.
Patent Information
- Application Number
- CN202411273545.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-12
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2044-09-12
AI Technical Summary
The existing streaming media data processing technology has the problem of resource waste in code table design and storage, especially in code table design of (k, r)∈[(1, 1)-(12, 12)], which occupies a large storage resource.
By obtaining the first redundant parameters and the second redundant parameters, the target code table is constructed based on these parameters and the predetermined target code table construction rules, and redundant configuration is performed to form redundant data packets, or to recover lost original streaming data packets.
This method reduces the consumption of storage resources, avoids resource waste, and improves the efficiency of streaming media data processing.
Smart Images

Figure CN119135917B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of streaming media data processing, and in particular to a streaming media data processing method, electronic device and storage medium. Background Art
[0002] In WebRTC (Web Real-Time Communication, a technology that supports web browsers for real-time voice calls, video chats, and peer-to-peer data sharing), it is common to use forward error correction (FEC) technologies such as ULPFec (Uneven Level Protection FEC) and FlexFec (Flexible FEC) to improve the reliability of real-time communication, especially in applications such as video and audio transmission. It has high practical value and can meet users' needs for low lag and high frame rate. In order to meet the needs of resisting random packet loss and burst packet loss, redesigning the code table needs to consider multiple aspects to optimize performance and adaptability. However, the inventors have found that for existing streaming media data processing technology, it is generally necessary to design a special code table and store it separately at the data sending end (for data encoding) and the data receiving end (for data decoding). This consumes storage resources, thereby leading to the problem of resource waste. For example, for a code table of (k, r)∈[(1, 1)-(12, 12)], 3367 bits are required, where k represents the number of original streaming media data packets, and r represents the number of redundant data packets corresponding to the original streaming media data packets. The redundant data packets are formed during the encoding process and are used to recover the lost original streaming media data packets during the decoding process. Summary of the invention
[0003] In view of this, the purpose of the present application is to provide a streaming media data processing method, an electronic device and a storage medium to improve the problem of resource waste in the existing streaming media data processing technology.
[0004] To achieve the above objectives, this application adopts the following technical solutions:
[0005] A streaming media data processing method, comprising:
[0006] Obtaining a first redundancy parameter and a second redundancy parameter, wherein the first redundancy parameter is used to reflect the number of original streaming media data packets, and the second redundancy parameter is used to reflect the number of redundant data packets corresponding to the original streaming media data packets;
[0007] Constructing a corresponding target code table based on the first redundant parameter, the second redundant parameter and a predetermined target code table construction rule;
[0008] Based on the target code table, the original streaming media data packet is redundantly configured to form a redundant data packet corresponding to the original streaming media data packet, and / or, based on the target code table and the redundant data packet, the lost original streaming media data packet is restored.
[0009] In a preferred embodiment of the present application, in the above streaming media data processing method, the step of constructing a corresponding target code table based on the first redundant parameter, the second redundant parameter and a predetermined target code table construction rule includes:
[0010] Based on a predetermined target packet loss situation, a corresponding target code table construction sub-rule is determined in a predetermined target code table construction rule, wherein the target packet loss situation includes random packet loss or burst packet loss, and when the target packet loss situation belongs to random packet loss, a first code table construction sub-rule in the target code table construction rule is determined as the corresponding target code table construction sub-rule, and when the target packet loss situation belongs to burst packet loss, a second code table construction sub-rule in the target code table construction rule is determined as the corresponding target code table construction sub-rule, and at least part of the rule content between the first code table construction sub-rule and the second code table construction sub-rule is different;
[0011] Sub-rules are constructed based on the first redundant parameter, the second redundant parameter and the target code table to construct a corresponding target code table.
[0012] In a preferred embodiment of the present application, in the above streaming media data processing method, the step of constructing a sub-rule based on the first redundant parameter, the second redundant parameter and the target code table to construct a corresponding target code table includes:
[0013] Obtaining pre-configured code table construction priority information, wherein the code table construction priority information includes multiple code table construction indication information with different priorities, and the multiple code table construction indication information includes at least one of first code table construction indication information, second code table construction indication information, third code table construction indication information and fourth code table construction indication information, the first code table construction indication information is used to indicate that a target code table is constructed along a direction with the least number of identical column vectors, the second code table construction indication information is used to indicate the priorities of multiple types of column vectors used in the process of constructing the target code table, the third code table construction indication information is used to indicate that a target code table is constructed along a direction with the least difference between the number of original streaming media data packets corresponding to each redundant data packet, and the fourth code table construction indication information is used to indicate that a target code table is constructed along a direction with the largest value represented by the adopted column vector, the multiple types of column vectors refer to column vectors including different numbers of target parameters, in the target code table, the column vector corresponds to the original streaming media data packet, the row vector corresponds to the redundant data packet, and in the target code table, the target parameter is used to indicate that there is a corresponding relationship between the original streaming media data packet in the column and the redundant data packet in the row;
[0014] Based on the code table construction priority information, the first redundant parameter, the second redundant parameter and the target code table construction sub-rule, a corresponding target code table is constructed.
[0015] In a preferred embodiment of the present application, in the above-mentioned streaming media data processing method, the step of constructing the priority information based on the code table, the first redundant parameter, the second redundant parameter and the target code table to construct a sub-rule and construct a corresponding target code table includes:
[0016] Based on the target code table construction sub-rule, the second redundancy parameter and at least part of the code table construction indication information in the code table construction priority information, a corresponding basic matrix is constructed, wherein the number of rows and the number of columns of the basic matrix are both equal to the second redundancy parameter;
[0017] Based on the first redundant parameter, the basic matrix and at least part of the code table construction indication information in the code table construction priority information, a corresponding target code table is constructed, wherein the number of rows in the target code table is equal to the number of rows of the basic matrix, the number of columns in the target code table is greater than or equal to the number of columns of the basic matrix, and the number of columns in the target code table is equal to the first redundant parameter.
[0018] In a preferred embodiment of the present application, in the above-mentioned streaming media data processing method, the step of constructing a corresponding basic matrix based on the target code table construction sub-rule, the second redundant parameter and at least part of the code table construction indication information in the code table construction priority information includes:
[0019] When the target code table construction sub-rule belongs to the first code table construction sub-rule, based on the second redundancy parameter and the second code table construction indication information in the code table construction priority information, determining a column vector of a required target category, wherein when the second redundancy parameter is greater than or equal to 3 and less than or equal to 5, the number of target parameters included in the column vector of the target category is equal to 2, and when the second redundancy parameter is greater than or equal to 6 and less than or equal to 8, the number of target parameters included in the column vector of the target category is equal to 3;
[0020] When the number of target parameters included in the column vector of the target type is equal to 2, the first parameter and the last parameter of the first column vector are configured as the target parameters, and the other parameters are configured as values other than the target parameters to form a first column vector of the basic matrix, and the parameters in the first column vector are cyclically shifted in sequence to form other column vectors of the basic matrix;
[0021] When the number of target parameters included in the column vector of the target type is equal to 3, the first parameter, the second to last parameter and the last parameter of the first column vector are configured as the target parameters, and the other parameters are configured as values other than the target parameters to form the first column vector of the basic matrix, and the parameters in the first column vector are circularly shifted in turn to form other column vectors of the basic matrix, wherein each circular shift process is performed to form a column vector, so that the number of target parameters in each formed column vector is the same to meet the third code table construction indication information.
[0022] In a preferred embodiment of the present application, in the above-mentioned streaming media data processing method, the step of constructing a corresponding target code table based on the first redundancy parameter, the basic matrix and at least part of the code table construction indication information in the code table construction priority information includes:
[0023] Determining a magnitude relationship between the first redundancy parameter and the second redundancy parameter;
[0024] When the first redundant parameter is equal to the second redundant parameter, determining the basic matrix as a corresponding target code table;
[0025] When the first redundancy parameter is greater than the second redundancy parameter, based on the first code table construction indication information, the second code table construction indication information and the fourth code table construction indication information in the code table construction priority information, the column vector of the basic matrix is expanded to form a corresponding target code table, wherein the number of expanded column vectors is equal to the difference between the first redundancy parameter and the second redundancy parameter, so that the number of column vectors in the target code table is equal to the first redundancy parameter.
[0026] In a preferred embodiment of the present application, in the above-mentioned streaming media data processing method, the step of constructing a corresponding basic matrix based on the target code table construction sub-rule, the second redundant parameter and at least part of the code table construction indication information in the code table construction priority information includes:
[0027] When the target code table construction sub-rule belongs to the second code table construction sub-rule, a candidate matrix is determined based on the second redundant parameter and at least part of the code table construction indication information in the code table construction priority information, wherein in the candidate matrix, the number of row vectors and the number of column vectors are both equal to the second redundant parameter, and the parameters on the main diagonal are all the target parameters, and the parameters at other positions are all parameters other than the target parameters;
[0028] The relevant parameters corresponding to each parameter other than the first parameter on the main diagonal of the candidate matrix are respectively configured as the target parameters to form a corresponding basic matrix, wherein the relevant parameters and the corresponding parameters on the main diagonal belong to the same column, and the row where the relevant parameters are located belongs to the previous row where the corresponding parameters on the main diagonal are located.
[0029] In a preferred embodiment of the present application, in the above-mentioned streaming media data processing method, the step of constructing a corresponding target code table based on the first redundancy parameter, the basic matrix and at least part of the code table construction indication information in the code table construction priority information includes:
[0030] Determining a magnitude relationship between the first redundancy parameter and the second redundancy parameter;
[0031] When the first redundant parameter is equal to the second redundant parameter, determining the basic matrix as a corresponding target code table;
[0032] When the first redundancy parameter is greater than the second redundancy parameter, the column vectors of the basic matrix are forward expanded based on the first code table construction indication information, the second code table construction indication information and the fourth code table construction indication information in the code table construction priority information to form a corresponding target code table, wherein the number of extended column vectors is equal to the difference between the first redundancy parameter and the second redundancy parameter, so that the number of column vectors in the target code table is equal to the first redundancy parameter, and the extended column vector is located before the first column vector in the basic matrix.
[0033] Based on the above, the present application also provides an electronic device, including:
[0034] Memory for storing computer programs;
[0035] The processor connected to the memory is used to execute the computer program stored in the memory to implement the above-mentioned streaming media data processing method.
[0036] On the basis of the above, the present application further provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is run, each step of the above-mentioned streaming media data processing method is executed.
[0037] The streaming media data processing method, electronic device and storage medium provided by the present application can first obtain a first redundant parameter and a second redundant parameter, wherein the first redundant parameter is used to reflect the number of original streaming media data packets, and the second redundant parameter is used to reflect the number of redundant data packets corresponding to the original streaming media data packets; secondly, a corresponding target code table can be constructed based on the first redundant parameter, the second redundant parameter and a predetermined target code table construction rule; then, the original streaming media data packet can be redundantly configured based on the target code table to form a redundant data packet corresponding to the original streaming media data packet, and / or, based on the target code table and the redundant data packet, the lost original streaming media data packet can be restored. Based on the above content, since there is no need to generate and store the code table in advance, it is only necessary to configure the corresponding target code table construction rule, so that the consumption of storage resources can be reduced, thereby improving the problem of resource waste in the existing streaming media data processing technology. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings.
[0039] Figure 1 A structural block diagram of an electronic device provided in an embodiment of the present application.
[0040] Figure 2 A flowchart of a streaming media data processing method provided in an embodiment of the present application.
[0041] Figure 3 This is the first comparison chart of the decoding success rate of random packet loss provided in an embodiment of the present application.
[0042] Figure 4 This is a second comparison chart of the decoding success rate of random packet loss provided in an embodiment of the present application.
[0043] Figure 5 The third comparison chart of the decoding success rate of random packet loss provided in an embodiment of the present application.
[0044] Figure 6 This is the fourth comparison chart of the decoding success rate of random packet loss provided in an embodiment of the present application.
[0045] Figure 7 This is the fifth comparison chart of the decoding success rate of random packet loss provided in an embodiment of the present application.
[0046] Figure 8 This is the first comparison chart of the decoding success rate of burst packet loss provided in an embodiment of the present application.
[0047] Fig. 9 This is a second comparison chart of the decoding success rate of burst packet loss provided in an embodiment of the present application.
[0048] Fig.10 This is a third comparison chart of the decoding success rate of burst packet loss provided in an embodiment of the present application.
[0049] Fig.11 This is a fourth comparison chart of the decoding success rate of burst packet loss provided in an embodiment of the present application.
[0050] Fig.12 This is the fifth comparison chart of the decoding success rate of burst packet loss provided in an embodiment of the present application.
[0051] Fig.13 A block diagram of a streaming media data processing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various different configurations.
[0053] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for which protection is sought, but merely represents selected embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.
[0054] like Figure 1 As shown, an embodiment of the present application provides an electronic device, wherein the electronic device may include a memory, a processor, and a streaming media data processing device.
[0055] In detail, the memory and the processor are electrically connected directly or indirectly to achieve data transmission or interaction. For example, the memory and the processor can be electrically connected through one or more communication buses or signal lines. The streaming media data processing device includes at least one software function module stored in the memory in the form of software or firmware. The processor is used to execute an executable computer program stored in the memory, for example, the software function module and computer program included in the streaming media data processing device, so as to implement the streaming media data processing method provided in the embodiment of the present application.
[0056] Optionally, the memory may be, but not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc. Furthermore, the processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), a system on chip (SoC), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0057] Understandably, Figure 1 The structure shown is for illustration only, and the electronic device may also include Figure 1 More or fewer components as shown, or with Figure 1 The different configurations shown, for example, may also include a communication unit for exchanging information with other electronic devices.
[0058] Combination Figure 2 The embodiment of the present application also provides a streaming media data processing method applicable to the above electronic device. The method steps defined in the process related to the streaming media data processing method can be implemented by the electronic device. Figure 2 The specific process shown is explained below.
[0059] Step S110: obtaining a first redundancy parameter and a second redundancy parameter.
[0060] In an embodiment of the present application, the electronic device may obtain a first redundant parameter and a second redundant parameter during the encoding or decoding process. The first redundant parameter is used to reflect the number of original streaming media data packets, and the second redundant parameter is used to reflect the number of redundant data packets corresponding to the original streaming media data packets. It should be noted that the determination method of the first redundant parameter and the second redundant parameter is not limited. For example, it may be generated in response to the operation of the corresponding encoder or decoder, or it may be obtained from other devices, or it may be determined based on the analysis of the original streaming media data packet, for example, analyzing the importance of the streaming media data, the corresponding network status, etc. For example, the higher the importance, the smaller the first redundant parameter can be, the larger the second redundant parameter can be, the better the network status, the larger the first redundant parameter can be, and the smaller the second redundant parameter can be. In addition, the first redundant parameter and the second redundant parameter can also be dynamically adjusted based on the packet loss of the original streaming media data packet previously transmitted. For example, the higher the packet loss rate, the smaller the first redundant parameter can be, and the larger the second redundant parameter can be.
[0061] Step S120: construct a corresponding target code table based on the first redundant parameter, the second redundant parameter and a predetermined target code table construction rule.
[0062] In an embodiment of the present application, after obtaining the first redundant parameter and the second redundant parameter, the electronic device can construct a corresponding target code table based on the first redundant parameter, the second redundant parameter and a predetermined target code table construction rule. It can be understood that the target code table construction rule can be a mapping relationship about the code table, so that the corresponding target code table can be determined based on different first redundant parameters and second redundant parameters. That is to say, in an embodiment of the present application, the target code table is actually replaced by storing the mapping relationship of the target code table construction rule, so that the consumption of storage resources can be reduced to a certain extent, especially for the scenario where the first redundant parameter and the second redundant parameter are large, it has a very high application value, so that the solution provided in the embodiment of the present application can be applicable to the situation where the first redundant parameter and the second redundant parameter are infinite, which is difficult to achieve based on the conventional technical solution based on the storage of the code table.
[0063] Step S130, based on the target code table, redundantly configure the original streaming data packet to form a redundant data packet corresponding to the original streaming data packet, and / or, based on the target code table and the redundant data packet, recover the lost original streaming data packet.
[0064] In the embodiment of the present application, after obtaining the target code table, the electronic device can perform redundant configuration on the original streaming data packet based on the target code table to form a redundant data packet corresponding to the original streaming data packet, and / or, based on the target code table and the redundant data packet, perform recovery processing on the lost original streaming data packet. That is, when the electronic device acts as a transmitter of streaming data, that is, in the encoding process, the original streaming data packet can be redundantly configured based on the target code table to form a redundant data packet corresponding to the original streaming data packet. When the electronic device acts as a receiver of streaming data, that is, in the decoding process, the lost original streaming data packet can be recovered based on the target code table and the redundant data packet. It can be understood that the focus of the embodiment of the present application is to construct the corresponding target code table based on the target code table construction rule in step S120, rather than to form a redundant data packet and to recover the lost original streaming data packet. Therefore, the specific implementation process can refer to the relevant prior art, which will not be repeated here.
[0065] Based on the above content, since there is no need to generate and store code tables in advance, only the corresponding target code table construction rules need to be configured, which can reduce the consumption of storage resources and thus improve the problem of resource waste in existing streaming media data processing technologies.
[0066] It should be noted that for step S120, the specific method of constructing the corresponding target code table based on the target code table construction rule is not limited and can be selected according to actual needs.
[0067] For example, in an alternative implementation, the target code table construction rule may include a fixed rule content (such as the first code table construction sub-rule or the second code table construction sub-rule described below), so that the consumption of storage resources can be further reduced.
[0068] For another example, in another alternative implementation, in order to ensure the reliability of the recovery process based on the target code table, the above step S120 may further include step S121 and step S122, and the specific content of each step is described as follows.
[0069] Step S121, based on the predetermined target packet loss situation, a corresponding target code table construction sub-rule is determined in the predetermined target code table construction rule.
[0070] In an embodiment of the present application, a corresponding target code table construction sub-rule can be determined in a predetermined target code table construction rule based on a predetermined target packet loss situation. The target packet loss situation includes random packet loss or burst packet loss, and when the target packet loss situation belongs to random packet loss, the first code table construction sub-rule in the target code table construction rule is determined as the corresponding target code table construction sub-rule, and when the target packet loss situation belongs to burst packet loss, the second code table construction sub-rule in the target code table construction rule is determined as the corresponding target code table construction sub-rule, and at least part of the rule content between the first code table construction sub-rule and the second code table construction sub-rule is different. That is to say, due to the different characteristics of random packet loss and burst packet loss, it is necessary to configure corresponding sub-rules for random packet loss and burst packet loss respectively, so that the target code table determined based on the corresponding sub-rules has higher reliability.
[0071] Step S122: construct sub-rules based on the first redundant parameter, the second redundant parameter and the target code table to construct a corresponding target code table.
[0072] In the embodiment of the present application, after determining the corresponding target code table construction sub-rule, the corresponding target code table can be constructed based on the first redundancy parameter, the second redundancy parameter and the target code table construction sub-rule. For example, for random packet loss, the corresponding target code table can be constructed based on the first code table construction sub-rule, and for burst packet loss, the corresponding target code table can be constructed based on the second code table construction sub-rule.
[0073] It is important to note that the inventors of this application have found through long-term research that:
[0074] The key point of constructing sub-rules of two different code tables corresponding to random packet loss and burst packet loss is that the code table corresponding to burst packet loss needs to ensure the complete translatability of burst packet loss. Therefore, there are restrictions on the order of column vectors in the code table. Random packet loss does not consider the order of packet loss. Since the requirements of the two main processing scenarios are different, the code tables will also be different. Specifically, the code table for random packet loss focuses on non-repetition, sparsity, etc. For the code table for burst packet loss, the translatability of burst packet loss is taken into account. Therefore, the code table of random packet loss code table is adjusted to a certain extent (such as using a small amount of random packet loss translatability cost in exchange for the full translatability of burst packet loss), that is, in any burst loss process, all lost packets can be decoded and recovered.
[0075] It can be understood that, in the above-mentioned step S122, the specific method of constructing the corresponding target code table based on the target code table construction sub-rule is not limited and can be selected according to actual needs. For example, in an alternative implementation, in order to further improve the reliability of the determined target code table, the above-mentioned step S122 can further include step S122a and step S122b, and the specific content of each step is described as follows.
[0076] Step S122a, obtaining pre-configured code table construction priority information.
[0077] In an embodiment of the present application, pre-configured code table construction priority information can also be obtained. The code table construction priority information includes multiple code table construction indication information with different priorities, and the multiple code table construction indication information includes at least one of the first code table construction indication information, the second code table construction indication information, the third code table construction indication information and the fourth code table construction indication information. The first code table construction indication information is used to indicate that the target code table is constructed along the direction with the least number of identical column vectors (for example, it is necessary to avoid the repeated appearance of column vectors), the second code table construction indication information is used to indicate the priority of multiple types of column vectors used in the construction process of the target code table, the third code table construction indication information is used to indicate that the target code table is constructed along the direction with the least difference between the number of original streaming media data packets corresponding to each redundant data packet (for example, the number of original streaming media data packets corresponding to each redundant data packet is the same), and the fourth code table construction indication information is used to indicate that the target code table is constructed along the direction with the least difference between the number of original streaming media data packets corresponding to each redundant data packet (for example, the number of original streaming media data packets corresponding to each redundant data packet is the same). The target code table is constructed in the direction of the largest value represented by the column vector (such as taking the first parameter of the column vector as the highest bit parameter, the second parameter as the second highest bit parameter, and the last parameter as the lowest bit parameter to form a corresponding parameter value), and the multiple types of column vectors refer to column vectors including different numbers of target parameters (such as including target parameters equal to 2, including target parameters equal to 3, etc.), in the target code table, the column vector corresponds to the original streaming data packet, the row vector corresponds to the redundant data packet, and in the target code table, the target parameter is used to indicate that there is a corresponding relationship between the original streaming data packet in the column and the redundant data packet in the row, that is, in the encoding process, the redundant data packet is determined based on the original streaming data packet with the corresponding relationship, so in the decoding process, the lost original streaming data packet can be restored based on the redundant data packet with the corresponding relationship. In addition, it should be noted that, in the above-mentioned multiple code table construction indication information, the first code table construction indication information, the second code table construction indication information, the third code table construction indication information and the fourth code table construction indication information, the corresponding priorities are reduced in sequence, that is, when the first code table construction indication information and the second code table construction indication information conflict, the first code table construction indication information is preferentially satisfied. When the second code table construction instruction information conflicts with the third code table construction instruction information, the second code table construction instruction information is preferentially satisfied. When the third code table construction instruction information conflicts with the fourth code table construction instruction information, the fourth code table construction instruction information is preferentially satisfied.
[0078] Step S122b: construct a corresponding target code table based on the code table construction priority information, the first redundant parameter, the second redundant parameter and the target code table construction sub-rule.
[0079] In the embodiment of the present application, after obtaining the code table construction priority information, the corresponding target code table can be constructed based on the code table construction priority information, the first redundant parameter, the second redundant parameter and the target code table construction sub-rule, as shown in the following table:
[0080]
[0081] In the above table, 1 is the target parameter and 0 is the non-target parameter. Among them, the original streaming data packet 1, the original streaming data packet 2 and the original streaming data packet 4 have a corresponding relationship with the redundant data packet 1, that is, in the encoding process, the redundant data packet 1 can be determined based on the original streaming data packet 1, the original streaming data packet 2 and the original streaming data packet 4, for example, the original streaming data packet 1, the original streaming data packet 2 and the original streaming data packet 4 can be obtained by performing an XOR operation. Similarly, the original streaming data packet 2, the original streaming data packet 3 and the original streaming data packet 4 have a corresponding relationship with the redundant data packet 2. Similarly. The original streaming data packet 1, the original streaming data packet 3 and the original streaming data packet 4 have a corresponding relationship with the redundant data packet 3.
[0082] It should be noted that the first code table construction instruction information mentioned above is that the main reason for avoiding repeated column vectors is that the same column vector will not contribute to the rank of the decoding matrix, and the rank of the decoding matrix is a necessary condition for successful decoding. In other words, two original streaming media data packets are protected by the same type of coded packets. Either they are decoded successfully together, and the two original streaming media data packets can only provide the same decoding information for the redundant data packet and no longer provide redundant information; or they are decoded unsuccessfully together, and jointly hinder the recovery of other original streaming media data packets. Therefore, it is necessary to avoid repeated column vectors as much as possible, and determine their priority as the highest priority.
[0083] It should be noted that for the above-mentioned second code table construction indication information and third code table construction indication information, according to the decoding principle of WebRTC, the number of original streaming media data packets protected by each redundant data packet is not the more the better. Limited by the logic that redundant data packets cannot eliminate each other, for the case where there are many lost original streaming media data packets, through the decoding of layers of code tables, it is hoped that the number of original streaming media data packets protected by the remaining redundant data packets will also decrease, so as to facilitate subsequent elimination (such as XOR operation); however, for the case where there are many lost redundant data packets, it is hoped that the remaining surviving redundant data packets can contain relatively more information of original streaming media data packets to include more decoding information, so as to ensure that in the case of losing more redundant data packets and a small part of the original streaming media data packets, it can still be successfully decoded. Therefore, through the trade-off of probability calculation, the second code table construction indication information and the third code table construction indication information are set, so as to effectively weigh the sparsity of the code table and the weight of the rows and columns as much as possible to balance the decoding success rate of the above two types of situations.
[0084] What needs to be explained about the fourth code table construction indication information is that: the column vector with the maximum value is preferentially selected for filling construction. The main reason for this is that in the process of sending data packets, the flag information bits of the transmitted data are often placed in the header of the data packet. If facing the same risk of packet loss, the data packets sent first are given more protection information as much as possible.
[0085] It can be understood that, in the above-mentioned step S122b, the specific method of constructing the corresponding target code table based on the code table construction priority information, the first redundant parameter, the second redundant parameter and the target code table construction sub-rule is not limited. For example, based on the different actual conditions of the first redundant parameter and the second redundant parameter, the determination method may be different. Based on this, in order to ensure the reliability of constructing the target code table, the above-mentioned step S122b may further include step b1 and step b2. The specific content of each step is described as follows.
[0086] Step b1: construct a corresponding basic matrix based on the target code table construction sub-rule, the second redundant parameter and at least part of the code table construction indication information in the code table construction priority information.
[0087] In the embodiment of the present application, a corresponding basic matrix can be constructed based on the target code table construction sub-rule, the second redundancy parameter, and at least part of the code table construction indication information in the code table construction priority information. Wherein, the number of rows and the number of columns of the basic matrix are both equal to the second redundancy parameter. That is, a basic matrix can be determined based on the corresponding rules and indications, and the size of the basic matrix is the second redundancy parameter*the second redundancy parameter.
[0088] Step b2: construct a corresponding target code table based on the first redundancy parameter, the basic matrix and at least part of the code table construction indication information in the code table construction priority information.
[0089] In an embodiment of the present application, after the corresponding basic matrix is constructed, the corresponding target code table can be constructed based on the first redundant parameter, the basic matrix and at least part of the code table construction indication information in the code table construction priority information. Wherein, the number of rows in the target code table is equal to the number of rows in the basic matrix, the number of columns in the target code table is greater than or equal to the number of columns in the basic matrix, and the number of columns in the target code table is equal to the first redundant parameter. Wherein, it should be noted that, since the first redundant parameter is generally greater than or equal to the second redundant parameter, the idea of the above steps is to expand from the r*r code table to any k*r code table (where r represents the second redundant parameter and k represents the first redundant parameter). If the most basic r*r code table has good anti-packet loss performance, it is also easier to maintain an optimization trend when constructing on this basis later. On the other hand, the expansion in the form of basic matrix + slice expansion can make the design rules show regularity and save a lot of code table storage space.
[0090] It can be understood that in the above step b1, considering that different packet loss situations are dealt with, different target code tables are used to construct sub-rules, and therefore, the specific methods for implementing step b1 may be different.
[0091] For example, in a first alternative implementation, the above step b1 may include:
[0092] First, when the target code table construction sub-rule belongs to the first code table construction sub-rule (i.e., for an application scenario of random packet loss), based on the second redundant parameter and the second code table construction indication information in the code table construction priority information, a column vector of a required target type can be determined, wherein when the second redundant parameter is greater than or equal to 3 and less than or equal to 5, the number of target parameters included in the column vector of the target type is equal to 2 (such as the number of parameters equal to 1 is 2, and the other parameters are 0), and when the second redundant parameter is greater than or equal to 6 and less than or equal to 8, the number of target parameters included in the column vector of the target type is equal to 3 (such as the number of parameters equal to 1 is 3, and the other parameters are 0);
[0093] Secondly, when the number of target parameters included in the column vector of the target type is equal to 2, the first parameter and the last parameter of the first column vector are configured as the target parameters, and the other parameters are configured as values other than the target parameters to form a first column vector of the basic matrix, and the parameters in the first column vector are sequentially subjected to cyclic shift processing to form other column vectors of the basic matrix. Exemplarily, each cyclic shift processing may be cyclically shifted by one bit, such as cyclically shifting "1001" by one bit to obtain "1100", and cyclically shifting by one bit again to obtain "0110";
[0094] Finally, when the number of target parameters included in the column vector of the target type is equal to 3, the first parameter, the second to last parameter and the last parameter of the first column vector are configured as the target parameters, and the other parameters are configured as values other than the target parameters to form the first column vector of the basic matrix, and the parameters in the first column vector are circularly shifted in turn to form other column vectors of the basic matrix, wherein each time the circular shift process is performed, a column vector is formed, so that the number of target parameters in each formed column vector is the same to satisfy the third code table construction indication information. Exemplarily, each time the circular shift process is performed, one bit can be circularly shifted, such as circularly shifting "100011" by one bit can obtain "110001", and circularly shifting one bit again can obtain "111000".
[0095] For another example, in a second alternative implementation, the above step b1 may include:
[0096] First, when the target code table construction sub-rule belongs to the second code table construction sub-rule (i.e., for an application scenario of burst packet loss), a candidate matrix can be determined based on the second redundant parameter and at least part of the code table construction indication information in the code table construction priority information, wherein in the candidate matrix, the number of row vectors and the number of column vectors are both equal to the second redundant parameter, and the parameters on the main diagonal are all the target parameters (such as 1), and the parameters at other positions are all parameters other than the target parameters (such as 0);
[0097] Secondly, the relevant parameters corresponding to each parameter other than the first parameter on the main diagonal of the candidate matrix can be configured as the target parameters to form a corresponding basic matrix, wherein the relevant parameters and the corresponding parameters on the main diagonal belong to the same column, and the row where the relevant parameters are located belongs to the previous row of the row where the corresponding parameters on the main diagonal are located; or, in other embodiments, the relevant parameters corresponding to each parameter other than the last parameter on the main diagonal of the candidate matrix can be configured as the target parameters to form a corresponding basic matrix, wherein the relevant parameters and the corresponding parameters on the main diagonal belong to the same row, and the column where the relevant parameters are located belongs to the column after the column where the corresponding parameters on the main diagonal are located.
[0098] It can be understood that in the above step b2, considering that different packet loss situations are dealt with, different target code tables are used to construct sub-rules, and therefore, the specific methods for implementing step b2 may be different.
[0099] For example, in a first alternative implementation, the above step b2 may include:
[0100] First, the magnitude relationship between the first redundancy parameter and the second redundancy parameter may be determined, for example, determining whether the first redundancy parameter is greater than the second redundancy parameter;
[0101] Secondly, when the first redundant parameter is equal to the second redundant parameter, the basic matrix may be determined as the corresponding target code table;
[0102] Then, when the first redundancy parameter is greater than the second redundancy parameter, the column vector of the basic matrix can be expanded based on the first code table construction indication information, the second code table construction indication information and the fourth code table construction indication information in the code table construction priority information to form a corresponding target code table, wherein the number of expanded column vectors is equal to the difference between the first redundancy parameter and the second redundancy parameter, so that the number of column vectors in the target code table is equal to the first redundancy parameter; in addition, it should be noted that for the expansion of the basic matrix with random packet loss, the order of expansion does not affect the translatability probability, because the packet loss is not restricted by the order, that is, for random packet loss, expansion can be performed at any position, for example, in a specific application scenario, the column vector that can be expanded can be located after the column vector in the basic matrix.
[0103] For another example, in a second alternative implementation, the above step b2 may include:
[0104] First, the magnitude relationship between the first redundancy parameter and the second redundancy parameter may be determined, for example, determining whether the first redundancy parameter is greater than the second redundancy parameter;
[0105] Secondly, when the first redundant parameter is equal to the second redundant parameter, the basic matrix may be determined as the corresponding target code table;
[0106] Then, when the first redundancy parameter is greater than the second redundancy parameter, the basic matrix may be forwardly expanded by column vectors based on the first code table construction indication information, the second code table construction indication information and the fourth code table construction indication information in the code table construction priority information to form a corresponding target code table, wherein the number of extended column vectors is equal to the difference between the first redundancy parameter and the second redundancy parameter, so that the number of column vectors in the target code table is equal to the first redundancy parameter, and the extended column vector is located before the first column vector in the basic matrix; it should be noted that, for burst packet loss, the order of the column vectors of the code table has an impact on the translatability of the burst packet loss, but since the newly added column vectors by the forward expansion do not affect the inherent solvability of the original column vectors, in order to ensure the reliability of the target code table, the basic matrix may be forwardly expanded by column vectors.
[0107] It can be understood that, in order to facilitate the understanding of the above steps, in the embodiments of the present application, examples are given for the above parameters and application situations, as shown below.
[0108] In one example, for the case of r=2, the code table can be a 2×k matrix. When constructing the code table, consider that the code table has 2^r_1=3 different column vectors (10, 01, 11), select k column vectors column by column and put them into an r×k code table. When k=3n, the three column vectors are taken n times each. When k=3n+1, the column vector (10, 01) is taken n times each, and (11) is taken n+1 times. When k=3n+2, the column vector (10, 11) is taken n+1 times each, and (01) is taken n times. Specific examples are shown in the following table:
[0109]
[0110]
[0111] In addition, for the priority of column vectors:
[0112] When r = 2, the probability of successful decoding of a double 1 column (such as "1 1") is greater than the probability of successful decoding of a single 1 column (such as "1 0" or "0 1");
[0113] When 3<=r<=5, the decoding success probability of double columns>the decoding success probability of triple columns>the decoding success probability of single columns>the decoding success probability of quadruple columns)>the decoding success probability of quintuple columns;
[0114] When 6<=r, the decoding success probability of three columns>the decoding success probability of two columns>the decoding success probability of one column>the decoding success probability of four columns)>the decoding success probability of five columns>the decoding success probability of six columns….
[0115] In addition, it is necessary to explain the basic matrix for random packet loss:
[0116] When 3<=r<=5, the first and last elements of the first column vector are set to 1 (double 1 columns), and the subsequent column vectors are sequentially circularly shifted downward from the previous column vector until they are about to repeat with the first column vector. When 6<=r<8, the first element and the last two elements of the first column vector are set to 1 (triple 1 columns), and the subsequent column vectors are sequentially circularly shifted downward from the previous column vector until they are about to repeat with the first column vector. The specific basic matrix example is shown in the following table:
[0117]
[0118]
[0119] It is also necessary to explain the basic matrix for random packet loss:
[0120] When r is greater than or equal to 6, if r is an even number, the basic matrix can be composed of four special square matrices of size r / 2*r / 2, namely, the upper left square matrix A, the upper right square matrix B, the lower left square matrix C, and the lower right square matrix D, where the construction rule of the A matrix is the same as the construction rule corresponding to 3<=r<=5 mentioned above, the B matrix and the C matrix are both unit matrices of order r / 2, and the D matrix is the result of the A matrix being cyclically shifted downward once in units of row vectors. For example, the basic matrix with k=8 and r=8 is shown in the following table (one table cell corresponds to one special square matrix):
[0121]
[0122] When r is greater than or equal to 6, if r is an odd number, a triple-1 row vector and a triple-1 column vector of the maximum value are respectively expanded on the basic matrix corresponding to r-1. For example, the basic matrix of k=9, r=9 is shown in the following table (the last row and the last column belong to the expansion):
[0123]
[0124]
[0125] In addition, it should be noted that when r / 2 is greater than or equal to 6, the corresponding special matrix does not need to be further split into 4 smaller matrices. Matrix A can be formed based on three 1-column column vectors, matrix B and matrix C can be unit matrices of corresponding sizes, and matrix D is the result of cyclically shifting matrix A downward once in units of row vectors.
[0126] In addition, the following points need to be explained about the extension of the basic matrix for random packet loss:
[0127] First, for the case where r is equal to 3 and k is greater than or equal to 3 and less than or equal to 7, the column vector can be expanded at the end of the basic matrix, as shown in the following table:
[0128]
[0129]
[0130] Secondly, for the case where r is equal to 6 and k is greater than or equal to 6 and less than or equal to 8, the column vector can be expanded at the end of the basic matrix, as shown in the following table:
[0131]
[0132] In addition, it is necessary to explain the basic matrix and corresponding extensions for burst packet loss:
[0133] First, for the case where r is equal to 3 and k is greater than or equal to 3 and less than or equal to 7, the column vector can be expanded at the front of the basic matrix, as shown in the following table:
[0134]
[0135]
[0136] Secondly, for the case where r is equal to 6 and k is greater than or equal to 6 and less than or equal to 8, the column vector can be expanded at the front of the basic matrix, as shown in the following table:
[0137]
[0138]
[0139] In addition, for the case of random packet loss, it has been verified that when k = 5 to 32, r = 2, p = 0.05, 0.1, 0.2, Figure 3As shown, the scheme provided by the present application has a higher probability of successful decoding than the conventional technical scheme. For example, when k=20, r=2, and p=0.1, the probability of successful decoding increases from 0.486 to 0.535. When k=5-32, r=3, and p=0.05, 0.1, and 0.2, Figure 4 As shown, the scheme provided by the present application also has a higher probability of successful decoding than the conventional technical scheme. For example, when k=28, r=3, and p=0.1, the probability of successful decoding increases from 0.4378 to 0.480. When k=13-32, r=4, and p=0.05, 0.1, and 0.2, Figure 5 As shown, the solution provided by the present application also has a higher probability of successful decoding than the conventional technical solution. In the case of k = 13 to 32, r = 5, p = 0.05, 0.1, 0.2, as Figure 6 As shown, the solution provided by the present application also has a higher probability of successful decoding than the conventional technical solution. In the case of k = 13 to 32, r = 6, p = 0.05, 0.1, 0.2, as Figure 7 As shown, the solution provided by the present application also has a higher probability of successful decoding compared to conventional technical solutions.
[0140] In addition, for the case of burst packet loss, it has been verified that when k = 5 to 32, r = 2, p = 0.05, 0.1, 0.2, Figure 8 As shown, the scheme provided by the present application has a higher probability of successful decoding than the conventional technical scheme. For example, when k=28, r=2, and p=0.05, the probability of successful decoding increases from 0.687 to 0.732. When k=5-32, r=3, and p=0.05, 0.1, and 0.2, Fig. 9 As shown, the scheme provided by the present application has a higher probability of successful decoding than the conventional technical scheme. For example, when k=24, r=3, and p=0.05, the probability of successful decoding increases from 0.801 to 0.874. When k=13-32, r=4, and p=0.05, 0.1, and 0.2, Fig.10 As shown, the solution provided by the present application also has a higher probability of successful decoding than the conventional technical solution. In the case of k = 13 to 32, r = 5, p = 0.05, 0.1, 0.2, as Fig.11 As shown, the solution provided by the present application also has a higher probability of successful decoding than the conventional technical solution. In the case of k = 13 to 32, r = 6, p = 0.05, 0.1, 0.2, as Fig.12 As shown, the solution provided by the present application also has a higher probability of successful decoding compared to conventional technical solutions.
[0141] In the above content, "p" refers to the probability that the number of packet losses does not exceed r. Successful decoding probability = probability that the number of packet losses does not exceed r - probability that the number of packet losses exceeds r and cannot be decoded.
[0142] In addition, Figure 3-Figure 12 In the above, the source code table refers to the conventional technical solution, the improved code table refers to the solution provided by the present application, and the number of source packets refers to the first redundant parameter, that is, the number of original streaming media data packets.
[0143] Combination Fig.13 The embodiment of the present application also provides a streaming media data processing device applicable to the above electronic device. The streaming media data processing device may include a redundant parameter acquisition module, a target code table construction module and a streaming media data processing module.
[0144] The redundant parameter acquisition module is used to obtain a first redundant parameter and a second redundant parameter, wherein the first redundant parameter is used to reflect the number of original streaming media data packets, and the second redundant parameter is used to reflect the number of redundant data packets corresponding to the original streaming media data packets. Figure 2 As shown in step S110, the relevant contents of the redundant parameter obtaining module can refer to the above description of step S110.
[0145] The target code table construction module is used to construct a corresponding target code table based on the first redundant parameter, the second redundant parameter and a predetermined target code table construction rule. In the embodiment of the present application, the target code table construction module can be used to execute Figure 2 As shown in step S120, the relevant contents of the target code table construction module can refer to the above description of step S120.
[0146] The streaming media data processing module is used to perform redundancy configuration on the original streaming media data packet based on the target code table to form a redundant data packet corresponding to the original streaming media data packet, and / or, based on the target code table and the redundant data packet, to recover the lost original streaming media data packet. Figure 2 As shown in step S130, the relevant contents of the streaming media data processing module can refer to the above description of step S130.
[0147] In the embodiment of the present application, corresponding to the above-mentioned streaming media data processing method applied to the electronic device, a computer-readable storage medium is also provided, in which a computer program is stored, and when the computer program is run, each step of the streaming media data processing method is executed. Among them, each step executed when the aforementioned computer program is run will not be described one by one here, and reference can be made to the above explanation of the streaming media data processing method.
[0148] In summary, the streaming media data processing method, electronic device and storage medium provided by the present application can firstly obtain a first redundant parameter and a second redundant parameter, wherein the first redundant parameter is used to reflect the number of original streaming media data packets, and the second redundant parameter is used to reflect the number of redundant data packets corresponding to the original streaming media data packets; secondly, a corresponding target code table can be constructed based on the first redundant parameter, the second redundant parameter and a predetermined target code table construction rule; then, the original streaming media data packets can be redundantly configured based on the target code table to form redundant data packets corresponding to the original streaming media data packets, and / or, based on the target code table and the redundant data packets, the lost original streaming media data packets can be restored. Based on the above content, since there is no need to generate and store the code table in advance, only the corresponding target code table construction rule needs to be configured, so that the consumption of storage resources can be reduced, thereby improving the problem of resource waste existing in the existing streaming media data processing technology.
[0149] In several embodiments provided in the embodiments of the present application, it should be understood that the disclosed apparatus and method can also be implemented in other ways. The apparatus and method embodiments described above are merely schematic, for example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the apparatus, method and computer program product according to the multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, a program segment or a part of a code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or the flowchart, and the combination of boxes in the block diagram and / or the flowchart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.
[0150] In addition, the functional modules in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
[0151] If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, an electronic device, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a disk or an optical disk. It should be noted that, in this article, the term "include", "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements that are not explicitly listed, or also includes elements inherent to such a process, method, article or device. Without more constraints, an element defined by the phrase "comprising a..." does not exclude the existence of other identical elements in the process, method, article or apparatus comprising the element.
[0152] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A streaming media data processing method, characterized in that: include: Obtaining a first redundancy parameter and a second redundancy parameter, wherein the first redundancy parameter is used to reflect the number of original streaming media data packets, and the second redundancy parameter is used to reflect the number of redundant data packets corresponding to the original streaming media data packets; Based on the first redundant parameter, the second redundant parameter and a predetermined target code table construction rule, a corresponding target code table is constructed, including: based on a predetermined target packet loss situation, in a predetermined target code table construction rule, a corresponding target code table construction sub-rule is determined, wherein the target packet loss situation includes random packet loss or burst packet loss, and when the target packet loss situation belongs to random packet loss, the first code table construction sub-rule in the target code table construction rule is determined as the corresponding target code table construction sub-rule, and when the target packet loss situation belongs to burst packet loss, the second code table construction sub-rule in the target code table construction rule is determined as the corresponding target code table construction sub-rule, and at least part of the rule content between the first code table construction sub-rule and the second code table construction sub-rule is different; Based on the first redundant parameter, the second redundant parameter and the target code table construction sub-rule, a corresponding target code table is constructed, including: obtaining pre-configured code table construction priority information, wherein the code table construction priority information includes multiple code table construction indication information with different priorities, and the multiple code table construction indication information includes the first code table construction indication information, at least one of the second code table construction indication information, the third code table construction indication information and the fourth code table construction indication information, the first code table construction indication information is used to indicate that the target code table is constructed along the direction with the least number of identical column vectors, the second code table construction indication information is used to indicate the priority of multiple types of column vectors used in the process of constructing the target code table, the third code table construction indication information is used to indicate that the target code table is constructed along the direction with the smallest difference between the number of original streaming media data packets corresponding to each redundant data packet, the fourth code table construction indication information is used to indicate that the target code table is constructed along the direction with the largest value represented by the adopted column vector, the multiple types of column vectors refer to column vectors including different numbers of target parameters, in the target code table, the column vector corresponds to the original streaming media data packet, the row vector corresponds to the redundant data packet, and in the target code table, the target parameter is used to indicate that there is a corresponding relationship between the original streaming media data packet in the column and the redundant data packet in the row; constructing a corresponding target code table based on the code table construction priority information, the first redundant parameter, the second redundant parameter and the target code table construction sub-rule; Based on the target code table, the original streaming media data packet is redundantly configured to form a redundant data packet corresponding to the original streaming media data packet, and / or, based on the target code table and the redundant data packet, the lost original streaming media data packet is restored.
2. The streaming media data processing method according to claim 1, characterized in that: The step of constructing a corresponding target code table based on the code table construction priority information, the first redundant parameter, the second redundant parameter and the target code table construction sub-rule comprises: Based on the target code table construction sub-rule, the second redundancy parameter and at least part of the code table construction indication information in the code table construction priority information, a corresponding basic matrix is constructed, wherein the number of rows and the number of columns of the basic matrix are both equal to the second redundancy parameter; Based on the first redundant parameter, the basic matrix and at least part of the code table construction indication information in the code table construction priority information, a corresponding target code table is constructed, wherein the number of rows in the target code table is equal to the number of rows of the basic matrix, the number of columns in the target code table is greater than or equal to the number of columns of the basic matrix, and the number of columns in the target code table is equal to the first redundant parameter.
3. The method for processing streaming media data according to claim 2, characterized in that: The step of constructing a corresponding basic matrix based on the target code table construction sub-rule, the second redundant parameter and at least part of the code table construction indication information in the code table construction priority information comprises: When the target code table construction sub-rule belongs to the first code table construction sub-rule, based on the second redundancy parameter and the second code table construction indication information in the code table construction priority information, determining a column vector of a required target category, wherein when the second redundancy parameter is greater than or equal to 3 and less than or equal to 5, the number of target parameters included in the column vector of the target category is equal to 2, and when the second redundancy parameter is greater than or equal to 6 and less than or equal to 8, the number of target parameters included in the column vector of the target category is equal to 3; When the number of target parameters included in the column vector of the target type is equal to 2, the first parameter and the last parameter of the first column vector are configured as the target parameters, and the other parameters are configured as values other than the target parameters to form a first column vector of the basic matrix, and the parameters in the first column vector are cyclically shifted in sequence to form other column vectors of the basic matrix; When the number of target parameters included in the column vector of the target type is equal to 3, the first parameter, the second to last parameter and the last parameter of the first column vector are configured as the target parameters, and the other parameters are configured as values other than the target parameters to form the first column vector of the basic matrix, and the parameters in the first column vector are circularly shifted in turn to form other column vectors of the basic matrix, wherein each circular shift process is performed to form a column vector, so that the number of target parameters in each formed column vector is the same to meet the third code table construction indication information.
4. The method for processing streaming media data according to claim 3, characterized in that: The step of constructing a corresponding target code table based on the first redundancy parameter, the basic matrix and at least part of the code table construction indication information in the code table construction priority information comprises: Determining a magnitude relationship between the first redundancy parameter and the second redundancy parameter; When the first redundant parameter is equal to the second redundant parameter, determining the basic matrix as a corresponding target code table; When the first redundancy parameter is greater than the second redundancy parameter, based on the first code table construction indication information, the second code table construction indication information and the fourth code table construction indication information in the code table construction priority information, the column vector of the basic matrix is expanded to form a corresponding target code table, wherein the number of expanded column vectors is equal to the difference between the first redundancy parameter and the second redundancy parameter, so that the number of column vectors in the target code table is equal to the first redundancy parameter.
5. The method for processing streaming media data according to claim 2, characterized in that: The step of constructing a corresponding basic matrix based on the target code table construction sub-rule, the second redundant parameter and at least part of the code table construction indication information in the code table construction priority information comprises: When the target code table construction sub-rule belongs to the second code table construction sub-rule, a candidate matrix is determined based on the second redundant parameter and at least part of the code table construction indication information in the code table construction priority information, wherein in the candidate matrix, the number of row vectors and the number of column vectors are both equal to the second redundant parameter, and the parameters on the main diagonal are all the target parameters, and the parameters at other positions are all parameters other than the target parameters; The relevant parameters corresponding to each parameter other than the first parameter on the main diagonal of the candidate matrix are respectively configured as the target parameters to form a corresponding basic matrix, wherein the relevant parameters and the corresponding parameters on the main diagonal belong to the same column, and the row where the relevant parameters are located belongs to the previous row where the corresponding parameters on the main diagonal are located.
6. The method for processing streaming media data according to claim 5, characterized in that: The step of constructing a corresponding target code table based on the first redundancy parameter, the basic matrix and at least part of the code table construction indication information in the code table construction priority information comprises: Determining a magnitude relationship between the first redundancy parameter and the second redundancy parameter; When the first redundant parameter is equal to the second redundant parameter, determining the basic matrix as a corresponding target code table; When the first redundancy parameter is greater than the second redundancy parameter, the column vectors of the basic matrix are forward expanded based on the first code table construction indication information, the second code table construction indication information and the fourth code table construction indication information in the code table construction priority information to form a corresponding target code table, wherein the number of extended column vectors is equal to the difference between the first redundancy parameter and the second redundancy parameter, so that the number of column vectors in the target code table is equal to the first redundancy parameter, and the extended column vector is located before the first column vector in the basic matrix.
7. An electronic device, characterized in that: include: Memory for storing computer programs; A processor connected to the memory is used to execute the computer program stored in the memory to implement the streaming media data processing method described in any one of claims 1-6.
8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is run, the streaming media data processing method according to any one of claims 1 to 6 is executed.
Citation Information
Patent Citations
Packet Processing Method and Apparatus, and Chip
US20220190956A1