An audio and video data transmission method based on an ARM architecture cloud server

By combining texture, gradient, and residual energy features on an ARM architecture cloud server to determine the optimal segmentation mode, selecting a differential transform kernel, and generating differential service code points, the problems of insufficient hardware adaptation and poor transmission reliability are solved, improving video encoding efficiency and network transmission stability, and enhancing user experience.

CN121217918BActive Publication Date: 2026-03-17ZHONGNAN INFORMATION TECH (SHENZHEN) CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511756708.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-27
Publication Date
2026-03-17
Estimated Expiration
2045-11-27

AI Technical Summary

Technical Problem

Existing audio and video processing solutions suffer from insufficient hardware compatibility, low processing efficiency, and poor transmission reliability on ARM architecture cloud servers. In particular, they fail to fully integrate the characteristics of the ARM architecture and the features of the video content in video encoding and network transmission, resulting in low utilization of hardware resources and unreliable network transmission.

Method used

By acquiring the texture complexity, gradient information, and inter-frame prediction residual energy of the coding unit, the optimal segmentation mode is determined. Combined with the processing efficiency of the ARM NEON instruction set, a differential transform kernel is selected to perform transform operations, generating differential service code points to distinguish data packets by priority, thereby achieving differential service quality assurance for network transmission.

Benefits of technology

It improves the compression performance of video encoding and the stability of network transmission, enhances the user experience, and improves the smoothness and stability of video playback by optimizing encoding decisions and network service quality control and making full use of the parallel computing capabilities of the ARM architecture.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121217918B_ABST
    Figure CN121217918B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of data transmission, and particularly relates to a cloud server audio and video data transmission method based on an ARM architecture. The method comprises the following steps: determining an optimal segmentation mode based on a weighted combination of texture complexity, gradient information and interframe prediction residual energy of a current coding unit; dividing a sub-block based on the optimal segmentation mode, and determining whether to terminate the division according to a rate-distortion cost and a processing efficiency score of an ARM NEON instruction set; performing a bitwise exclusive OR operation on an ARM core physical identifier and a unit space position index to dynamically select an asymmetric integer transform core; generating a corresponding differentiated service code point according to a video frame type or content importance of current data, and setting the differentiated service code point into a packet header of a network data packet, so as to provide differentiated service quality guarantee in network transmission. The application solves the technical problems of insufficient hardware adaptation, low processing efficiency and poor transmission reliability in the prior art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of data transmission technology, specifically relating to a method for transmitting audio and video data on a cloud server based on ARM architecture. Background Technology

[0002] With the explosive growth of internet video applications such as high-definition video live streaming, remote video conferencing, cloud gaming, and virtual reality, audio and video data are characterized by massive generation, real-time transmission, and high-quality requirements, posing a dual challenge to the audio and video processing capabilities of cloud servers: on the one hand, they need to meet high compression efficiency to reduce storage and bandwidth costs, and on the other hand, they need to ensure the smoothness of real-time encoding and transmission to avoid problems such as screen stuttering and glitches caused by processing delays or network packet loss.

[0003] As the core infrastructure for audio and video processing, the processor architecture of cloud servers directly impacts service performance and operating costs. Traditional cloud data centers largely rely on x86 architecture processors, but this architecture suffers from limitations such as high power consumption and low energy efficiency in high-density computing scenarios. In recent years, ARM-based servers, with their advantages of high core density, low power consumption, and excellent energy efficiency, have gradually become the preferred platform for computationally intensive tasks such as video encoding. Especially when processing multiple audio and video streams in large-scale parallel processing, the hardware characteristics of the ARM architecture are better suited to the requirements of low power consumption and high throughput, providing a new direction for reducing cloud service operating costs and improving equipment utilization.

