Method for multi-lane arinc 818 video output based on buffer pointer

CN122994445APending Publication Date: 2026-10-27无锡创信航电子科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611193960.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-07
Publication Date
2026-10-27

AI Technical Summary

Technical Problem

[0006]为了解决现有技术存在的多通道ARINC818视频输出方法通常依据固定调度方式完成各路视频发送,缺乏对多路数据输出过程中的资源竞争和时序变化进行提前分析及动态调整的能力,当多个视频流负载发生变化或输出时序接近时,容易出现存储访问冲突、等待时间增加、链路利用率下降以及各路视频输出时延波动增大等问题,从而影响多通道视频输出的连续性、实时性和整体稳定性的技术问题,本发明提供了一种基于缓冲指针的多通道ARINC818视频输出方法

Benefits of technology

[0010]本发明实施例提供的技术方案带来的有益效果至少包括:

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122994445A_ABST
    Figure CN122994445A_ABST
Patent Text Reader

Abstract

The application provides a multi-channel ARINC818 video output method based on a buffer pointer, relates to the technical field of data transmission, and comprises the following steps: acquiring channel configuration parameters; determining a reference frame sending starting time sequence of each channel; constructing an initial buffer pointer pool, setting a current buffer pointer allocation rule of each channel; constructing a pointer conflict pre-judgment matrix; establishing a current buffer pointer allocation rule exception threshold based on the pointer conflict pre-judgment matrix, determining an optimized current buffer pointer allocation rule; outputting buffer video data based on the optimized current buffer pointer allocation rule; and repeatedly executing the steps of constructing the pointer conflict pre-judgment matrix to outputting the buffer video data until the video stream output of all channels is completed. The method can make the buffer resources always match the real-time output state of each channel, and improve the resource utilization efficiency and timing coordination capability in the multi-channel ARINC818 video output process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data transmission technology, and in particular to a multi-channel ARINC818 video output method based on buffer pointers. Background Technology

[0002] A buffer pointer is an address or index variable used to identify the position and processing status of video data in the storage buffer. When video data is written to Double Data Rate Synchronous Dynamic Random Access Memory (DDR SDRAM), First In First Out (FIFO), or Random Access Memory (RAM), the write pointer typically indicates the next write position; when data is read by the ARINC 818 transmit module, the read pointer indicates the next read position. By comparing the read and write pointers, it can be determined whether the buffer is empty, full, or contains data that can be transmitted. Multi-buffered or circular buffer structures can also achieve "one buffer write, another buffer read" by switching pointers, reducing overwriting, waiting, and screen tearing, and coordinating the difference between the video capture rate and the link transmission rate.

[0003] ARINC 818 is a high-speed digital video transmission standard for avionics systems, primarily used for point-to-point transmission of high-bandwidth, low-latency uncompressed video data. It typically encapsulates video pixels, line and field synchronization information, and auxiliary data in the form of Avionics Digital Video Bus (ADVB) frames and containers, and transmits them via a high-speed serial link. Multi-channel ARINC 818 refers to a video processing device simultaneously receiving, processing, or outputting multiple independent ARINC 818 video streams. Each channel typically has an independent video source, frame buffer, read / write pointers, protocol encapsulation state machine, and transmit interface. The system requires unified scheduling of each channel to ensure continuous output of each video stream according to the specified resolution, frame rate, link speed, and frame timing, reducing contention for memory bandwidth or mutual blocking between channels.

[0004] During multi-channel ARINC 818 video output, multiple high-definition, uncompressed video streams simultaneously consume significant amounts of memory bandwidth, logic resources, and high-speed serial link resources. Improper buffer allocation, read / write pointer switching, or channel scheduling can easily lead to problems such as data overwriting, buffer overflow, output interruption, frame misalignment, image tearing, and inconsistent latency between channels. By optimizing buffer pointer management, arbitration strategies, burst read / write methods, and channel priorities, data throughput and buffer utilization can be improved, end-to-end transmission latency and system resource consumption can be reduced, while ensuring the continuity, synchronization, and determinism of each video output, thereby meeting the stringent requirements of avionics equipment for real-time performance, stability, and reliability.

[0005] However, existing multi-channel ARINC818 video output methods typically rely on fixed scheduling to send each video stream, lacking the ability to analyze and dynamically adjust resource contention and timing changes during multi-channel data output. When the load of multiple video streams changes or their output timings are close, problems such as storage access conflicts, increased waiting time, decreased link utilization, and increased latency fluctuations in each video stream can easily occur, thus affecting the continuity, real-time performance, and overall stability of multi-channel video output. Summary of the Invention

[0006] To address the shortcomings of existing multi-channel ARINC818 video output methods, which typically rely on fixed scheduling to transmit each video stream and lack the ability to proactively analyze and dynamically adjust resource contention and timing changes during multi-channel data output, this invention provides a multi-channel ARINC818 video output method based on buffer pointers. This method addresses the issue that existing methods often rely on fixed scheduling to transmit each video stream, lacking the ability to proactively analyze and dynamically adjust resource contention and timing changes during multi-channel output. Consequently, when the load on multiple video streams changes or their output timings become similar, problems such as storage access conflicts, increased waiting time, decreased link utilization, and increased latency fluctuations in each video stream can easily occur, affecting the continuity, real-time performance, and overall stability of multi-channel video output.

[0007] The technical solutions provided by the embodiments of the present invention are as follows: First aspect This invention provides a method for multi-channel ARINC818 video output based on buffer pointers, comprising: S1: Obtain the configuration parameters of multiple ARINC818 video output channels for the video to be output; S2: Determine the sequence of start times for transmitting the reference frame for each channel; S3: Construct an initial buffer pointer pool based on the transmission start time sequence of the reference frame for each channel, and set the current buffer pointer allocation rules for each channel; S4: Construct a pointer conflict prediction matrix based on the reference frame transmission start time sequence, configuration parameters, and current buffer pointer allocation rules for each channel; S5: Establish an abnormal threshold for the current buffer pointer allocation rule based on the pointer conflict prediction matrix, and determine the optimized current buffer pointer allocation rule based on the abnormal threshold of the current buffer pointer allocation rule; S6: Based on the mapping relationship between buffer pointers and buffers described by the optimized current buffer pointer allocation rules, output the buffer video data; S7: Using the frame period corresponding to each channel as the step value, repeat steps S4 to S6 until the video stream of all channels is output.

