Static frame transmission method and device based on Hash comparison, equipment and medium

By employing hash comparison and hierarchical pixel comparison strategies, combined with timeout processing and error correction coding, the bandwidth consumption and image quality issues of HDMI video transmission devices in static or minimally changing scenarios are resolved, achieving zero-bitstream transmission and real-time reliability, and adapting to complex network environments.

CN121815010APending Publication Date: 2026-04-07BEIJING TRICOLOR TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-26
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing HDMI video capture and transmission equipment suffers from problems such as high bandwidth consumption, severe image breathing effect, and insufficient real-time performance and reliability in static or minimally changing scenarios. In particular, it is prone to comparison timeouts and packet loss when the network link is unstable or the system load fluctuates.

Method used

A hash-based still frame transmission method is adopted, which uses a layered pixel comparison strategy, timeout processing, hash verification and forward error correction coding to achieve theoretical zero bitstream transmission when the image is still, and ensures real-time response when the image changes.

Benefits of technology

It significantly reduces bandwidth usage when the image is still, eliminates the breathing effect, ensures image quality stability and transmission reliability, achieves ≤1 frame delay switching, is compatible with real-time response under different load scenarios, and ensures link stability through error correction and heartbeat interaction mechanisms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121815010A_ABST
    Figure CN121815010A_ABST
Patent Text Reader

Abstract

The invention provides a static frame transmission method and device based on Hash comparison, equipment and a medium, and the method comprises the steps: a collection end collects a video frame in real time, and carries out the pixel-level comparison of a current frame and a locally cached historical reference frame; if the two pixels are completely consistent, calculating a hash value of the current frame and only sending a static frame data packet containing the hash value to a receiving end; after receiving, the receiving end compares the hash value with a hash value corresponding to a locally cached historical reference frame; if the comparison is consistent, the receiving end directly and repeatedly outputs the locally cached historical reference frames; and if the Hash comparison is inconsistent or the acquisition end judges that the pixels of the current frame and the historical reference frame are inconsistent, the receiving end receives the complete coded video stream sent by the acquisition end, and outputs and updates the locally cached historical reference frame and the corresponding Hash value after decoding. According to the invention, through combination of pixel-level comparison and Hash verification, the data transmission amount is reduced, the bandwidth is saved, and the transmission efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of audio and video remote transmission technology, and in particular to a method, apparatus, device and medium for still frame transmission based on hash comparison. Background Technology

[0002] Existing HDMI video capture and transmission devices (such as wireless video transmitters, KVM, and remote desktop hardware solutions) typically employ the following process: the capture end continuously encodes HDMI video into H264 / H265 in real time and sends it to the receiving end via a network or dedicated wireless link. The receiving end then decodes the video in real time and outputs it to the monitor via HDMI.

[0003] This solution has the following drawbacks in scenarios where the screen remains still or changes very little for a long time, such as PC desktops, document reading, and monitoring screens: even if the screen is completely still, the encoder continues to output bitstream, consuming a large amount of bandwidth; H264 / H265 will produce obvious "breathing effect" (periodic flickering of block artifacts) on still screens at low bitrates, which seriously affects the viewing experience; if the bitrate is artificially reduced significantly or the GOP length is increased, it will cause obvious delays or mosaics when there are occasional changes.

[0004] Furthermore, some existing still-frame optimization schemes employ simple pixel comparison methods, which suffer from low comparison efficiency and poor adaptability to noise and lighting changes. Simultaneously, when network links are unstable or system load fluctuates, comparison timeouts and packet loss are prone to occur, leading to a decline in transmission real-time performance and reliability. Therefore, there is an urgent need for a video transmission scheme that balances bandwidth optimization, image quality stability, transmission real-time performance, and reliability. Summary of the Invention

[0005] In view of this, embodiments of this application provide a still frame transmission method, apparatus, device and medium based on hash comparison. By improving comparison efficiency through a layered pixel comparison strategy, and combining timeout processing, hash verification and forward error correction coding and other mechanisms to ensure transmission reliability, it achieves "theoretical zero bitstream" transmission when the image is still, which not only greatly reduces bandwidth, but also completely eliminates the breathing effect of still images, while ensuring real-time response when the image changes.

[0006] The technical solution of this application embodiment is implemented as follows: In a first aspect, embodiments of this application provide a method for transmitting still frames based on hash comparison, comprising the following steps: The acquisition end captures video frames in real time and compares the currently captured video frames with the locally cached historical reference frames at the pixel level. If the current frame has exactly the same pixels as the historical reference frame, then calculate the hash value of the current frame and send only the still frame data packet containing the hash value to the receiving end. After receiving the still frame data packet, the receiving end compares the hash value in it with the hash value corresponding to the historical reference frame in the local cache; If the comparison matches, the receiving end directly repeats the locally cached historical reference frame; if the comparison does not match or the acquisition end determines that the pixels of the current frame and the historical reference frame are inconsistent, the receiving end receives the complete encoded video stream sent by the acquisition end, decodes it, and outputs and updates the locally cached historical reference frame and its corresponding hash value.

[0007] Secondly, embodiments of this application also provide a still frame transmission device based on hash comparison, the device comprising: The comparison module is used to acquire video frames in real time at the acquisition end and compare the currently acquired video frames with the locally cached historical reference frames at the pixel level. The calculation module is used to calculate the hash value of the current frame if the pixels of the current frame are completely identical to those of the historical reference frame, and only send the still frame data packet containing the hash value to the receiving end. The comparison module is used to compare the hash value in the received still frame data packet with the hash value corresponding to the historical reference frame cached locally. The execution module is used to directly repeat the local cached historical reference frame if the comparison is consistent; if the comparison is inconsistent or the acquisition end determines that the pixels of the current frame and the historical reference frame are inconsistent, the receiving end receives the complete encoded video stream sent by the acquisition end, decodes it, and outputs and updates the local cached historical reference frame and its corresponding hash value.