[0004] To achieve high compression efficiency, modern video coding standards generally adopt a block-based hybrid coding framework, utilizing complex block partitioning structures combining quadtrees, binary trees, and ternary trees, multi-level transform unit partitioning, intra / inter-frame prediction, transform representation, and entropy coding. However, these techniques still have corresponding shortcomings in practical applications, especially on ARM architecture platforms. At the encoding end, it is necessary to traverse and search massive pattern combinations and perform rate-distortion optimization. Existing encoder optimization schemes are mostly general-purpose optimizations, failing to fully leverage the characteristics of the ARM architecture, resulting in low hardware resource utilization. Furthermore, in the decision-making process for coding unit partitioning, traditional methods based on complete rate-distortion optimization have high computational overhead and struggle to achieve an optimal balance between varied video content and complex partitioning patterns. During transform unit partitioning, the decision-making basis is often limited to rate-distortion cost, ignoring the differences in execution efficiency of transforms of different sizes on specific hardware platforms, potentially selecting a theoretically optimal but practically slow partitioning scheme. Furthermore, traditional encoders often employ fixed integer discrete cosine transform (DCT) cores, failing to consider the parallel processing requirements of multi-core ARM processors and the diversity of video signals. They cannot improve decorrelation efficiency or enhance load balancing in parallel processing by selecting differentiated transform cores. After the encoder generates the bitstream, network transmission is typically handled by the transport layer. When network congestion occurs, routers cannot distinguish data packet priorities, potentially leading to the loss of critical video frame packets, resulting in stuttering or screen tearing and negatively impacting user experience.

[0005] It is evident that existing audio and video processing solutions suffer from insufficient hardware compatibility, low processing efficiency, and poor transmission reliability on ARM architecture cloud servers. There is an urgent need for an integrated optimization solution that combines ARM hardware characteristics, video content features, and network transmission requirements. Summary of the Invention

[0006] Therefore, the purpose of this invention is to propose a cloud server audio and video data transmission method based on ARM architecture to solve the technical problems of insufficient hardware adaptation, low processing efficiency and poor transmission reliability in the prior art.

[0007] To address the aforementioned problems, the technical solution for the cloud server audio and video data transmission method based on ARM architecture proposed in this invention is as follows:

[0008] The method for transmitting audio and video data on a cloud server based on ARM architecture includes the following steps:

[0009] The current coding unit is obtained and its texture complexity, gradient information and inter-frame prediction residual energy are calculated. Based on the weighted combination of these three features, the optimal segmentation mode is determined from the segmentation mode set containing quadtrees, binary trees and ternary trees.

[0010] The segmented sub-blocks are divided into transform units based on the optimal segmentation mode. During the segmentation process, the rate-distortion cost and the processing efficiency score of the potential transform units are calculated. The product of the rate-distortion cost and the processing efficiency score is compared with a dynamic threshold adjusted according to the representation parameters and local motion complexity of the current coding unit to determine whether to terminate the segmentation.

[0011] The transformed units are transformed and represented after being divided. The physical identifier of the ARM processor core and the spatial position index of the transformed unit in the current frame are XORed to obtain the transformed core selection index. Based on the transformed core selection index, one of the multiple predefined asymmetric integer transformed cores is selected, the transformed unit is transformed, and the transformed coefficients are represented using the representation parameters determined for the current coding unit.

[0012] The represented coefficients are entropy encoded, and the encoded data is encapsulated into network data packets. Differential service code points are generated according to the video frame type or content importance of the current data, and the differential service code points are set in the header of the network data packets to provide differential service quality assurance during network transmission.

[0013] Furthermore, the method for determining the optimal segmentation pattern is as follows:

[0014] The variance of the luminance component pixel values ​​of the current coding unit is calculated as the texture complexity;

[0015] Apply the 3×3 Sobel operator to the luminance component to calculate the sum of gradient magnitudes and use it as gradient information;

[0016] Calculate the sum of absolute differences between the current coding unit and the motion-compensated prediction block corresponding to that coding unit, and use it as the inter-frame prediction residual energy;

[0017] The normalized texture complexity, gradient information, and inter-frame prediction residual energy are multiplied by their respective weights and then summed to obtain the decision value. If the decision value is less than a preset first threshold, a quadtree segmentation is selected; if the decision value is between the preset first threshold and a preset second threshold, a binary tree segmentation is selected; if the decision value is greater than the preset second threshold, a ternary tree segmentation is selected; wherein the second threshold is greater than the first threshold.

[0018] Furthermore, the method for calculating the processing efficiency score is as follows:

[0019] The size factor is determined based on the size of the potential transformation unit; it is determined whether the starting address of the potential transformation unit in memory is 16-byte aligned to determine the corresponding alignment factor; the size factor is multiplied by the alignment factor to obtain the processing efficiency score.