[0008] Second aspect This invention provides a multi-channel ARINC818 video output system based on buffer pointers, comprising: processor; A memory storing computer-readable instructions, which, when executed by the processor, implement the multi-channel ARINC818 video output method based on buffer pointers as described in the first aspect.

[0009] Third aspect The present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the multi-channel ARINC818 video output method based on buffer pointers as described in the first aspect.

[0010] The beneficial effects of the technical solutions provided in the embodiments of the present invention include at least the following: In this embodiment of the invention, by acquiring the configuration parameters of each ARINC818 video output channel and establishing an initial buffer pointer pool and current buffer pointer allocation rules in conjunction with the reference frame transmission start time sequence, the buffer resource allocation of each channel has a unified timing basis. Furthermore, by combining the configuration parameters, the reference frame transmission start time sequence, and the current buffer pointer allocation rules, a pointer conflict prediction matrix is ​​constructed to pre-analyze potential resource contention that may occur during subsequent output. Then, based on the pointer conflict prediction matrix, an abnormal threshold for the current buffer pointer allocation rules is established to optimize allocation relationships with abnormal risks, forming a more reasonable mapping relationship between buffer pointers and buffers. This allows the video output stage to avoid potential conflicts, reduce waiting and resource contention, and continuously update the prediction results and allocation rules according to the frame period of each channel during video output, ensuring that buffer resources always match the real-time output status of each channel. This improves resource utilization efficiency and timing coordination capabilities during multi-channel ARINC818 video output, reduces video data output latency fluctuations and the probability of buffer access conflicts, and guarantees the continuity, real-time performance, and overall stability of the video stream output of each channel. Attached Figure Description

[0011] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 A flowchart illustrating a multi-channel ARINC818 video output method based on buffer pointers provided in an embodiment of the present invention; Figure 2 An output delay fluctuation comparison curve is provided for an embodiment of the present invention; Figure 3 This is a schematic diagram of a multi-channel ARINC818 video output system based on a buffer pointer, provided as an embodiment of the present invention. Detailed Implementation

[0013] The technical solution of the present invention will now be described with reference to the accompanying drawings.

[0014] In embodiments of the present invention, words such as "exemplarily," "for example," etc., are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" in the present invention should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present the concept in a concrete manner. Furthermore, in embodiments of the present invention, the meaning expressed by "and / or" can be both, or either one.

[0015] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.

[0016] Reference manual attached Figure 1 The diagram shows a flowchart of a multi-channel ARINC818 video output method based on buffer pointers provided by an embodiment of the present invention.

[0017] This invention provides a method for multi-channel ARINC818 video output based on buffer pointers. This method can be implemented by a multi-channel ARINC818 video output device based on buffer pointers, which can be a terminal or a server. The processing flow of the multi-channel ARINC818 video output method based on buffer pointers may include the following steps: S1: Obtain the configuration parameters of multiple ARINC818 video output channels for the video to be output.

[0018] The configuration parameters refer to the basic data used to describe the transmission timing and occupancy characteristics of each ARINC818 video output channel.

[0019] In one possible implementation, each ARINC818 video output channel is used to output one independent video stream. Configuration parameters include the frame period for each channel, the duration of a single frame transmission for each channel, and the initial phase offset for each channel.

[0020] The initial phase offset refers to the offset of the start time of the first frame transmission of the channel relative to the zero point of time.

[0021] Here, "channel" refers to the ARINC818 video output channel. In this process, by acquiring the configuration parameters of multiple ARINC818 video output channels and using frame period, single-frame transmission duration, and initial phase offset as the basic data describing the transmission timing and characteristics of each channel, the transmission patterns and resource usage of each video stream on the timeline can be comprehensively reflected. Since the transmission rhythm, resource usage duration, and initial transmission position of each channel are fully described, the potential timing correlations and resource contention relationships between different channels can be accurately analyzed. This provides a reliable basis for subsequently generating the reference frame transmission start time sequence, constructing the buffer pointer pool, and predicting buffer resource conflicts, thereby improving the accuracy and timing coordination capabilities of multi-channel video output scheduling.

[0022] S2: Determine the sequence of start times for transmitting the reference frame for each channel.

[0023] The reference frame transmission start time sequence refers to a set of frame transmission start times arranged chronologically for each channel after the initial transmission timing of each ARINC818 video output channel has been uniformly optimized.

[0024] In one possible implementation, S2 specifically includes: S201: Calculate the least common multiple of the frame periods of all channels and use the result as the superperiod.

[0025] In one possible implementation, the super-period is a unified time window that fully accommodates the frame periods of each channel.

[0026] Among them, supercycle The formula is in the form of ,in, The least common multiple operator is used to represent the least common multiple operator. Indicates channel frame period, N represents the total number of channels.

[0027] It should be noted that this method establishes a unified super-period by calculating the least common multiple of the frame periods of each channel. This ensures that the periodic transmission patterns of each channel can be fully unfolded within the same time window and return to a repeatable timing state at the end of the super-period. Therefore, it avoids overlooking cross-period conflicts by only observing a local time range. Using the super-period as a unified boundary for subsequent conflict evaluation and phase optimization can fully cover possible transmission overlap combinations between channels, making the calculation results of the continuous conflict cost function more globally representative. At the same time, it facilitates the periodic reuse of the optimized transmission plan, thereby improving the completeness of multi-channel timing analysis, the stability of scheduling results, and repeatability.

[0028] S202: Construct a continuous conflict cost function to evaluate the global temporal conflict level.