[0008] Thirdly, embodiments of this application also provide an electronic device, including: a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the hash-based still frame transmission method described in any of the first aspects.

[0009] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, performs the hash-based still frame transmission method described in any one of the first aspects.

[0010] The embodiments of this application have the following beneficial effects: In terms of bandwidth optimization, the average bitrate is close to 0KBps when the image is completely still, requiring only occasional 20-byte still frame packets. Compared to traditional solutions, this saves over 99% of bandwidth. Furthermore, the zero-bitstream mode further reduces the frequency of still frame packet transmission, significantly improving adaptability to low-bandwidth scenarios. Regarding image quality stability, still images are directly and repeatedly output through local complete decoding, eliminating the breathing effect caused by H264 / H265 compression. Simultaneously, the layered comparison strategy balances comparison accuracy and noise adaptability, ensuring accurate still frame identification even in scenes with changing lighting, guaranteeing extremely stable image quality. In terms of real-time transmission, image changes can be switched with a delay of ≤1 frame, combined with timeout handling... The management mechanism effectively avoids latency caused by system overload. By dynamically adjusting the comparison accuracy level, it ensures real-time response under different load scenarios. In terms of transmission reliability, forward error correction coding and integrity verification form a dual guarantee. Combined with hash verification and retransmission mechanisms, it can effectively reduce the impact of network packet loss and transmission errors on image quality. The heartbeat interaction mechanism in zero-bitstream mode can ensure that the link status is controllable and can quickly synchronize in case of anomalies. In addition, the solution is compatible with existing H264 / H265 hardware codecs without modifying the underlying encoder. Each module is functionally independent and can flexibly adjust preset parameters, possessing excellent compatibility and scalability, and can adapt to different frame rates, bandwidths and noise environments. Attached Figure Description

[0011] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 This is a flowchart illustrating steps S101-S104 provided in the embodiments of this application; Figure 2 This is a flowchart illustrating steps S201-S202 provided in the embodiments of this application; Figure 3 This is a flowchart illustrating steps S301-S302 provided in the embodiments of this application; Figure 4 This is a flowchart illustrating steps S401-S402 provided in the embodiments of this application; Figure 5 This is a flowchart illustrating steps S501-S502 provided in the embodiments of this application; Figure 6 This is a schematic diagram of the structure of the still frame transmission device based on hash comparison provided in the embodiments of this application; Figure 7 This is a schematic diagram of the composition structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0013] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the accompanying drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.

[0014] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0015] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0016] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0017] It should be noted that the term "comprising" will be used in the embodiments of this application to indicate the presence of the features declared thereafter, but does not exclude the addition of other features.

[0018] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application and is not intended to limit this application.

[0019] See Figure 1, Figure 1 This is a flowchart illustrating steps S101-S104 of the hash-based still frame transmission method provided in this application embodiment, which will be combined with... Figure 1 Steps S101-S104 are explained below.

[0020] In step S101, the acquisition end acquires video frames in real time and compares the currently acquired video frames with the locally cached historical reference frames at the pixel level. In step S102, if the pixels of the current frame are completely identical to those of the historical reference frame, the hash value of the current frame is calculated, and only the still frame data packet containing the hash value is sent to the receiving end. In step S103, after receiving the still frame data packet, the receiving end compares the hash value in it with the hash value corresponding to the historical reference frame in the local cache. In step S104, if the comparison matches, the receiving end directly repeats the output of the locally cached historical reference frame; if the comparison does not match or the acquisition end determines that the pixels of the current frame and the historical reference frame are inconsistent, the receiving end receives the complete encoded video stream sent by the acquisition end, decodes it, outputs it, and updates the locally cached historical reference frame and its corresponding hash value.

[0021] The acquisition end needs to capture video frames in real time, supporting high frame rates and high resolution scenes such as 4K@60fps, unlike offline video processing, to ensure the real-time requirements of transmission. The acquisition end will perform pixel-level comparison between the current frame and the locally cached historical reference frames. The local cache design is the key to improving comparison efficiency. Both the acquisition end and the receiving end need to cache complete historical frames and their corresponding hash values, eliminating the need to repeatedly acquire or transmit historical frame data, thus laying the foundation for fast comparison.

[0022] When pixel-level comparison determines that the current frame is completely consistent with the historical reference frame, the acquisition end only calculates the hash value of the current frame and encapsulates it into a very small still frame data packet for transmission. MD5 hash value is preferred, calculated based on YUV420, YUV444 or RGB original pixel data to ensure pixel-level consistency. The still frame packet is preferably 20 bytes, including a packet header identifier and a 16-byte hash value. This design compresses the amount of data transmitted per frame from tens of KB to several MB in traditional schemes to the byte level, achieving an order-of-magnitude reduction in bandwidth usage.

[0023] After receiving a still frame data packet, the receiving end needs to extract the hash value and compare it with the hash value of the historical reference frame in the local cache to effectively avoid image quality abnormalities caused by data errors during transmission. If the comparison matches, the receiving end directly repeats the output of the complete decoded frame in the local cache without starting the decoder for secondary decoding. This eliminates both software decoding delay and the breathing effect of H264 / H265 encoding at low bit rates.

[0024] When the pixel-level comparison determines that the frames are inconsistent, or the hash comparison at the receiving end is inconsistent, the acquisition end transmits the complete encoded video stream, and the receiving end decodes and outputs the stream and updates the local cache. This differentiated transmission strategy ensures that the solution is compatible with dynamic image transmission and avoids dynamic image delay or mosaic caused by still frame optimization, thus achieving the core goal of "saving bandwidth in still frames and maintaining image quality in dynamic frames".