[0020] Furthermore, the dynamic threshold is expressed by the formula Adjustments are needed; in the formula, The adjusted dynamic threshold. The set baseline threshold; To obtain the representation parameters of the current coding unit; For local motion complexity, it calculates the difference between the motion vector of the current coding unit and the motion vectors of the adjacent coding units to its left and above. The norm is obtained by taking the average. and These are the preset weighting coefficients for positive constants.

[0021] Furthermore, the method for obtaining the transformation kernel selection index is as follows:

[0022] The physical number of the ARM processor core where the current thread resides is read through the hardware register;

[0023] The horizontal index is obtained by dividing the horizontal pixel coordinates of the transformation unit in the current frame by the width of the transformation unit, and the vertical index is obtained by dividing the vertical pixel coordinates of the transformation unit in the current frame by the height of the transformation unit. The spatial position index is generated by shifting the horizontal index 16 bits to the left and then performing a bitwise OR operation with the vertical index.

[0024] Perform a bitwise XOR operation between the physical number and the spatial location index, and take the modulo of the result with the predefined total number of transform kernels to obtain the transform kernel selection index.

[0025] Preferably, the hardware register is a multiprocessor affinity register.

[0026] Further, the step of selecting one from a plurality of predefined asymmetric integer transform kernels and performing a transform operation on the transform unit includes:

[0027] A predefined set of 8 asymmetric integer transformation kernels is defined, consisting of transformation kernels of four sizes: 4×4, 8×8, 16×16, and 32×32. Each size contains 2 different transformation kernels, and each transformation kernel does not satisfy the condition that the transpose of the transformation kernel is equal to itself.

[0028] Based on the size of the current transform unit, two corresponding transform kernels are determined from the set, and based on the parity of the transform kernel selection index, one of the two transform kernels is selected to perform the transform.

[0029] Furthermore, the process of entropy encoding the represented coefficients is as follows: the represented coefficients and motion vectors are converted into a binary code stream using context-based adaptive binary arithmetic encoding.

[0030] Furthermore, the process of encapsulating the encoded data into network data packets involves: segmenting and encapsulating the binary code stream into network data packets conforming to the Real-time Transport Protocol (RTP), and placing them below the UDP and IP headers.

[0031] Furthermore, the step of generating corresponding differential service code points based on the video frame type or content importance of the current data includes:

[0032] If the current encoded data belongs to an I-frame, or a P-frame or B-frame containing a pre-marked region of interest, then the generated differential service code point is 46, corresponding to the accelerated forwarding service level.

[0033] If the current encoded data belongs to a P-frame that does not contain a pre-marked region of interest, then the differential service code point is generated as 26, corresponding to the guaranteed forwarding service level;

[0034] If the current encoded data belongs to a B-frame that does not contain a pre-labeled region of interest, then the generated differential service code point is 0, corresponding to the best-effort service level.

[0035] The beneficial effects of this invention are as follows: By combining multiple image features such as texture, gradient, and residual energy to determine the segmentation mode of the coding unit, this invention ensures the accuracy of segmentation and maintains high compression performance. In the transformation unit partitioning, rate-distortion cost is jointly evaluated in conjunction with the processing efficiency of the ARM NEON instruction set, enabling the partitioning decision to fully utilize the parallel computing capabilities of the target platform. By utilizing processor core identifiers and data spatial location information to select the transformation core, the diversity of transformation processing is utilized, enhancing the ability to concentrate video signal energy. Network service quality control is moved forward to the encoding stage. By setting differential service code points for data packets, the encoded output bitstream has priority differentiation capabilities during network transmission, ensuring the transmission quality of critical video data during network congestion, enhancing the stability and smoothness of video playback, and improving the user experience. Attached Figure Description

[0036] Figure 1 This is a flowchart illustrating the steps of the cloud server audio and video data transmission method based on ARM architecture according to the present invention. Detailed Implementation

[0037] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.

[0038] Specific embodiments of the cloud server audio and video data transmission method based on ARM architecture proposed in this invention are as follows:

[0039] like Figure 1 As shown, the cloud server audio and video data transmission method based on ARM architecture includes the following steps:

[0040] S1: Obtain the current coding unit and calculate its texture complexity, gradient information, and inter-frame prediction residual energy. Based on the weighted combination of these three features, determine the optimal segmentation mode from the set of segmentation modes containing quadtrees, binary trees, and ternary trees.