[0029] The consecutive collision cost function describes the severity of overlap between frame transmission events of different channels on the time axis in a multi-channel video output system. If multiple channels start transmitting data frames simultaneously, they will compete for output resources, causing transmission obstruction. This function is used to quantitatively measure the strength of this simultaneity. Specifically, a phase adjustment amount is introduced for each channel. And construct a continuous conflict cost function to evaluate the global temporal conflict level. The continuous conflict cost function is defined as follows: in the supercycle Within the time range, the cosine term of each channel is calculated at the frame rate. We perform a weighted summation with weights, and then integrate the square of the weighted sum. The independent variable of the cosine term is determined by time. Initial phase offset of the i-th channel The frame period of the i-th channel Phase adjustment amount of the i-th channel A joint decision.

[0030] The expression for the continuous conflict cost function is: .

[0031] in, This is the phase adjustment vector, with the subscript T indicating transpose. This represents the phase adjustment amount of the i-th channel, with weights... This reflects the sensitivity of each channel's frame rate to collisions. This represents the continuous collision cost function value of the ARINC818 video output channel under the phase adjustment vector.

[0032] Understandably, this continuous conflict cost function represents the periodic frame transmission behavior of each channel as a cosine term with initial phase offset and phase adjustment, weighted according to frame rate. This allows channels that transmit more frequently and are more sensitive to resource contention to have a higher impact on the evaluation results. Subsequently, integrating the square of the weighted sum of each channel over the superposition period simultaneously reflects both the conflict intensity and its duration, preventing positive and negative terms from canceling each other out. Therefore, the originally scattered and discrete transmission overlap relationship can be transformed into a continuous and optimizable global quantitative indicator. Calculating the phase adjustment with the goal of minimizing this function value can stagger the transmission events of each channel in the overall time domain, reducing resource contention caused by simultaneous local transmissions. This provides a reasonable basis for generating a consistent baseline transmission timing and improves the stability and resource utilization efficiency of multi-channel ARINC818 video output.

[0033] S203: Determine the optimal phase adjustment amount for each channel based on the continuous conflict cost function.

[0034] Let the continuous conflict cost function The partial derivatives for each phase adjustment are zero, deriving a set of values ​​for the intermediate variables. , The system of linear equations. The coefficient matrix of this system of linear equations can be reduced to a non-singular Vandermonde matrix. The determinant of the non-singular Vandermonde matrix is ​​non-zero. Therefore, the system of linear equations has a unique solution, which allows us to uniquely determine the optimal phase adjustment for each channel that minimizes global time conflict.

[0035] The linear equations are derived by taking the partial derivative of the continuous conflict cost function with respect to the phase adjustment and setting it to zero, combined with trigonometric identities and time-sampling discretization, and are a set of equations concerning intermediate variables. , The linear equation. Its specific form is: selecting within the supercycle... Each characteristic moment For the m-th characteristic time Established:

[0036] in, Respectively represent and Related intermediate variables.

[0037] United These equations constitute a system of linear equations to be solved.

[0038] Understandably, this process uses the extremum of the continuous conflict cost function as the optimization condition. By taking the partial derivative of the phase adjustment amount and constructing a system of linear equations, the originally complex multi-channel timing coupling optimization problem is transformed into a mathematical problem with a unique solution. This ensures that the optimal phase adjustment amount for each channel is deterministic and stable, avoiding inconsistencies in timing optimization caused by multiple adjustment results. Since the obtained phase adjustment amount can make the continuous conflict cost function reach the global optimum, it can minimize the overlap of frame transmission events on the time axis from an overall perspective. This provides a reliable basis for generating the start time sequence of the reference frame transmission, further reducing resource contention in multi-channel video output and improving the overall transmission timing coordination and system stability.

[0039] S204: Determine the start time of the first frame transmission using the optimal phase adjustment amount, and recursively calculate the start time of the first frame transmission using the frame period within the same channel as the step value to generate a sequence of reference frame transmission start times for each channel that has no overall phase conflict within the super-period.

[0040] The specific process of generating the reference frame transmission start time sequence is as follows: Using the optimal phase adjustment amount According to the relation Calculate the corrected initial phase offset for each channel. Where π represents the mathematical constant pi, and is offset by the corrected initial phase. As the start time of the first frame transmission, in the frame period The step value is recursively calculated to generate a value in the supercycle. This sequence represents the transmission start times of reference frames for each channel without overall phase conflict. The recursive process is as follows: For each channel, the corrected initial phase offset is first used as the transmission start time of the first frame. Then, using the frame period of that channel as a fixed time step, the transmission start times are repeatedly superimposed on the time axis to generate the transmission start times of the second, third, and subsequent frames, until the generated times exceed the over-period range. This recursive process is equivalent to marking the consecutive frame transmission points of that channel at equal intervals on the time axis, thus forming an arithmetic sequence of time points completely determined by the start times and constant frame intervals.

[0041] It should be noted that by calculating the frame period of each channel to form a unified superperiod, a continuous conflict cost function is constructed within a unified time window. This quantitatively evaluates the overall overlap of frame transmission events on the time axis of each channel, and uses minimizing global time conflict as the optimization objective to solve for the optimal phase adjustment amount of each channel. Then, the corrected initial phase offset is used to recursively generate the reference frame transmission start time sequence of each channel, transforming the transmission timing of each video output channel from being independent to a globally coordinated transmission plan. Since the reference frame transmission start time sequence is uniformly generated after comprehensively considering the transmission rhythm and phase relationship of each channel, it can effectively separate channels with similar transmission times, reduce the overall transmission overlap, reduce subsequent buffer resource contention and transmission conflicts, and provide a unified and stable time reference for buffer pointer allocation, conflict prediction, and dynamic mapping optimization. This improves the timing coordination capability, resource utilization efficiency, and continuous and stable output capability of multi-channel ARINC818 video output.

[0042] S3: Construct an initial buffer pointer pool based on the transmission start time sequence of the reference frame for each channel, and set the current buffer pointer allocation rules for each channel.