[0025] In some embodiments, see Figure 2 , Figure 2 This is a flowchart illustrating steps S201-S202 provided in an embodiment of this application. The pixel-level comparison adopts a layered comparison strategy, which includes steps S201-S202, and will be explained in conjunction with each step.

[0026] In step S201, the current frame and the historical reference frame are downsampled to obtain a reduced frame. A quick coarse comparison is performed based on the difference in the mean brightness, and the similarity is judged based on the difference in the mean brightness and the variance of brightness. In step S202, if the coarse comparison similarity is greater than a preset threshold, a pixel-by-pixel fine comparison is performed on the original size frame. The fine comparison uses a pixel grayscale value difference threshold for judgment, and when the absolute value of the difference exceeds the preset difference threshold, the pixel is determined to be mismatched.

[0027] The coarse comparison stage employs a rapid filtering logic of "downsampling + brightness feature judgment." First, the current frame and historical reference frames are downsampled, preferably using a 1 / 4 ratio bilinear interpolation algorithm to reduce the original size frame (e.g., 4K) to a lower resolution frame (e.g., 1080p), significantly reducing the amount of comparison data. For example, with a 4K frame, the number of pixels after 1 / 4 downsampling is only 1 / 16 of the original, reducing comparison time by an order of magnitude and effectively improving efficiency. Then, similarity is determined by calculating the mean difference and variance of brightness in the reduced frames. Brightness features are chosen because brightness change is a core dimension of human visual perception of image changes, accurately filtering out obvious dynamic frames such as content switching and large movements, avoiding ineffective fine comparison operations on these obviously dynamic frames.

[0028] The fine comparison step is triggered only when the coarse comparison similarity exceeds a preset threshold, preferably 95%. This step performs a pixel-by-pixel fine comparison on the original-size frame, using a pixel grayscale value difference threshold judgment rule. When the absolute value difference of the grayscale values ​​of corresponding pixels in adjacent frames exceeds a preset threshold, such as two grayscale levels, the pixel is determined to be mismatched. This design can effectively filter out minor interferences such as individual pixel fluctuations caused by circuit noise, ensuring the accuracy of still frame determination. If the coarse comparison similarity is lower than the preset threshold, it is directly determined to be a dynamic frame, skipping the fine comparison to further save time.

[0029] The entire layered comparison process needs to be controlled within a single frame transmission cycle, such as ≤1ms in a 60fps scenario, to ensure that the overall real-time transmission performance is not affected. This progressive comparison logic of "coarse first, then fine" effectively solves the contradiction between pixel-level comparison efficiency and accuracy, enabling the solution to adapt to high frame rate scenarios such as 4K@60fps.

[0030] In some embodiments, the downsampling uses a bilinear interpolation algorithm with a preset ratio and dynamically switches to a Gaussian downsampling algorithm based on the noise level of the video frame. Gaussian downsampling is enabled when the noise intensity of the video frame exceeds a preset noise threshold. The coarse comparison sets a preset threshold for the difference in the average brightness, and this preset threshold is adaptively adjusted based on changes in ambient light, automatically expanding the threshold range in scenarios with sudden changes in light.

[0031] Regarding the dynamic switching of downsampling algorithms, bilinear interpolation downsampling is used in normal scenarios. This algorithm is efficient and has good real-time performance, which can meet the comparison requirements of most normal scenarios. When the noise intensity of the video frame exceeds a preset threshold, it automatically switches to the Gaussian downsampling algorithm. The noise intensity is determined by calculating the pixel variance through the noise detection module. A variance > 50 indicates a high-noise scene. Gaussian downsampling is implemented using a 3×3 Gaussian kernel. By utilizing the noise suppression characteristics of Gaussian filtering, it can effectively filter out image interference such as snow noise in the monitoring scene, avoid misjudging noise as image changes, and ensure the accuracy of still frame judgment in complex noise environments.

[0032] Regarding the adaptive adjustment of the brightness mean difference threshold, the preset threshold for the coarse comparison of brightness mean difference is not a fixed value, but is dynamically adjusted according to changes in ambient lighting. In normal scenarios, the threshold is set to 3% to ensure accuracy; when a sudden change in lighting is detected, the threshold automatically increases to 8%. Lighting changes are determined by a frame brightness change amplitude >10%, such as strong light illuminating the monitor or sudden switching of indoor lights on or off. This threshold adjustment design avoids misjudging lighting fluctuations that do not involve changes in image content as dynamic frames, reducing invalid complete bitstream transmission caused by lighting changes and minimizing bandwidth waste.

[0033] Both of the above adaptive mechanisms are triggered through real-time automatic detection without manual intervention. Before coarse comparison is started, the system first uses the noise detection module to determine the noise intensity of the current frame and the brightness change amplitude of the frame to determine whether it is a scene of sudden illumination change. Then, based on the judgment result, the corresponding downsampling algorithm and brightness threshold are selected, and then coarse comparison is performed. This improves the adaptability of the solution in complex environments and further improves the practicality of the layered comparison strategy. It can be widely adapted to complex scenarios such as monitoring and outdoor display.

[0034] In some embodiments, see Figure 3 , Figure 3This is a flowchart illustrating steps S301-S302 provided in the embodiments of this application. The method further includes steps S301-S302, which will be explained in conjunction with each step.