[0041] This step is essentially a fast decision-making algorithm that uses three prior features of the image content to predict which segmentation mode is most suitable, thus significantly reducing the computational complexity of encoding. Traditional encoders need to perform full rate-distortion optimization for all possible segmentation modes for comparison, resulting in huge computational overhead. This step avoids time-consuming traversal searching for all segmentation modes through weighted decision-making, and by combining multiple features, it ensures segmentation accuracy and maintains high compression performance.

[0042] In this embodiment, the method for determining the optimal segmentation mode is as follows:

[0043] The variance of the luminance component pixel values ​​of the current coding unit is calculated as the texture complexity;

[0044] Apply the 3×3 Sobel operator to the luminance component to calculate the sum of gradient magnitudes and use it as gradient information;

[0045] Calculate the sum of absolute differences between the current coding unit and the motion-compensated prediction block corresponding to that coding unit, and use it as the inter-frame prediction residual energy;

[0046] The normalized texture complexity, gradient information, and inter-frame prediction residual energy are multiplied by their respective weights and then summed to obtain the decision value. If the decision value is less than a preset first threshold, a quadtree segmentation is selected; if the decision value is between the preset first threshold and a preset second threshold, a binary tree segmentation is selected; if the decision value is greater than the preset second threshold, a ternary tree segmentation is selected; wherein the second threshold is greater than the first threshold.

[0047] Specifically, for a 16×16 coding unit, the variance of the 256 luminance pixel values ​​of the coding unit is calculated to obtain the texture complexity value. The luminance component of the coding unit is processed using a 3×3 Sobel operator to calculate the gradient magnitudes in the horizontal and vertical directions. The gradient magnitudes of all pixels are then summed to obtain the final gradient information. Motion-compensated prediction blocks refer to the pixel blocks generated during inter-frame prediction in video coding. The system uses motion estimation to find the pixel block most similar to the current coding unit in the already encoded reference frame, and then uses motion information to compensate for or move this found pixel block to its position in the current frame. The sum of absolute differences is a commonly used metric to measure the similarity between two image patches. In this embodiment, its calculation process is as follows: Align the current coding unit and the motion-compensated prediction block. At each identical position, extract the pixel values ​​of the current coding unit and the motion-compensated prediction block at that position, subtract these two pixel values, and then take the absolute value of the result. Sum all the absolute differences calculated at all positions in the current coding unit and the motion-compensated prediction block. The final sum is the sum of absolute differences, which is also the inter-frame prediction residual energy. After normalizing the three values ​​to the range of 0 to 1, multiply them by their corresponding preset weights to obtain a decision value. For example, the calculated texture complexity value is 150.2, with a corresponding weight of 0.4; the gradient information value is 8500, with a corresponding weight of 0.3; and the inter-frame prediction residual energy is 512, with a corresponding weight of 0.3. After normalizing the three values ​​to the range of 0 to 1, the weighted sum yields a decision value of 0.55. The first threshold is 0.4, the second threshold is 0.7, and the comparison shows that 0.55 is between the two thresholds. Therefore, the binary tree splitting mode is selected for this coding unit.

[0048] S2, based on the optimal segmentation mode, divide the segmented sub-blocks into transform units; during the segmentation process, calculate the rate-distortion cost and processing efficiency score of the potential transform unit under the ARM NEON instruction set; compare the product of the rate-distortion cost and the processing efficiency score with a dynamic threshold adjusted according to the representation parameters and local motion complexity of the current coding unit to determine whether to terminate the segmentation.

[0049] This step incorporates hardware platform characteristics into the coding decision, considering not only the quality of compression (rate-distortion cost) but also the speed of computation on ARM (processing efficiency score), thus achieving a balance between compression ratio and hardware execution speed.

[0050] Specifically, the rate-distortion cost is calculated using the formula D + λR, where D is the distortion after the transform representation, R is the number of bits required to encode the corresponding coefficients, and λ is the Lagrange multiplier. This calculation formula is existing technology and will not be elaborated further here. The processing efficiency score is determined by a preset lookup table, which is calibrated based on the processing cycle or data throughput of transform blocks of different sizes under the ARM NEON 128-bit SIMD instruction set. For example, transform sizes that can be processed by 16×16 or 8×8 are assigned a high score close to 1.0, while transforms of 32×32 or sizes other than powers of 2 are assigned a lower score due to the need for multiple instruction operations or data rearrangements.