[0043] The initial buffer pointer pool refers to a set of buffer start addresses pre-created in memory to store video frame data, based on the start time sequence of the reference frame transmission for each channel and the buffer resource requirements. The current buffer pointer allocation rule refers to the correspondence established between each ARINC818 video output channel and each buffer pointer in the initial buffer pointer pool at the current moment, that is, specifying which buffer pointer each video output channel should use to access the corresponding buffer.

[0044] In one possible implementation, S3 specifically includes: S301: Construct a normalized overlap matrix based on the corrected initial phase offset in the sequence of transmission start times of the reference frame and the single-frame transmission duration of each channel.

[0045] The elements of the normalized overlap matrix are defined according to the following rules: For different channels and ( ), matrix elements for: .

[0046] in, express, and These represent the transmission time of a single frame for the i-th channel and the j-th channel, respectively. and They represent, This represents the frame period of the j-th channel.

[0047] For the same channel ( ), matrix elements for: .

[0048] in Represents the greatest common divisor. This represents the Singer function.

[0049] It should be noted that the corrected initial phase offset reflects the relative positions of different channels on the time axis, the single-frame transmission duration reflects the continuous occupancy of transmission resources by each channel, and the greatest common divisor between frame periods describes the periodic correlation of transmission patterns of different channels. This allows the normalized overlap matrix to simultaneously reflect temporal overlap, resource occupancy, and periodic coupling relationships. Specifically, the Singer function is introduced to smooth the phase difference, giving channels with closer phases higher correlation weights, while the correlation of channels with increasingly staggered phases decreases continuously, avoiding abrupt changes in overlap relationships caused by simple threshold judgments. For the same channel, the ratio of single-frame transmission duration to frame period describes its own resource occupancy ratio, allowing the diagonal and off-diagonal elements of the matrix to reflect single-channel load and cross-channel conflict characteristics, respectively. This forms a unified and normalized overlap description model, providing an accurate data foundation for subsequent prediction of minimum buffer pool capacity, improving the rationality of buffer resource allocation and the reliability of multi-channel video output scheduling.

[0050] S302: Based on the normalized overlap matrix, a combinational summation method based on the inclusion-exclusion principle is used to calculate the product sum of the normalized overlap matrix. Then, the minimum buffer pool capacity is predicted using the rank sum product sum of the normalized overlap matrix.

[0051] The minimum buffer pool capacity refers to the minimum total number of buffers that need to be pre-created in memory to support conflict-free transmission of all ARINC818 video output channels. The formula for calculating the minimum buffer pool capacity is as follows: .

[0052] in, Describes the rank of a matrix. Indicates rounding up. Represents the sum of matrix products. Indicates the minimum buffer pool capacity. Represents the logarithmic function with base 2. This represents the normalized overlap matrix.

[0053] It should be noted that the rank of the normalized overlap matrix is ​​used to represent the number of independent resource occupancy patterns in multi-channel conflict relationships, and the product summation is used to comprehensively reflect the overall coupling complexity of different channel overlap relationships under various combinations. Therefore, it is possible to estimate buffer resource requirements from both structural and combinatorial dimensions. By performing logarithmic compression on the product summation, the excessive inflation of the prediction results caused by the increase in combinatorial complexity with the number of channels can be avoided. Furthermore, by combining it with the rank of the matrix and rounding up, the obtained buffer pool capacity is guaranteed to be an integer that can be actually created while retaining the necessary safety margin. The minimum buffer pool capacity predicted in this way can reduce the risks of data overwriting, access waiting, and transmission conflicts caused by insufficient buffers, and avoid the waste of memory resources caused by blindly configuring too many buffers.

[0054] S303: Perform a feasibility verification on the minimum buffer pool capacity. If the verification passes, proceed to step S304; otherwise, increment the minimum buffer pool capacity by 1 and perform the verification again.

[0055] The feasibility verification formula is: .

[0056] in, If is a natural constant, the feasibility verification formula is valid if the verification passes; otherwise, the feasibility verification formula is invalid. It represents factorial.

[0057] It should be noted that this feasibility verification compares the multi-channel combination conflict complexity, represented by the product of the normalized overlap matrix, with the upper bound of the combination allocation that the candidate buffer pool capacity can support, to determine whether the predicted capacity is sufficient to cover the actual buffer resource requirements. When the inequality holds, it indicates that the current capacity has the ability to support the parallel output of each channel. When the inequality does not hold, the number of buffers is increased successively and the verification is repeated, so that the capacity gradually converges from the insufficient state to the minimum feasible value that meets the requirements. This method can perform secondary verification of the previous prediction results, reduce the risk of insufficient capacity caused by model estimation bias, and avoid directly setting an excessively large buffer pool, which would lead to memory waste, thus balancing the reliability of multi-channel video output and the efficiency of buffer resource allocation.

[0058] S304: Create a number of buffers in memory equal to the minimum verified buffer pool capacity, where each buffer can hold one complete frame of video data, and the initial buffer pointer pool is composed of the starting addresses of all buffers.

[0059] S305: Based on the initial buffer pointer pool, set the current buffer pointer allocation rule, wherein the current buffer pointer allocation rule is that each channel uses the buffer in the initial buffer pointer pool in the order of index.

[0060] More specifically, the current buffer pointer allocation rule refers to channels. Pre-allocated to buffer index , where mod represents the modulo operation.

[0061] Specifically, the process first constructs a normalized overlap matrix based on the corrected initial phase offset, frame period, and single-frame transmission duration for each channel, transforming the degree of transmission overlap of different channels at a unified time scale into a calculable correlation quantity. Then, combining the rank and product formula of the matrix, which simultaneously reflects the independent complexity of the conflict relationship and the degree of overlap in multi-channel combinations, the minimum buffer pool capacity required to meet conflict-free transmission is predicted. The capacity is then gradually adjusted through feasibility verification to avoid buffer resource contention caused by insufficient initial estimation. After successful verification, buffers capable of accommodating complete video frames are created according to the required capacity, and an initial buffer pointer pool is formed using the starting address of each buffer. The current buffer pointer allocation rule is then established using a cyclic allocation method based on channel index order. This approach allows for the rational allocation of buffer resources based on actual temporal overlap characteristics, reducing memory waste caused by an excessive number of buffers, and avoiding data overwriting and access waiting caused by insufficient capacity. It also provides a clear and easily updated initial mapping foundation for subsequent buffer pointer conflict prediction and dynamic remapping.