[0035] In step S301, if the total time taken for coarse comparison and fine comparison exceeds the preset duration, the comparison process of the current frame is immediately terminated, and it is determined that the pixels of the current frame are inconsistent with those of the historical reference frame, triggering the transmission of the complete encoded video stream. The preset duration is dynamically configured based on the video frame rate. The higher the frame rate, the shorter the preset duration. It is also dynamically adjusted in combination with the current system load. When the system load exceeds the preset load threshold, the preset duration is appropriately extended to avoid system overload. In step S302, after timeout processing, the acquisition end records the timeout event and the current system status information, generates a log and monitors it; if timeout events occur continuously, the accuracy level of frame comparison is automatically reduced to prioritize the real-time transmission, and the original accuracy level is restored after the system load decreases.

[0036] When the total time for coarse and fine comparisons exceeds the preset duration, the comparison process for the current frame is immediately terminated, directly determining that the pixels of the current frame are inconsistent with those of the historical reference frame, and triggering the transmission of the complete encoded video stream. The preset duration is dynamically configured based on the video frame rate. The higher the frame rate, the shorter the single-frame transmission cycle, and the smaller the preset duration. For example, the preset duration is 1ms at 60fps and 2ms at 30fps. At the same time, the preset duration is also dynamically adjusted in conjunction with the current system load. The CPU / FPGA utilization rate is obtained in real time through the system load monitoring module. For example, when the load exceeds a preset threshold such as 80%, the preset duration is appropriately extended to avoid system overload.

[0037] The timeout handling logic consists of two parts: first, status recording and monitoring. The status monitoring module at the acquisition end records timeout events and current system status information, including load, frame rate, noise level, etc., and generates logs for subsequent troubleshooting and optimization; second, dynamic precision adjustment. If three or more timeout events occur consecutively, the system will automatically reduce the precision level of frame comparison, such as disabling fine comparison or increasing the coarse comparison threshold, to prioritize ensuring real-time transmission. Once the system load drops below the preset threshold, the original precision level will be automatically restored, achieving a dynamic balance between "real-time performance and precision".

[0038] The above-mentioned processing method differs from existing technologies that often lack timeout processing or simply terminate the comparison. By recording timeouts and dynamically adjusting accuracy, it avoids transmission crashes caused by system overload and ensures judgment accuracy after the load recovers. This significantly improves the stability and adaptability of the solution, ensuring that the real-time performance of video transmission can still be maintained under high load and high noise scenarios.

[0039] In some embodiments, see Figure 4 , Figure 4This is a flowchart illustrating steps S401-S402 provided in the embodiments of this application. The method further includes steps S401-S402, which will be explained in conjunction with each step.

[0040] In step S401, when the number of continuously received still frame data packets reaches a set value and the hash value of all data packets matches the local cache hash value, the zero-stream mode is entered; wherein, the set value is dynamically configured based on network bandwidth and can be manually adjusted through the user configuration interface; In step S402, in zero-stream mode, the receiving end sends a heartbeat confirmation signal to the acquisition end every preset time. The heartbeat signal contains the status information of the current output frame. The acquisition end sends back a status response, which contains the current frame acquisition status and network link detection results of the acquisition end. If no status response is received for a preset number of consecutive times, or if the received response information shows a link abnormality, the receiving end automatically exits the zero-stream mode and requests full frame synchronization. During the synchronization process, incremental synchronization is used, and only the difference between the frame and the locally cached frame is transmitted to save bandwidth.

[0041] Entering zero-stream mode requires two conditions: the number of continuously received still frame data packets at the receiving end reaches a set value, and the hash value of all data packets matches the hash value of the local cache. In this embodiment, the set value is preferably 10 frames. This set value can be dynamically configured based on network bandwidth; the lower the bandwidth, the smaller the set value. For example, the set value is 5 frames for 1Mbps bandwidth and 15 frames for 10Mbps bandwidth, ensuring faster entry into bandwidth-saving mode in low-bandwidth scenarios. It also supports manual adjustment by the user through the configuration interface, improving the flexibility of the solution.

[0042] Upon entering zero-stream mode, the system ceases transmitting regular still frame packets, maintaining link synchronization solely through periodic heartbeat signals. These heartbeat signals are sent by the receiver's heartbeat interaction module every preset time interval, such as 1 second, and are extremely small, only 16 bytes in size. They contain status information of the current output frame, such as frame identifier and display status. After receiving the heartbeat, the acquisition end responds through its status monitoring module. The response information includes the acquisition end's current frame acquisition status, such as whether the frame is still, the current hash value, and network link detection results, such as packet loss rate and latency. This method achieves "theoretically zero bandwidth" transmission, further reducing bandwidth consumption in long-duration still frame scenarios.

[0043] To ensure link stability, this application also includes an exit mechanism. When the receiving end fails to receive a status response from the acquisition end three consecutive times, and the timeout period is 2 seconds, or when the received response information indicates a link anomaly such as a packet loss rate > 5% or a latency > 100ms, it automatically exits the zero-stream mode. After exiting, the receiving end requests complete frame synchronization from the acquisition end. The synchronization process uses incremental synchronization, transmitting only the differences between the received and locally buffered frames, balancing synchronization speed and bandwidth savings.

[0044] The entire zero-stream mode control process forms a closed loop. The receiving end enters the mode after continuously receiving a set number of consistent still frame packets. Synchronization is maintained through periodic heartbeats. If the link is normal, the mode is maintained; otherwise, it exits and requests incremental synchronization. After updating the cache, the normal still frame determination process resumes. This embodiment can further reduce bandwidth consumption in long-duration still frame scenarios such as document reading and monitoring pauses. Simultaneously, through heartbeat interaction and abnormal exit mechanisms, it avoids the risk of link loss of control, achieving a synergistic improvement in bandwidth optimization and link stability.

[0045] In some embodiments, see Figure 5 , Figure 5 This is a flowchart illustrating steps S501-S502 provided in the embodiments of this application. The method also includes hash verification steps S501-S502, which will be explained in conjunction with each step.