[0051] In an optional embodiment, the processing efficiency score is calculated as follows: determine the size factor based on the size of the potential transform unit; determine whether the starting address of the potential transform unit in memory is 16-byte aligned to determine the corresponding alignment factor; multiply the size factor by the alignment factor to obtain the processing efficiency score.

[0052] For example, when evaluating a potential 16×16 transform unit, the size factor is set to 0.8 because the transform unit is 16×16. Checking the starting address of this transform unit in memory, assuming it is 0x1000FF80, this address is divisible by 16, thus satisfying the 16-byte alignment condition, and the alignment factor is set to 0.9. Multiplying the size factor 0.8 by the alignment factor 0.9 yields a processing efficiency score of 0.72.

[0053] The base value of the dynamic threshold is related to the representation parameters of the coding unit and the variance of the local motion vector field. High representation parameter values ​​or smooth motion will increase the dynamic threshold, tending to use larger and more computationally efficient transform units, while the opposite will decrease the dynamic threshold to retain more details.

[0054] In this embodiment, the dynamic threshold is expressed by the formula. Adjustments are needed; in the formula, The adjusted dynamic threshold. The set baseline threshold; To obtain the representation parameters of the current coding unit; For local motion complexity, it calculates the difference between the motion vector of the current coding unit and the motion vectors of the adjacent coding units to its left and above. The norm is obtained by taking the average. and These are the preset weighting coefficients for positive constants.

[0055] S3, transform and represent the divided transform units; perform a bitwise XOR operation between the physical identifier of the ARM processor core and the spatial position index of the transform unit in the current frame to obtain the transform core selection index; select one from multiple predefined asymmetric integer transform cores based on the transform core selection index, perform the transform operation on the transform unit, and represent the transformed coefficients using the representation parameters determined for the current coding unit.

[0056] This step avoids the limitation of traditional encoders using fixed transform cores and introduces a dynamic, differentiated transform core selection mechanism. By using the processor core ID and data space location to select different transform cores, the diversity of transform processing can be utilized to enhance the energy concentration capability for different video signal characteristics. At the same time, this differentiated processing also helps to improve the load balancing of multi-core ARM processors during parallel encoding.

[0057] Specifically, the method for obtaining the transformation kernel selection index is as follows:

[0058] The physical number of the ARM processor core where the current thread resides is read through the hardware register;

[0059] The horizontal index is obtained by dividing the horizontal pixel coordinates of the transformation unit in the current frame by the width of the transformation unit, and the vertical index is obtained by dividing the vertical pixel coordinates of the transformation unit in the current frame by the height of the transformation unit. The spatial position index is generated by shifting the horizontal index 16 bits to the left and then performing a bitwise OR operation with the vertical index.

[0060] Perform a bitwise XOR operation between the physical number and the spatial location index, and take the modulo of the result with the predefined total number of transform kernels to obtain the transform kernel selection index.

[0061] Among them, the hardware registers adopt multiprocessor affinity registers. The physical identifier of an ARM processor core is unique for each core in a multi-core system.

[0062] Select one from a plurality of predefined asymmetric integer transform kernels, and perform a transform operation on the transform unit, including:

[0063] A predefined set of 8 asymmetric integer transformation kernels is defined, consisting of transformation kernels of four sizes: 4×4, 8×8, 16×16, and 32×32. Each size contains 2 different transformation kernels, and each transformation kernel does not satisfy the condition that the transpose of the transformation kernel is equal to itself.

[0064] Based on the size of the current transform unit, two corresponding transform kernels are determined from the set, and based on the parity of the transform kernel selection index, one of the two transform kernels is selected to perform the transform.

[0065] The set of asymmetric integer transform kernels includes not only the standard DCT-II transform kernel, but may also include DST-VII and other asymmetric transform kernels generated based on data training. These transform kernels possess different energy concentration characteristics. Energy concentration refers to the ability to concentrate the main information of an image patch onto a few transform coefficients; the stronger the concentration, the easier it is to compress. The inclusion of transform kernels with different energy concentration characteristics in the set of asymmetric integer transform kernels means that the encoder can intelligently select the most suitable tool based on the content of the current image patch to achieve the best compression effect. The representation process uses... The value is calculated to represent the step size, and the transformed coefficient is divided by this step size and then rounded down.