[0062] S4: Construct a pointer conflict prediction matrix based on the reference frame transmission start time sequence, configuration parameters, and current buffer pointer allocation rules for each channel.

[0063] The pointer conflict prediction matrix is ​​a matrix constructed by quantifying the degree of resource contention that may occur in the buffer pointers during the output of the next frame of video data for each ARINC818 video output channel, based on the reference frame transmission start time sequence, configuration parameters, and current buffer pointer allocation rules.

[0064] In one possible implementation, S4 specifically includes: S401: Based on the reference frame transmission start time sequence corresponding to each channel, set the first frame transmission start time of each channel to the first time in the reference frame transmission start time sequence, as the initial next frame transmission start time.

[0065] In one possible implementation, a more refined rule for the start time of the next frame transmission is to increment the frame period of the corresponding channel by one frame period for each frame.

[0066] The more detailed rule for the start time of the next frame transmission is that each frame increments by one corresponding channel's frame period. Specifically, this means that whenever a channel... Once one frame is transmitted, the start time of the transmission of the corresponding next frame is set. Updated to .

[0067] S402: Construct a pointer conflict prediction matrix based on the start time of the next frame transmission, the frame period, and the transmission duration of a single frame.

[0068] The element in the i-th row and j-th column of the pointer conflict prediction matrix The expression is: .

[0069] in, The Kroneck symbol is used when... Time to take Otherwise take , This indicates an indicator function that takes the value when the condition within the parentheses is true. Otherwise take , and These represent the start times for the next frame transmission of channel i and channel j, respectively.

[0070] Specifically, this process determines the start time of the next frame based on the sequence of start times of the reference frame transmission for each channel, ensuring that conflict analysis always revolves around the upcoming video output process. Subsequently, a pointer conflict prediction matrix is ​​constructed by combining the start time of the next frame transmission, the frame period, and the transmission duration of a single frame. The time difference between transmission start times reflects the temporal proximity between channels, and the natural exponential function continuously quantifies the conflict risk corresponding to different time differences, allowing the conflict level to change smoothly over time rather than abruptly. Furthermore, an indicator function retains only channel combinations with transmission intervals shorter than the transmission duration, thus avoiding invalid calculations for channels without actual competition. Simultaneously, Kronecker notation is used to eliminate the influence of the same channel itself, ensuring the matrix only describes cross-channel buffer resource competition. The constructed pointer conflict prediction matrix accurately reflects the potential resource competition level of future buffer pointers while reducing interference from irrelevant factors in the conflict evaluation results. This provides a reliable and quantitative decision-making basis for subsequently establishing abnormal thresholds for buffer pointer allocation rules and dynamically optimizing the mapping relationship between buffer pointers and buffers, thereby improving the resource scheduling efficiency and continuous stability of multi-channel ARINC818 video output.

[0071] S5: Establish the current buffer pointer allocation rule abnormal threshold based on the pointer conflict prediction matrix, and determine the optimized current buffer pointer allocation rule based on the current buffer pointer allocation rule abnormal threshold.

[0072] Among them, the current buffer pointer allocation rule abnormal threshold refers to the critical judgment value that is adaptively determined based on the potential conflict relationship between channels reflected by the pointer conflict prediction matrix, and is used to judge whether the current buffer pointer allocation rule is still in an acceptable state.

[0073] In one possible implementation, S5 specifically includes: S501: Using the diagonal matrix formed by the frame rates of each channel as the weighting matrix, and based on the pointer conflict prediction matrix and frame period, calculate the maximum generalized Rayleigh quotient of the pointer conflict prediction matrix under the weighting matrix, which is used as the generalized weighted maximum eigenvalue.

[0074] A diagonal matrix composed of the frame rates of each channel for: , This represents the frame rate of the i-th channel.

[0075] Generalized weighted maximum eigenvalue The expression is: .

[0076] in, Describes the Euclidean norm of a vector. Represents an N-dimensional column vector. This represents the generalized weighted maximum eigenvalue, with the subscript T indicating transpose and max indicating the maximum value.

[0077] S502: Construct an adaptive threshold based on the pointer conflict prediction matrix.

[0078] In one possible implementation, the adaptive threshold is determined as follows: S5021: Use The square matrix of the identity matrix and the pointer conflict prediction matrix Subtracting the two matrices yields the difference matrix.

[0079] S5022: Calculate the determinant of the difference matrix.

[0080] S5023: Taking the value of the determinant The power root, and using a constant Subtract the root value to obtain the adaptive threshold.

[0081] Adaptive threshold The definition of is: .

[0082] in, for An identity matrix of order 1. It is a determinant.

[0083] It should be noted that the adaptive threshold is established by characterizing direct conflicts between channels and associated conflicts formed through other channels using the square of the pointer conflict prediction matrix. Then, by subtracting this square from the identity matrix and calculating the determinant, the comprehensive impact of the conflict relationships between channels on the overall system stability is compressed into a single quantitative result. Further, taking the power root of the channel number weakens the impact of matrix dimension changes on the numerical scale, making the thresholds under different channel scales more comparable. Finally, subtracting this result by a constant allows the threshold to change accordingly as the conflict correlation strengthens. The resulting threshold can be dynamically updated according to the current conflict structure. Compared to a fixed threshold, it is more adaptable to changes in the transmission timing and resource contention status of each channel. This facilitates timely identification of high-risk buffer pointer allocation relationships and reduces missed detections or frequent remappings caused by improper threshold settings.

[0084] S503: Compare the generalized weighted maximum eigenvalue with the adaptive threshold. If the generalized weighted maximum eigenvalue is greater than the adaptive threshold, proceed to step S504; otherwise, proceed to step S506.