[0046] In step S501, when the hash values ​​do not match, the integrity of the still frame data packet is checked. The check process includes data packet length check, header identifier check and CRC cyclic redundancy check. In step S502, if any verification item fails, it is determined that there is data packet loss, and the acquisition end is requested to retransmit the still frame data packet. The number of retransmissions shall not exceed the preset number of retransmissions. If the data packet is complete, a second hash verification is performed.

[0047] When a hash mismatch occurs at the receiving end, the complete frame is not requested directly. Instead, the integrity of the still frame data packet is checked first. This prioritizes troubleshooting transmission problems rather than directly adopting a high-bandwidth solution. The check consists of three layers: the first layer is a data packet length check, verifying that it is the preset 20 bytes, i.e., the length before FEC redundancy; the second layer is a header identifier check, verifying that it is the preset 0xAA55, ensuring that the received data is a still frame packet and not other data; the third layer is a CRC cyclic redundancy check, using a polynomial 0x8005, which can effectively detect bit errors during data transmission. These three layers of checks comprehensively cover common transmission problems such as packet loss, packet errors, and packet type errors.

[0048] If any verification item fails, the system determines that there is data packet loss. The receiving end sends a retransmission request to the acquisition end through the complete frame request module, requesting the retransmission of the still frame data packet. At the same time, the number of retransmissions is limited to no more than 3 times to avoid delays caused by infinite retransmissions. If the verification still fails after 3 retransmissions, it indicates that the link status is poor. Only then is the complete frame request triggered to ensure reasonable use of resources.

[0049] In some embodiments, when the acquisition end sends a still frame data packet, it uses forward error correction coding (FEC) to add redundant verification information. The redundant coding adopts the RS coding algorithm, and the redundancy is dynamically adjusted based on the network packet loss rate. Packet loss data is collected in real time through network packet loss rate monitoring. When the packet loss rate is not higher than the preset packet loss rate threshold, the redundancy is taken as the first preset ratio. When the packet loss rate is higher than the preset packet loss rate threshold, the redundancy is taken as the second preset ratio.

[0050] Here, the Reed-Solomon coding algorithm is selected. This algorithm has good error correction capabilities for common burst and random errors in network transmission and can accurately adapt to unstable network scenarios such as Wi-Fi and low-bandwidth wired networks. The encoding process is implemented by the forward error correction coding module at the acquisition end, while the decoding is completed collaboratively by the integrity verification module at the receiving end. The decoding delay is <0.5ms, which will not affect the real-time performance of the transmission, ensuring that the solution improves reliability without sacrificing real-time requirements.

[0051] Redundancy, or the proportion of redundant data to original data, is not a fixed value but is configured in real time based on the network packet loss rate. The system collects link packet loss data in real time through the network packet loss rate monitoring module. When the packet loss rate is ≤1%, i.e., the preset threshold, a low redundancy of 5% is used, corresponding to RS(255,239) encoding, to reduce the bandwidth occupation of redundant data. When the packet loss rate is >1%, it switches to a high redundancy of 20%, corresponding to RS(255,204) encoding, which greatly improves error recovery capability and ensures that even if some data is lost, the complete still frame packet can still be recovered through the redundancy information.

[0052] FEC's active protection can significantly reduce the number of retransmissions. When a small number of packets are lost in a still frame, the receiver can recover them directly through redundant information without requesting retransmission from the acquisition end. The retransmission mechanism is only triggered when the amount of packet loss exceeds the FEC's error correction capability. The two work together to significantly reduce the frequency of retransmissions and improve transmission efficiency.

[0053] For the entire process, after the acquisition end encapsulates the still frame packet, it first determines the redundancy through network packet loss rate monitoring, then adds redundancy information through RS encoding, and then sends the encoded still frame packet; the receiving end first performs error correction or recovery through the redundancy information, then performs integrity verification, and finally outputs normally or triggers retransmission. This embodiment addresses the problem of insufficient transmission reliability in unstable network scenarios by improving the anti-interference capability of the still frame packet through an active error correction mechanism, and combines dynamic redundancy adjustment to balance bandwidth saving and error correction effect, making the solution widely adaptable to complex network scenarios such as wireless KVM and remote desktop.

[0054] In summary, the embodiments of this application have the following beneficial effects: In terms of bandwidth optimization, the average bitrate is close to 0KBps when the image is completely still, requiring only occasional 20-byte still frame packets. Compared to traditional solutions, this saves over 99% of bandwidth. Furthermore, the zero-bitstream mode further reduces the frequency of still frame packet transmission, significantly improving adaptability to low-bandwidth scenarios. Regarding image quality stability, still images are directly and repeatedly output through local complete decoding, eliminating the breathing effect caused by H264 / H265 compression. Simultaneously, the layered comparison strategy balances comparison accuracy and noise adaptability, ensuring accurate still frame identification even in scenes with changing lighting, guaranteeing extremely stable image quality. In terms of real-time transmission, image changes can be switched with a delay of ≤1 frame, combined with timeout handling... The management mechanism effectively avoids latency caused by system overload. By dynamically adjusting the comparison accuracy level, it ensures real-time response under different load scenarios. In terms of transmission reliability, forward error correction coding and integrity verification form a dual guarantee. Combined with hash verification and retransmission mechanisms, it can effectively reduce the impact of network packet loss and transmission errors on image quality. The heartbeat interaction mechanism in zero-bitstream mode can ensure that the link status is controllable and can quickly synchronize in case of anomalies. In addition, the solution is compatible with existing H264 / H265 hardware codecs without modifying the underlying encoder. Each module is functionally independent and can flexibly adjust preset parameters, possessing excellent compatibility and scalability, and can adapt to different frame rates, bandwidths and noise environments.