[0066] S4. Entropy encoding is performed on the represented coefficients, and the encoded data is encapsulated into network data packets. Differential service code points are generated according to the video frame type or content importance of the current data, and the differential service code points are set in the header of the network data packets to provide differential service quality assurance during network transmission.

[0067] This step brings network service quality control forward to the encoding stage, labeling the data packets to be transmitted with network priority tags at the encoder level. Specifically, the entropy coding process uses context-based adaptive binary arithmetic coding to convert the represented coefficients and motion vectors into a binary bitstream. This binary bitstream is segmented and encapsulated into network packets conforming to the Real-Time Transport Protocol (RTP), and placed below the UDP and IP headers. When generating the IP header, the value of the Differential Service Code Point (DSCP) is determined based on the type of the NAL unit being processed. For example, for a NAL unit containing I-frame data, the TOS field in the IP header of the corresponding data packet is set to the value representing accelerated forwarding (EF), i.e., 101110; for a network packet containing P-frame encoded data, it is set to the value representing ensured forwarding (AF31), i.e., 011010; and for a network packet containing B-frame encoded data, it is set to the value representing best effort (BE), i.e., 000000. Routers supporting QoS will prioritize dropping B-frame packets when encountering network congestion, ensuring the transmission of I-frames and P-frames.

[0068] In an optional embodiment, the method for generating corresponding differential service code points based on the video frame type or content importance of the current data is as follows:

[0069] If the current encoded data belongs to an I-frame, or a P-frame or B-frame containing a pre-marked region of interest, then the generated differential service code point is 46, corresponding to the accelerated forwarding service level.

[0070] If the current encoded data belongs to a P-frame that does not contain a pre-marked region of interest, then the differential service code point is generated as 26, corresponding to the guaranteed forwarding service level;

[0071] If the current encoded data belongs to a B-frame that does not contain a pre-labeled region of interest, then the generated differential service code point is 0, corresponding to the best-effort service level.

[0072] Specifically, when the encoder processes video data, it tags the generated bitstream data packets with network transmission priority labels. If the currently encoded data block belongs to an I-frame, or if it is located within a P-frame but identified as a face in a video conference, then the differential service code point of the data packet will be set to 46. If the data block belongs to the background area of ​​a P-frame, the code point is set to 26. If the data block comes from a normal background area of ​​a B-frame, then its code point will be set to 0, indicating the lowest priority transmission, and the network device can prioritize processing more important data packets based on this code point.

[0073] While various embodiments of the invention have been shown and described in this specification, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. Many modifications, alterations, and alternatives will occur to those skilled in the art without departing from the spirit and essence of the invention.

Claims

1. A method for audio and video data transmission based on an ARM architecture cloud server, characterized in that, The method comprises the following steps: obtaining a current coding unit and calculating its texture complexity, gradient information and inter-frame prediction residual energy, determining an optimal partition mode from a partition mode set comprising a quad-tree, a binary-tree and a ternary-tree based on a weighted combination of the three features; performing transform unit division on the sub-blocks after partitioning based on the optimal partition mode; during the division, calculating the rate-distortion cost of a potential transform unit and the processing efficiency score under the ARM NEON instruction set; comparing the product of the rate-distortion cost and the processing efficiency score with a dynamic threshold adjusted according to the representation parameters and local motion complexity of the current coding unit to determine whether to terminate the division; transforming and representing the completed transform unit; performing bitwise XOR operation between the physical identifier of the ARM processor core and the spatial position index of the transform unit in the current frame to obtain a transform kernel selection index; selecting one from a plurality of predefined asymmetric integer transform kernels based on the transform kernel selection index, performing transform operation on the transform unit, and representing the transformed coefficients using the representation parameters determined for the current coding unit; performing entropy coding on the represented coefficients, and encapsulating the coded data into a network data packet; generating a corresponding differentiated services code point according to the video frame type or content importance of the current data, and setting the differentiated services code point into the packet header of the network data packet for providing differentiated quality of service guarantee in network transmission. 2.The ARM architecture-based cloud server audio and video data transmission method of claim 1, wherein, The method for determining the optimal partition mode is: calculating the variance of the pixel values of the luminance component of the current coding unit as the texture complexity; applying a 3*3 Sobel operator to the luminance component to calculate the sum of the gradient amplitudes, which is taken as the gradient information; calculating the sum of absolute differences between the current coding unit and the motion compensation prediction block corresponding to the coding unit, which is taken as the inter-frame prediction residual energy; summing the normalized texture complexity, gradient information and inter-frame prediction residual energy after multiplying them by corresponding weights to obtain a decision value, if the decision value is less than a preset first threshold, selecting quad-tree partitioning; if the decision value is between the preset first threshold and a preset second threshold, selecting binary-tree partitioning; if the decision value is greater than the preset second threshold, selecting ternary-tree partitioning; wherein the second threshold is greater than the first threshold. 3.The ARM architecture-based cloud server audio and video data transmission method of claim 1, wherein, The method for calculating the processing efficiency score is: determining a size factor according to the size of the potential transform unit; determining an alignment factor by judging whether the starting address of the potential transform unit in the memory is 16-byte aligned; multiplying the size factor and the alignment factor to obtain the processing efficiency score.