[0085] S504: Apply a cyclic shift to the buffer index sequence corresponding to the current N channels, where the cyclic shift number is an integer from 0 to N-1. S505: Calculate the remapping conflict cost under each cyclic shift, select the cyclic shift with the minimum remapping conflict cost for cyclic shifting to perform buffer remapping, update the mapping relationship corresponding to the selected cyclic shift to the current buffer pointer allocation rule, and output the updated current buffer pointer allocation rule as the optimized current buffer pointer allocation rule.

[0086] Specifically, if Then for the current Apply a circular shift to the buffer index sequence corresponding to each channel. , Pick to Integers, such that the channel Reassigned to buffer index For each cyclic shift Calculate the circular shift Total conflict cost after remapping : .

[0087] Selecting the option that maximizes the total conflict cost Minimum shift value According to the amount of shift The corresponding mapping relationship is to reallocate the buffer for the next frame for each channel and shift the amount of data. The corresponding mapping is updated to the current buffer pointer allocation rule.

[0088] Specifically, this approach, upon detecting that the overall conflict level exceeds the allowable range, generates multiple candidate buffer remapping schemes by performing different cyclic shifts on the buffer index sequence corresponding to each channel. It then utilizes a pointer conflict prediction matrix to accumulate only the conflict weights between channels still assigned to the same buffer, thus ensuring that the remapping conflict cost accurately represents the actual resource contention level under each candidate mapping. By selecting the shift amount with the minimum total cost, channels with high conflict levels can be allocated to different buffers as much as possible without changing the buffer pool size or the basic channel order, reducing buffer access contention, transmission waiting, and latency fluctuations. Simultaneously, the limited candidate range and clear mapping rules of the cyclic shifts reduce optimization computation and control complexity, enabling the buffer pointer allocation rules to have good real-time adjustment capabilities.

[0089] S506: Maintain the current buffer pointer allocation rule and output the current buffer pointer allocation rule as the optimized current buffer pointer allocation rule.

[0090] It should be noted that this process first constructs a weighted evaluation model based on the pointer conflict prediction matrix and the frame rate of each channel. By calculating the generalized weighted maximum eigenvalue, the dispersed buffer resource competition relationship among multiple channels is extracted into a comprehensive index that reflects the overall conflict intensity, giving higher weight to channels with higher frame rates and more frequent resource access in the overall evaluation. Subsequently, an adaptive threshold is constructed in conjunction with the pointer conflict prediction matrix and used as the basis for determining whether the current buffer pointer allocation rule needs to be adjusted. This allows buffer resource scheduling to make dynamic decisions based on the current conflict state, rather than relying on a fixed threshold. When the overall conflict level exceeds the adaptive threshold, different cyclic shifts are applied to the buffer index sequence and the remapping conflict cost corresponding to each mapping relationship is calculated. The buffer remapping scheme with the minimum total cost is selected from all candidate mappings to achieve overall optimization of the mapping relationship between buffer pointers and buffers. When the overall conflict level does not exceed the adaptive threshold, the existing mapping relationship is maintained to avoid the additional overhead caused by frequent adjustments. This approach balances the accuracy of conflict identification with the economy of buffer pointer adjustment, ensuring that buffer remapping is always based on quantitative evaluation. It effectively reduces buffer resource contention and output waiting between multiple channels, minimizes unnecessary mapping switching, and improves resource utilization efficiency, timing stability, and overall operational reliability during multi-channel ARINC818 video output.

[0091] S6: Output buffered video data based on the mapping relationship between buffer pointers and buffers described by the optimized current buffer pointer allocation rules.

[0092] The mapping relationship refers to the correspondence between the buffer pointers used by each ARINC818 video output channel and the specific buffers in memory after optimization.

[0093] In one possible implementation, S6 specifically includes: S601: Configure each buffer pointer to the corresponding channel's ARINC818 transmit controller.

[0094] S602: Read the buffer video data in the corresponding buffer based on the buffer pointer.

[0095] S603: Converts the read buffer video data into video frames conforming to the ARINC818 protocol.

[0096] Specifically, the conversion rule is as follows: The ARINC818 transmit controller first segments the read buffer video data according to the frame format specified by the ARINC818 protocol, dividing it into payload units suitable for fiber optic channel transmission. Then, frame header information conforming to the ARINC818 protocol definition is added to the front end of each payload unit. The frame header information includes a frame synchronization identifier, a channel identifier, and a frame sequence number. Next, each payload unit with the added frame header information is subjected to 8B / 10B encoding processing to generate a transmission stream with DC-balanced characteristics. Finally, the encoded transmission streams are sequentially arranged and encapsulated into a complete ARINC818 video frame that can be directly transmitted through the fiber optic interface.

[0097] S604: Outputs the converted video frames, completing the output of the buffered video data.

[0098] It should be noted that this process uses the optimized current buffer pointer allocation rule as the basis for data reading, configuring each buffer pointer to the corresponding ARINC818 transmission controller, enabling each channel to accurately access the remapped target buffer. Subsequently, video data from the buffer is read according to the buffer pointers, and payload partitioning, frame header encapsulation, frame synchronization and channel identifier addition, frame sequence number generation, and encoding are completed according to the ARINC818 protocol, ultimately forming a video frame that conforms to the ARINC818 protocol requirements and outputting it. Because the mapping relationship between buffer pointers and buffers has undergone conflict prediction and dynamic optimization, the video data reading stage effectively avoids multiple channels competing for the same buffer resource, reducing data reading wait times and storage access conflicts. Simultaneously, through standardized protocol encapsulation and encoding, the output video frame is guaranteed to meet the ARINC818 link transmission specifications, thus balancing buffer resource scheduling efficiency and protocol compatibility, improving the continuity, real-time performance, and overall reliability of multi-channel video output.

[0099] S7: Using the frame period corresponding to each channel as the step value, repeat steps S4 to S6 until the video stream of all channels is output.