[0055] Based on the same inventive concept, this application also provides a hash-based still frame transmission device corresponding to the hash-based still frame transmission method in the first embodiment. Since the principle of the device in this application is similar to the hash-based still frame transmission method, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.

[0056] like Figure 6 As shown, Figure 6 This is a schematic diagram of the structure of the hash-based still frame transmission device 600 provided in an embodiment of this application. The hash-based still frame transmission device 600 includes: The comparison module 601 is used to acquire video frames in real time at the acquisition end and compare the currently acquired video frames with the locally cached historical reference frames at the pixel level. The calculation module 602 is used to calculate the hash value of the current frame if the pixels of the current frame are completely consistent with those of the historical reference frame, and send only the still frame data packet containing the hash value to the receiving end. The comparison module 603 is used to compare the hash value in the received still frame data packet with the hash value corresponding to the historical reference frame in the local cache after the receiving end receives the still frame data packet; The execution module 604 is used to directly and repeatedly output the locally cached historical reference frames if the comparison is consistent; if the comparison is inconsistent or the acquisition end determines that the pixels of the current frame and the historical reference frame are inconsistent, the receiving end receives the complete encoded video stream sent by the acquisition end, decodes it, outputs it, and updates the locally cached historical reference frames and corresponding hash values.

[0057] Those skilled in the art should understand that Figure 6 The functions of each unit in the hash-based still frame transmission device 600 shown can be understood by referring to the relevant description of the hash-based still frame transmission method described above. Figure 6 The functions of each unit in the hash-based still frame transmission device 600 shown can be implemented by a program running on a processor or by specific logic circuits.

[0058] In one possible implementation, the pixel-level comparison employs a hierarchical comparison strategy, which includes: The current frame and historical reference frames are downsampled to obtain a reduced frame. A quick coarse comparison is performed based on the difference in the mean brightness, and the similarity is judged based on the difference in the mean brightness and the variance of brightness. If the coarse comparison similarity is greater than a preset threshold, a pixel-by-pixel fine comparison is performed on the original size frame. The fine comparison uses a pixel grayscale value difference threshold for judgment, and when the absolute value of the difference exceeds the preset difference threshold, the pixel is determined to be mismatched.

[0059] In one possible implementation, the downsampling uses a bilinear interpolation algorithm with a preset ratio and dynamically switches to a Gaussian downsampling algorithm based on the noise level of the video frame. Gaussian downsampling is enabled when the noise intensity of the video frame exceeds a preset noise threshold. The coarse comparison sets a preset threshold for the difference in the average brightness, and this preset threshold is adaptively adjusted based on changes in ambient light, automatically expanding the threshold range in scenarios with sudden changes in light.

[0060] In one possible implementation, the method further includes: If the total time taken for coarse and fine comparisons exceeds the preset duration, the comparison process for the current frame will be terminated immediately, and it will be determined that the pixels of the current frame are inconsistent with those of the historical reference frame, triggering the transmission of the complete encoded video stream. The preset duration is dynamically configured based on the video frame rate. The higher the frame rate, the shorter the preset duration. It is also dynamically adjusted in combination with the current system load. When the system load exceeds the preset load threshold, the preset duration will be appropriately extended to avoid system overload. After timeout processing, the acquisition end records the timeout event and the current system status information, generates a log and monitors it; if timeout events occur continuously, the accuracy level of frame comparison is automatically reduced to prioritize the real-time transmission, and the original accuracy level is restored after the system load decreases.

[0061] In one possible implementation, the method further includes: When the number of consecutively received still frame data packets reaches a set value, and the hash value of all data packets matches the local cache hash value, the zero-stream mode is entered; wherein, the set value is dynamically configured based on network bandwidth and can be manually adjusted through the user configuration interface; In zero-stream mode, the receiver sends a heartbeat confirmation signal to the acquisition end every preset time interval. The heartbeat signal contains the status information of the current output frame. The acquisition end sends back a status response, which contains the current frame acquisition status and network link detection results of the acquisition end. If no status response is received for a preset number of consecutive times, or if the received response information shows that the link is abnormal, the receiver automatically exits the zero-stream mode and requests full frame synchronization. During the synchronization process, incremental synchronization is used, and only the difference between the frame and the locally buffered frame is transmitted to save bandwidth.

[0062] In one possible implementation, the method further includes a hash verification step: When the hash values ​​do not match, the integrity of the still frame data packet is checked. The check process includes data packet length check, header identifier check and CRC cyclic redundancy check. If any verification item fails, it is determined that there is data packet loss, and the acquisition end is requested to retransmit the still frame data packet. The number of retransmissions shall not exceed the preset number of retransmissions. If the data packet is complete, a second hash verification is performed.

[0063] In one possible implementation, when the acquisition end sends a still frame data packet, it uses forward error correction coding (FEC) to add redundant verification information. The redundancy coding adopts the RS coding algorithm, and the redundancy is dynamically adjusted based on the network packet loss rate. Packet loss data is collected in real time through network packet loss rate monitoring. When the packet loss rate is not higher than the preset packet loss rate threshold, the redundancy is taken as a first preset ratio. When the packet loss rate is higher than the preset packet loss rate threshold, the redundancy is taken as a second preset ratio.