4. The ARM architecture-based cloud server audio and video data transmission method according to claim 1, characterized in that, The dynamic threshold is adjusted by the formula wherein, is the adjusted dynamic threshold, is the set base threshold; is the obtained representation parameter of the current coding unit; is the local motion complexity, which is obtained by calculating the norm of the difference between the motion vector of the current coding unit and the motion vectors of the left and upper adjacent coding units, and taking the average value; and and are preset normal weight coefficients.

5. The ARM architecture-based cloud server audio and video data transmission method according to claim 1, characterized in that, The method for obtaining the transform kernel selection index is: reading the physical number of the ARM processor core where the current thread is located through a hardware register; dividing the horizontal pixel coordinates of the transform unit in the current frame by the width of the transform unit to obtain a horizontal index, and dividing the vertical pixel coordinates of the transform unit in the current frame by the height of the transform unit to obtain a vertical index; generating a spatial position index by left-shifting the horizontal index by 16 bits and then performing bitwise OR operation with the vertical index; The physical number is XORed with the spatial position index bit by bit, and the result is taken modulo the total number of predefined transform cores to obtain a transform core selection index. 6.The ARM architecture-based cloud server audio and video data transmission method of claim 5, wherein, The hardware register is a multi-processor affinity register.

7. The ARM architecture-based cloud server audio and video data transmission method according to claim 5, characterized in that, The transform operation performed on the transform unit from the plurality of predefined asymmetric integer transform cores includes: A set of 8 asymmetric integer transform cores is predefined, the set is composed of four sizes of transform cores, 4x4, 8x8, 16x16 and 32x32, each size contains 2 different transform cores, and each transform core does not satisfy the condition that the transform core transpose matrix is equal to itself; According to the size of the current transform unit, the corresponding two transform cores are determined from the set, and one of the two transform cores is selected for performing transform based on the parity of the transform core selection index. 8.The method of claim 1, wherein, The process of entropy encoding the represented coefficients is: using context-based adaptive binary arithmetic coding to convert the represented coefficients and motion vectors into a binary code stream. 9.The cloud server audio and video data transmission method based on ARM architecture according to claim 8, characterized in that, The process of encapsulating the encoded data into a network data packet is: dividing and encapsulating the binary code stream into a network data packet conforming to the Real-time Transport Protocol (RTP) under the UDP and IP packet header.

10. The ARM architecture based cloud server audio and video data transmission method according to claim 1, characterized in that, The corresponding differentiated service code point is generated according to the video frame type or content importance of the current data, including: If the current encoded data belongs to an I frame, or a P frame or a B frame containing a pre-marked region of interest, the differentiated service code point is generated as 46, corresponding to the expedited forwarding service level; If the current encoded data belongs to a P frame not containing a pre-marked region of interest, the differentiated service code point is generated as 26, corresponding to the assured forwarding service level; If the current encoded data belongs to a B frame not containing a pre-marked region of interest, the differentiated service code point is generated as 0, corresponding to the best effort service level.

Citation Information

Patent Citations

  • Method for dividing neural network video coding units

    CN117939151A

  • ARM (Advanced RISC Machines) and FPGA (Field Programmable Gate Array) collaborative 4K video hard decoding acceleration system and method

    CN120034660A