[0100] The step value refers to the time increment used by the system to advance the next processing time of each channel after completing the current round of pointer conflict prediction, buffer pointer allocation optimization, and video frame output. Different ARINC818 video output channels can have different frame periods, so each channel uses its own frame period as the corresponding step value. Specifically, whenever a channel completes the output of a frame of video data, one frame period is added to the current start time of the next frame transmission for that channel, thus obtaining the start time of the subsequent frame transmission for that channel. Then, conflict prediction, mapping optimization, and data output are re-executed based on the updated transmission time. Thus, the step value enables the processing of each channel to advance independently according to its own frame rate, while maintaining a fixed time interval between adjacent video frames of the same channel, matching the dynamic scheduling process with the actual transmission rhythm of each video stream, and continuously covering the entire output process from the first frame to the last frame.

[0101] Reference manual attached Figure 2 The figure shows a comparison curve of output delay fluctuation provided by an embodiment of the present invention.

[0102] Figure 2 The figure shows a comparison of latency fluctuations between the proposed solution and existing fixed scheduling methods during video output. The figure displays the timeline of the video output process, latency fluctuation indices, latency fluctuation curves of the existing fixed scheduling method, and latency fluctuation curves of the proposed method. The existing fixed scheduling method exhibits larger overall latency fluctuations with significant variations, while the proposed method maintains a consistently lower latency fluctuation level with a smoother curve, indicating more stable output timing throughout the video output process. The figure also demonstrates that the proposed solution, by constructing a reference frame transmission start time sequence, establishing a pointer conflict prediction matrix, dynamically optimizing buffer pointer allocation rules, and adjusting the mapping relationship between buffer pointers and buffers in real time, effectively suppresses buffer resource contention in each ARINC818 video output channel. This avoids video frame waiting and transmission blocking caused by resource contention, significantly reducing video output latency fluctuations and improving the continuity, real-time performance, and overall stability of multi-channel ARINC818 video output.

[0103] In practical applications, the entire process involves acquiring the frame period, single-frame transmission duration, and initial phase offset of each ARINC818 video output channel to establish a unified timing model reflecting the transmission rhythm and resource consumption characteristics of each channel. Within the supercycle, a continuous conflict cost function is used to optimize the transmission phase of each channel, generating a globally coordinated sequence of reference frame transmission start times. Subsequently, the required buffer resources are predicted based on the temporal overlap between channels, an initial buffer pointer pool is created, and an initial mapping between channels and buffers is established. During video output, a pointer conflict prediction matrix is ​​further constructed based on the next frame transmission time. The generalized weighted maximum eigenvalue and adaptive threshold are used to determine whether the current mapping has a high conflict risk. If necessary, the remapping conflict costs of different cyclic shift schemes are compared, and the buffer mapping relationship with the least conflict is selected. This method forms a closed loop of global timing optimization, buffer capacity planning, conflict prediction, and dynamic remapping, thus enabling proactive adjustments before resource contention actually occurs, reducing buffer access conflicts, data overwriting, output waiting, and invalid mapping switching.

[0104] The beneficial effects of the technical solutions provided in the embodiments of the present invention include at least the following: In this embodiment of the invention, by acquiring the configuration parameters of each ARINC818 video output channel and establishing an initial buffer pointer pool and current buffer pointer allocation rules in conjunction with the reference frame transmission start time sequence, the buffer resource allocation of each channel has a unified timing basis. Furthermore, a pointer conflict prediction matrix is ​​constructed by combining the configuration parameters, the reference frame transmission start time sequence, and the current buffer pointer allocation rules. This matrix pre-analyzes potential resource contention that may occur during subsequent output. Then, based on the pointer conflict prediction matrix, an abnormal threshold for the current buffer pointer allocation rules is established. Allocation relationships with abnormal risks are optimized, forming a more reasonable mapping relationship between buffer pointers and buffers. This allows the video output stage to avoid potential conflicts, reduce waiting and resource contention, and continuously update the prediction results and allocation rules according to the frame period of each channel during video output. This ensures that buffer resources always match the real-time output status of each channel, thereby improving resource utilization efficiency and timing coordination capabilities during multi-channel ARINC818 video output, reducing video data output latency fluctuations and the probability of buffer access conflicts, and guaranteeing the continuity, real-time performance, and overall stability of the video stream output of each channel.

[0105] Reference manual attached Figure 3 The diagram shows a schematic of the structure of a multi-channel ARINC818 video output system based on a buffer pointer provided by the present invention.

[0106] The present invention also provides a multi-channel ARINC818 video output system 20 based on buffer pointers, applied to the above-mentioned multi-channel ARINC818 video output method based on buffer pointers, comprising: Processor 201.

[0107] The memory 202 stores computer-readable instructions, which, when executed by the processor 201, implement the multi-channel ARINC818 video output method based on buffer pointers as described in the method embodiment.

[0108] The multi-channel ARINC818 video output system 20 based on buffer pointers provided by the present invention can execute the above-mentioned multi-channel ARINC818 video output method based on buffer pointers and achieve the same or similar technical effects. To avoid repetition, the present invention will not elaborate further.

[0109] This invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the multi-channel ARINC818 video output method based on buffer pointers as described in the method embodiment.

[0110] The present invention provides a computer-readable storage medium that can implement the steps and effects of the multi-channel ARINC818 video output method based on buffer pointers in the above-described method embodiments. To avoid repetition, the present invention will not elaborate further.

[0111] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

[0112] The following points need to be explained: (1) The accompanying drawings of the embodiments of the present invention only involve the structures involved in the embodiments of the present invention. Other structures can refer to the general design.

[0113] (2) For clarity, the thickness of layers or regions is enlarged or reduced in the drawings used to describe embodiments of the invention, i.e., these drawings are not drawn to scale. It is understood that when an element such as a layer, film, region or substrate is referred to as being “above” or “below” another element, the element may be “directly” located “above” or “below” the other element or there may be intermediate elements.

[0114] (3) Where there is no conflict, the embodiments of the present invention and the features in the embodiments can be combined with each other to obtain new embodiments.