[0064] The above-mentioned hash-based still frame transmission device has the following advantages: In terms of bandwidth optimization, the average bitrate is close to 0KBps when the image is completely still, requiring only occasional 20-byte still frame packets. Compared to traditional solutions, this saves over 99% of bandwidth. Furthermore, the zero-bitstream mode further reduces the frequency of still frame packet transmission, significantly improving adaptability to low-bandwidth scenarios. Regarding image quality stability, still images are directly and repeatedly output through local complete decoding, eliminating the breathing effect caused by H264 / H265 compression. Simultaneously, the layered comparison strategy balances comparison accuracy and noise adaptability, ensuring accurate still frame identification even in scenes with changing lighting, guaranteeing extremely stable image quality. In terms of real-time transmission, image changes can be switched with a delay of ≤1 frame, combined with timeout handling... The management mechanism effectively avoids latency caused by system overload. By dynamically adjusting the comparison accuracy level, it ensures real-time response under different load scenarios. In terms of transmission reliability, forward error correction coding and integrity verification form a dual guarantee. Combined with hash verification and retransmission mechanisms, it can effectively reduce the impact of network packet loss and transmission errors on image quality. The heartbeat interaction mechanism in zero-bitstream mode can ensure that the link status is controllable and can quickly synchronize in case of anomalies. In addition, the solution is compatible with existing H264 / H265 hardware codecs without modifying the underlying encoder. Each module is functionally independent and can flexibly adjust preset parameters, possessing excellent compatibility and scalability, and can adapt to different frame rates, bandwidths and noise environments.

[0065] like Figure 7 As shown, Figure 7 This is a schematic diagram of the composition structure of the electronic device 700 provided in the embodiments of this application. The electronic device 700 includes: The device 700 includes a processor 701, a storage medium 702, and a bus 703. The storage medium 702 stores machine-readable instructions that can be executed by the processor 701. When the electronic device 700 is running, the processor 701 communicates with the storage medium 702 via the bus 703. The processor 701 executes the machine-readable instructions to perform the steps of the hash comparison-based still frame transmission method described in the embodiments of this application.

[0066] In practical applications, the various components in the electronic device 700 are coupled together via a bus 703. It is understood that the bus 703 is used to achieve communication between these components. In addition to a data bus, the bus 703 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 7 The general designated all buses as Bus 703.

[0067] The above-mentioned electronic devices have the following beneficial effects: In terms of bandwidth optimization, the average bitrate is close to 0KBps when the image is completely still, requiring only occasional 20-byte still frame packets. Compared to traditional solutions, this saves over 99% of bandwidth. Furthermore, the zero-bitstream mode further reduces the frequency of still frame packet transmission, significantly improving adaptability to low-bandwidth scenarios. Regarding image quality stability, still images are directly and repeatedly output through local complete decoding, eliminating the breathing effect caused by H264 / H265 compression. Simultaneously, the layered comparison strategy balances comparison accuracy and noise adaptability, ensuring accurate still frame identification even in scenes with changing lighting, guaranteeing extremely stable image quality. In terms of real-time transmission, image changes can be switched with a delay of ≤1 frame, combined with timeout handling... The management mechanism effectively avoids latency caused by system overload. By dynamically adjusting the comparison accuracy level, it ensures real-time response under different load scenarios. In terms of transmission reliability, forward error correction coding and integrity verification form a dual guarantee. Combined with hash verification and retransmission mechanisms, it can effectively reduce the impact of network packet loss and transmission errors on image quality. The heartbeat interaction mechanism in zero-bitstream mode can ensure that the link status is controllable and can quickly synchronize in case of anomalies. In addition, the solution is compatible with existing H264 / H265 hardware codecs without modifying the underlying encoder. Each module is functionally independent and can flexibly adjust preset parameters, possessing excellent compatibility and scalability, and can adapt to different frame rates, bandwidths and noise environments.

[0068] This application also provides a computer-readable storage medium storing executable instructions. When the executable instructions are executed by at least one processor 701, the hash-based still frame transmission method described in this application is implemented.

[0069] In some embodiments, the storage medium may be a magnetic random access memory (FRAM), a read-only memory (ROM), or a programmable read-only memory (PROM). Erasable Programmable Read-Only Memory (EPROM) Electrically Erasable Programmable Read-Only Memory (EEPROM) Read-only memory, flash memory, magnetic surface storage, optical disc, or CD-ROM ROM, Compact Disc Read It can be a memory such as a memory only; or it can be a device that includes one or any combination of the above-mentioned memories.

[0070] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0071] As an example, executable instructions may, but do not necessarily, correspond to files in the file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborating files (e.g., a file that stores one or more modules, subroutines, or code sections).

[0072] As an example, executable instructions can be deployed to execute on a single computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.

[0073] The aforementioned computer-readable storage media have the following beneficial effects: In terms of bandwidth optimization, the average bitrate is close to 0KBps when the image is completely still, requiring only occasional 20-byte still frame packets. Compared to traditional solutions, this saves over 99% of bandwidth. Furthermore, the zero-bitstream mode further reduces the frequency of still frame packet transmission, significantly improving adaptability to low-bandwidth scenarios. Regarding image quality stability, still images are directly and repeatedly output through local complete decoding, eliminating the breathing effect caused by H264 / H265 compression. Simultaneously, the layered comparison strategy balances comparison accuracy and noise adaptability, ensuring accurate still frame identification even in scenes with changing lighting, guaranteeing extremely stable image quality. In terms of real-time transmission, image changes can be switched with a delay of ≤1 frame, combined with timeout handling... The management mechanism effectively avoids latency caused by system overload. By dynamically adjusting the comparison accuracy level, it ensures real-time response under different load scenarios. In terms of transmission reliability, forward error correction coding and integrity verification form a dual guarantee. Combined with hash verification and retransmission mechanisms, it can effectively reduce the impact of network packet loss and transmission errors on image quality. The heartbeat interaction mechanism in zero-bitstream mode can ensure that the link status is controllable and can quickly synchronize in case of anomalies. In addition, the solution is compatible with existing H264 / H265 hardware codecs without modifying the underlying encoder. Each module is functionally independent and can flexibly adjust preset parameters, possessing excellent compatibility and scalability, and can adapt to different frame rates, bandwidths and noise environments.

[0074] In the several embodiments provided in this application, it should be understood that the disclosed methods and electronic devices can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components may be combined, or integrated into another system, or some features may be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0075] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0076] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0077] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a platform server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0078] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for transmitting still frames based on hash comparison, characterized in that, Includes the following steps: The acquisition end captures video frames in real time and compares the currently captured video frames with the locally cached historical reference frames at the pixel level. If the current frame has exactly the same pixels as the historical reference frame, then calculate the hash value of the current frame and send only the still frame data packet containing the hash value to the receiving end. After receiving the still frame data packet, the receiving end compares the hash value in it with the hash value corresponding to the historical reference frame cached locally; If the comparison matches, the receiving end directly repeats the locally cached historical reference frame; if the comparison does not match or the acquisition end determines that the pixels of the current frame and the historical reference frame are inconsistent, the receiving end receives the complete encoded video stream sent by the acquisition end, decodes it, and outputs and updates the locally cached historical reference frame and its corresponding hash value.

2. The method according to claim 1, characterized in that, The pixel-level comparison employs a layered comparison strategy, which includes: The current frame and historical reference frames are downsampled to obtain a reduced frame. A quick coarse comparison is performed based on the difference in the mean brightness, and the similarity is judged based on the difference in the mean brightness and the variance of brightness. If the coarse comparison similarity is greater than a preset threshold, a pixel-by-pixel fine comparison is performed on the original size frame. The fine comparison uses a pixel grayscale value difference threshold for judgment, and when the absolute value of the difference exceeds the preset difference threshold, the pixel is determined to be mismatched.

3. The method according to claim 2, characterized in that, The downsampling uses a bilinear interpolation algorithm with a preset ratio, and dynamically switches to a Gaussian downsampling algorithm based on the noise level of the video frame. Gaussian downsampling is enabled when the noise intensity of the video frame exceeds a preset noise threshold. The coarse comparison sets a preset threshold for the difference in the average brightness, and this preset threshold is adaptively adjusted based on changes in ambient light, automatically expanding the threshold range in scenarios with sudden changes in light.

4. The method according to claim 2, characterized in that, The method further includes: If the total time taken for coarse and fine comparisons exceeds the preset duration, the comparison process for the current frame will be terminated immediately, and it will be determined that the pixels of the current frame are inconsistent with those of the historical reference frame, triggering the transmission of the complete encoded video stream. The preset duration is dynamically configured based on the video frame rate. The higher the frame rate, the shorter the preset duration. It is also dynamically adjusted in combination with the current system load. When the system load exceeds the preset load threshold, the preset duration will be appropriately extended to avoid system overload. After timeout processing, the acquisition end records the timeout event and the current system status information, generates a log and monitors it; if timeout events occur continuously, the accuracy level of frame comparison is automatically reduced to prioritize the real-time transmission, and the original accuracy level is restored after the system load decreases.

5. The method according to claim 1, characterized in that, The method further includes: When the number of consecutively received still frame data packets reaches a set value, and the hash value of all data packets matches the local cache hash value, the zero-stream mode is entered; wherein, the set value is dynamically configured based on network bandwidth and can be manually adjusted through the user configuration interface; In zero-stream mode, the receiver sends a heartbeat confirmation signal to the acquisition end every preset time interval. The heartbeat signal contains the status information of the current output frame. The acquisition end sends back a status response, which contains the current frame acquisition status and network link detection results of the acquisition end. If no status response is received for a preset number of consecutive times, or if the received response information shows that the link is abnormal, the receiver automatically exits the zero-stream mode and requests full frame synchronization. During the synchronization process, incremental synchronization is used, and only the difference between the frame and the locally buffered frame is transmitted to save bandwidth.

6. The method according to claim 1, characterized in that, The method also includes a hash verification step: When the hash values ​​do not match, the integrity of the still frame data packet is checked. The check process includes data packet length check, header identifier check and CRC cyclic redundancy check. If any verification item fails, it is determined that there is data packet loss, and the acquisition end is requested to retransmit the still frame data packet. The number of retransmissions shall not exceed the preset number of retransmissions. If the data packet is complete, a second hash verification is performed.

7. The method according to claim 1, characterized in that, When the acquisition terminal sends a still frame data packet, it uses forward error correction coding (FEC) to add redundant verification information. The redundancy coding adopts the RS coding algorithm. The redundancy is dynamically adjusted based on the network packet loss rate. Packet loss data is collected in real time through network packet loss rate monitoring. When the packet loss rate is not higher than the preset packet loss rate threshold, the redundancy is taken as the first preset ratio. When the packet loss rate is higher than the preset packet loss rate threshold, the redundancy is taken as the second preset ratio.

8. A still frame transmission device based on hash comparison, characterized in that, The device includes: The comparison module is used to acquire video frames in real time at the acquisition end and compare the currently acquired video frames with the locally cached historical reference frames at the pixel level. The calculation module is used to calculate the hash value of the current frame if the pixels of the current frame are completely identical to those of the historical reference frame, and then send only the still frame data packet containing the hash value to the receiving end. The comparison module is used to compare the hash value in the received still frame data packet with the hash value corresponding to the historical reference frame cached locally. The execution module is used to directly repeat the local cached historical reference frame if the comparison is consistent; if the comparison is inconsistent or the acquisition end determines that the pixels of the current frame and the historical reference frame are inconsistent, the receiving end receives the complete encoded video stream sent by the acquisition end, decodes it, and outputs and updates the local cached historical reference frame and its corresponding hash value.

9. An electronic device, characterized in that, include: The device includes a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the hash-based still frame transmission method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the hash-based still frame transmission method as described in any one of claims 1 to 7.