[0115] The above are merely specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. The scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for multi-channel ARINC818 video output based on buffer pointers, characterized in that, include: S1: Obtain the configuration parameters of multiple ARINC818 video output channels for the video to be output; S2: Determine the sequence of start times for transmitting the reference frame for each channel; S3: Construct an initial buffer pointer pool based on the transmission start time sequence of the reference frame for each channel, and set the current buffer pointer allocation rules for each channel; S4: Based on the reference frame transmission start time sequence of each channel, the configuration parameters, and the current buffer pointer allocation rule, construct a pointer conflict prediction matrix; S5: Establish an abnormal threshold for the current buffer pointer allocation rule based on the pointer conflict prediction matrix, and determine the optimized current buffer pointer allocation rule based on the abnormal threshold for the current buffer pointer allocation rule; S6: Based on the mapping relationship between buffer pointers and buffers described by the optimized current buffer pointer allocation rules, output the buffer video data; S7: Using the frame period corresponding to each channel as the step value, repeat steps S4 to S6 until the video stream of all channels is output.

2. The multi-channel ARINC818 video output method based on buffer pointers according to claim 1, characterized in that, Each ARINC818 video output channel is used to output one independent video stream; the configuration parameters include the frame period of each channel, the transmission time of a single frame of each channel, and the initial phase offset of each channel. The initial phase offset refers to the offset of the start time of the first frame transmission of the channel relative to the zero point of time.

3. The multi-channel ARINC818 video output method based on buffer pointers according to claim 1, characterized in that, S2 specifically includes: S201: Calculate the least common multiple of the frame periods of all channels and use the result as the superperiod; S202: Construct a continuous conflict cost function to evaluate the global temporal conflict level; S203: Determine the optimal phase adjustment amount for each channel based on the continuous conflict cost function; S204: Determine the start time of the first frame transmission using the optimal phase adjustment amount, and recursively calculate the start time of the first frame transmission using the frame period within the same channel as the step value to generate a sequence of reference frame transmission start times for each channel that has no overall phase conflict within the super-period.

4. The multi-channel ARINC818 video output method based on buffer pointers according to claim 3, characterized in that, The super-period is a unified time window that fully accommodates the frame periods of each channel.

5. The multi-channel ARINC818 video output method based on buffer pointers according to claim 1, characterized in that, S3 specifically includes: S301: Based on the corrected initial phase offset in the transmission start time sequence of the reference frame and the single-frame transmission duration of each channel, construct a normalized overlap matrix; S302: Based on the normalized overlap matrix, the product summation formula of the normalized overlap matrix is ​​calculated using a combination summation method based on the inclusion-exclusion principle, and the minimum buffer pool capacity is predicted by using the rank of the normalized overlap matrix and the product summation formula. S303: Perform a feasibility verification on the minimum buffer pool capacity. If the verification passes, proceed to step S304; otherwise, increment the minimum buffer pool capacity by 1 and perform the verification again. S304: Create a number of buffers in memory equal to the verified minimum buffer pool capacity, wherein each buffer is capable of holding one complete frame of video data, and the initial buffer pointer pool is formed by the starting addresses of all the buffers; S305: Based on the initial buffer pointer pool, set the current buffer pointer allocation rule, wherein the current buffer pointer allocation rule is that each channel uses the buffer in the initial buffer pointer pool in index order.

6. The multi-channel ARINC818 video output method based on buffer pointers according to claim 1, characterized in that, S4 specifically includes: S401: Based on the reference frame transmission start time sequence corresponding to each channel, set the first frame transmission start time of each channel to the first time in the reference frame transmission start time sequence, as the initial next frame transmission start time; S402: Construct the pointer conflict prediction matrix based on the start time of the next frame transmission, the frame period, and the duration of single frame transmission.

7. The multi-channel ARINC818 video output method based on buffer pointers according to claim 6, characterized in that, The update rule for the start time of the next frame transmission is to increment by the frame period of the corresponding channel for each frame.

8. The multi-channel ARINC818 video output method based on buffer pointers according to claim 1, characterized in that, S5 specifically includes: S501: Using the diagonal matrix formed by the frame rates of each channel as the weighting matrix, and based on the pointer conflict prediction matrix and the frame period, calculate the maximum generalized Rayleigh quotient of the pointer conflict prediction matrix under the weighting matrix, which is used as the generalized weighted maximum eigenvalue. S502: Construct an adaptive threshold based on the pointer conflict prediction matrix; S503: Compare the generalized weighted maximum eigenvalue with the adaptive threshold. If the generalized weighted maximum eigenvalue is greater than the adaptive threshold, proceed to step S504; otherwise, proceed to step S506. S504: Apply a circular shift to the buffer index sequence corresponding to the current N channels, where the number of circular shift bits is an integer from 0 to N-1; S505: Calculate the remapping conflict cost under each cyclic shift, select the cyclic shift with the minimum remapping conflict cost for cyclic shifting to perform buffer remapping, update the mapping relationship corresponding to the selected cyclic shift to the current buffer pointer allocation rule, and output the updated current buffer pointer allocation rule as the optimized current buffer pointer allocation rule. S506: Maintain the current buffer pointer allocation rule and output the current buffer pointer allocation rule as the optimized current buffer pointer allocation rule.

9. The multi-channel ARINC818 video output method based on buffer pointers according to claim 8, characterized in that, The adaptive threshold is determined as follows: S5021: Use The square matrix of the identity matrix and the pointer conflict prediction matrix Subtracting them yields the difference matrix; S5022: Calculate the determinant value of the difference matrix; S5023: Take the value of the determinant The power root, and using a constant Subtract the root value to obtain the adaptive threshold.

10. The multi-channel ARINC818 video output method based on buffer pointers according to claim 1, characterized in that, S6 specifically includes: S601: Configure each of the buffer pointers to the ARINC818 transmit controller of the corresponding channel; S602: Read the buffer video data in the corresponding buffer according to the buffer pointer; S603: Convert the read buffer video data into video frames conforming to the ARINC818 protocol; S604: Output the converted video frame to complete the output of the buffered video data.