Binocular 4K picture quick review method
By dynamically switching browsing states on low- and mid-range devices and introducing technologies such as hierarchical view indexing and lockstep mechanisms, the latency and synchronous rendering issues in ultra-high-definition image browsing have been resolved, achieving a balance between fast browsing and detailed analysis and improving interactive performance.
Patent Information
- Application Number
- CN202511301332.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-12
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2045-09-12
AI Technical Summary
On low- to mid-range Android devices, browsing and interacting with ultra-high-definition images suffers from latency and synchronous rendering issues, especially in binocular mode. Users find it difficult to simultaneously achieve rapid positioning and precise analysis, and existing technologies cannot meet the needs of both fast browsing and detailed analysis.
By using a browsing status determination mechanism, the system dynamically switches between fast browsing and normal browsing modes. Combined with hierarchical view indexing, lockstep mechanism, cross-view mirroring compensation, forward replay, and packet loss self-healing technology, it reduces rendering pressure and maintains binocular synchronization, achieving progressive high-definition display.
On devices with limited performance, it achieves a balance between a smooth image browsing experience and accurate defect analysis, solving problems such as display lag, binocular asynchrony, and unrecoverable packet loss, thus improving interactive performance.
Smart Images

Figure CN120812237B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of data processing technology, specifically relating to a method for fast browsing of binocular 4K images. Background Technology
[0002] With the continuous development of display devices and image acquisition technologies, ultra-high-definition (UHD) images are gradually becoming an important application in fields such as industrial inspection, virtual reality, medical imaging, security monitoring, and consumer electronics. Especially in binocular imaging and panoramic stitching scenarios, the resolution of a single image often reaches 4K or even 8K levels, providing richer detail information for the human eye or computer vision systems. However, in practical applications, browsing and interacting with UHD images is still limited by the hardware performance of terminal devices. Particularly on Android devices with insufficient computing power and encoding / decoding efficiency, quickly browsing UHD images remains quite difficult.
[0003] On low- to mid-range Android devices, when users quickly drag ultra-high-definition images, the system often struggles to complete high-resolution decoding and rendering of the target viewport area in real time after each touch event. This results in a noticeable delay between the user's dragging action and the image display, commonly known as "image lag." This discomfort is further amplified by the synchronous rendering delay of the two channels in binocular mode, severely impacting the user experience. Users typically have two needs when browsing ultra-high-definition images: firstly, quickly locating areas within the image, usually requiring low resolution or sampling for rapid dragging; secondly, accurately analyzing defects in localized areas after location, requiring the complete 4K original image. However, existing technologies either only guarantee fast previewing without considering detailed analysis, or sacrifice browsing smoothness in pursuit of detail, lacking a dynamic switching mechanism that balances both needs. Summary of the Invention
[0004] Therefore, the main objective of this invention is to provide a method for fast browsing of binocular 4K images. It dynamically switches between fast and normal browsing by determining the browsing state. During rapid dragging, it utilizes a duty cycle sequence, hierarchical view index, and lockstep mechanism to reduce rendering pressure and maintain binocular synchronization. Simultaneously, it combines cross-view mirror compensation, forward replay, and packet loss self-healing technologies to solve tile loss and latency issues. After the user stops, it employs progressive, original-level backfilling to restore high-definition display ring by ring, ensuring the integrity of details. Thus, this invention balances the need for a fast and smooth browsing experience with accurate defect analysis, overcoming the problems of display lag, binocular asynchrony, unrecoverable packet loss, and large delays in switching after stopping in existing technologies. It significantly improves the interactive performance and practical value of ultra-high-definition images on mid-to-low-end devices.
[0005] The technical solution adopted in this invention is as follows:
[0006] A method for quickly browsing 4K images using binoculars, which includes:
[0007] Step 1: Read the touch coordinates and touch time from the system touch callback, cache at least three consecutive touch callbacks in chronological order, calculate the drag intensity corresponding to the displacement and interval between two adjacent touch callbacks, if the drag intensity of two consecutive touch callbacks reaches the high-level threshold, then enter the fast browsing state; otherwise, maintain the normal browsing state.
[0008] Step 2: Based on the browsing status determination result, construct a hierarchical view index and generate a tile fingerprint chain covering all levels of tiles; generate a preview duty cycle sequence consisting of a retention marker, a skip marker, and a forward-looking marker based on the browsing status. This preview duty cycle sequence includes binocular lockstep markers for synchronizing the left and right eye channels; synchronously select the view level and viewport-related tile set according to the duty cycle position and binocular lockstep markers, rearrange and losslessly encapsulate the selected tiles, and transmit them sequentially; the decoding end unpacks and renders tiles from the left and right eye channels in pairs within the lockstep display time window, and generates temporary preview tiles by cross-view mirroring compensation when encountering missing tiles; the duty cycle continues to advance, and performs forward-looking replay and level rollback operations when a delay or packet loss is detected.
[0009] Step 3: When the drag intensity is detected to drop to a low level threshold and continue for a preset duration, or when a touch end event is detected, freeze the current preview duty cycle and enter the stabilization replacement and gradual restoration process.
[0010] Furthermore, in step 3, the stop replacement and gradual restoration process is as follows: according to the priority tile table, the original level tiles are backfilled ring by ring from the center outwards. Temporary preview tiles marked as cross-eye source are replaced one by one with original source tiles. During the entire replacement process, the binocular lock step mark and lock step display time window remain unchanged until the current viewport area reaches the original level full display.
[0011] Further, in step 1, a first displacement distance and a first time interval are calculated based on the first touch record and the second touch record; a second displacement distance and a second time interval are calculated based on the second touch record and the third touch record; wherein, the displacement distance is calculated according to the pixel distance between two points in the screen pixel coordinate system of the two touch coordinates; the time interval is calculated according to the millisecond difference between the two touch times; the ratio of the first displacement distance to the first time interval is calculated to obtain the first drag intensity; the ratio of the second displacement distance to the second time interval is calculated to obtain the second drag intensity; when any time interval is less than the preset effective time interval threshold, the current determination is discarded and the system waits for the next touch callback to complete the effective time interval.
[0012] Furthermore, for each image of the left and right eyes, a hierarchical view index with four levels—primary, secondary, tertiary, and quaternary—is established in memory. Each level is composed of tiles with fixed side lengths forming a grid, and each tile has a unique number and a fixed-length fingerprint. The fixed-length fingerprint is generated from the pixel content of the tile using an irreversible digest function.
[0013] Furthermore, fixed-length fingerprints from each tile are connected in sequence according to their tile numbers to form a tile fingerprint chain.
[0014] Furthermore, the process of generating a preview duty cycle based on the browsing status includes: selecting a preview duty cycle template based on the browsing status determination result; the duty cycle template consists of three types of markers: retain markers, skip markers, and forward-looking markers, arranged in a cyclical order; when in fast browsing mode, a duty cycle template with a skip marker ratio exceeding a set skip threshold is selected; when in normal browsing mode, a duty cycle template with a retain marker ratio exceeding a set retain threshold is selected; each duty cycle template contains binocular lockstep markers to ensure that the left and right eye channels execute a consistent duty cycle in the same loop.
[0015] Furthermore, using the tile fingerprint chain as the sequence reference, the tile set obtained from the lockstep selection is rearranged and non-destructively encapsulated; each encapsulated segment contains a hierarchy marker header, tile quantity, display sequence number and tile data area. The hierarchy marker header of the encapsulated segment indicates the view level and whether the encapsulated segment comes from the front view marker. The display sequence number is used by the decoding end to restore the display order according to the occupied position.
[0016] Furthermore, the decoder pairs the encapsulated segments of the left and right eye channels according to the display order, and extracts segments with the same occupied position in pairs for rendering within the lockstep display time window. If a channel is missing a segment in the current time window, the cross-eye mirror compensation process is initiated. When a channel is missing a target tile in the current occupied position, a tile with the same occupied position, view level, and tile number is obtained from another channel to generate a temporary preview tile. The generation method is as follows: the obtained tile is copied, geometric translation is performed according to a preset fixed horizontal offset, boundary clipping is performed, and pixel-level stitching is done with adjacent tiles. The temporary preview tile is marked as a cross-eye source and can be covered by subsequent original source tiles. In the occupied position corresponding to the forward view mark, the forward view tile from the fourth-level view is rendered first to reduce visibility latency. If the decoder detects that the same tile has not arrived in two consecutive time windows, the view level of the tile is reduced by one level and re-requested until it is completed in a subsequent time window or the stabilization and replacement process in step three is initiated.
[0017] Furthermore, in step 2, after completing a duty cycle, the system decides whether to continue using the same preview duty cycle or switch to a template with a higher retention mark ratio based on the current browsing status; when the rendering time exceeds the lock step display time window, the view level of the next cycle is immediately rolled back one level.
[0018] By adopting the above technical solutions, this invention achieves the following beneficial effects: it maintains smooth image browsing and accurate detail analysis even on terminal devices with limited hardware performance. First, through a browsing state determination mechanism, this invention can automatically identify fast browsing and normal browsing states based on the user's dragging intensity, and dynamically switch the preview duty cycle sequence in different states. This ensures a smooth interactive experience and allows for gradual restoration of high-resolution images after stabilization, solving the prominent problems of image display delay and unresponsive dragging in traditional methods. Second, the binocular lock-step staggered duty cycle mechanism proposed in this invention ensures that the left and right channels execute a consistent preview strategy in the same loop, thus avoiding stereoscopic visual distortion caused by binocular display asynchrony. Furthermore, through cross-eye mirror compensation technology, temporary preview tiles are generated instantly when a tile is missing in a certain channel, effectively improving the consistency and stability of binocular display. Third, by introducing forward-looking replay and packet loss self-healing mechanisms, this invention can pre-render tiles in the future viewport direction when the user moves quickly, significantly reducing user perception delay. When tiles are continuously missing, it automatically downgrades to request lower-level tiles until the missing tiles are filled, avoiding blank areas or long waiting times. Finally, when the user finishes dragging or slows down, this invention can freeze the current preview sequence and initiate a stop-and-replace and progressive restoration process. It gradually fills in the original-level tiles according to the priority tile table, achieving ring-by-ring coverage from the center to the edge. This ensures that the user can immediately see a clear image of the core area while gradually restoring the full-frame high-resolution display without adding significant latency. This progressive replacement and restoration mechanism allows users to smoothly locate image defects during fast browsing and seamlessly enter a detailed analysis state after stopping, balancing both speed and quality requirements. Through the above technical means, this invention effectively overcomes the problems of browsing lag, binocular asynchrony, unrecoverable packet loss, and large stop-and-replacement delays in existing technologies, achieving efficient, smooth, and sustainable binocular 4K image browsing on performance-limited devices. Attached Figure Description
[0019] Figure 1 This is a flowchart illustrating the method for fast browsing of binocular 4K images provided in an embodiment of the present invention.
[0020] Figure 2 This is a schematic diagram of the tile transmission and packet loss rate analysis curves provided in an embodiment of the present invention;
[0021] Figure 3This is a schematic diagram illustrating the duty cycle sequence switching and transmission efficiency analysis provided in an embodiment of the present invention. Detailed Implementation
[0022] All features disclosed in this specification, or steps in all methods or processes disclosed herein, may be combined in any way, except for mutually exclusive features and / or steps.
[0023] Any feature disclosed in this specification (including any appended claims and abstract) may be replaced by other equivalent or similar features, unless specifically stated otherwise. That is, unless specifically stated otherwise, each feature is merely one example of a series of equivalent or similar features.
[0024] refer to Figure 1 A method for quickly browsing 4K images using binoculars, which includes:
[0025] Step 1: Read the touch coordinates and touch time from the system touch callback, cache at least three consecutive touch callbacks in chronological order, calculate the drag intensity corresponding to the displacement and interval of two adjacent touch callbacks, if the drag intensity of two consecutive touch callbacks reaches the high-level threshold, then enter the fast browsing state; otherwise, maintain the normal browsing state.
[0026] In the specific execution process, a touch record buffer queue with a capacity of 3 is established, storing the first, second, and third touch records in chronological order. Each touch record contains only the touch coordinates in the screen pixel coordinate system and the touch time in milliseconds. When a new motion-type touch event is generated by the system touch callback, the touch coordinates and touch time corresponding to the event are written to the third touch record, and the original third touch record is moved down to the second touch record, and the original second touch record is moved down to the first touch record. When the buffer queue has less than 3 records, no judgment is made, and reception continues until the buffer queue contains 3 valid touch records.
[0027] The first displacement distance and the first time interval are calculated based on the first and second touch records; the second displacement distance and the second time interval are calculated based on the second and third touch records. The displacement distance is calculated as the pixel distance between two points in the screen pixel coordinate system based on the two touch coordinates; the time interval is calculated as the difference in milliseconds between the two touch times. The ratio of the first displacement distance to the first time interval is calculated to obtain the first drag intensity; the ratio of the second displacement distance to the second time interval is calculated to obtain the second drag intensity. To avoid abnormal jitter affecting the judgment, when any time interval is less than the system touch callback time resolution capability, the current judgment is discarded and the system waits for the next system touch callback to complete the valid time interval.
[0028] A high-level threshold is pre-set in the configuration storage to distinguish between normal browsing and fast browsing states. After each calculation of two drag intensities, the first drag intensity is compared with the high-level threshold, and then the second drag intensity is compared with the high-level threshold: if both the first and second drag intensities are greater than or equal to the high-level threshold, the browsing state is set to fast browsing; otherwise, the browsing state is set to normal browsing. To ensure determinism, the browsing state flag is output only once within a single system touch callback processing flow and is immediately provided to subsequent steps.
[0029] If touch coordinates are missing, touch time is missing, or either of them is invalid, the corresponding touch record is cleared and the browsing state is kept marked as normal browsing state. If the system touch callback is temporarily interrupted, causing the buffer queue time span to increase abnormally, the browsing state mark will not be updated this time, and the previous browsing state mark will be used. When a new mobile touch event is received for the first time after a touch end event is detected, the touch record buffer queue is reset, and the above judgment process will only be resumed after the new buffer queue has accumulated 3 valid touch records again.
[0030] Step 2: Based on the browsing status determination result, construct a hierarchical view index and generate a tile fingerprint chain covering all levels of tiles; generate a preview duty cycle sequence consisting of a retention marker, a skip marker, and a forward-looking marker based on the browsing status. This preview duty cycle sequence includes binocular lockstep markers for synchronizing the left and right eye channels; synchronously select the view level and viewport-related tile set according to the duty cycle position and binocular lockstep markers, rearrange and losslessly encapsulate the selected tiles, and transmit them sequentially; the decoding end unpacks and renders tiles from the left and right eye channels in pairs within the lockstep display time window, and generates temporary preview tiles by cross-view mirroring compensation when encountering missing tiles; the duty cycle continues to advance, and performs forward-looking replay and level rollback operations when a delay or packet loss is detected.
[0031] In the specific implementation, the top left corner of the screen is used as the origin of the coordinate system. The horizontal direction to the right is the positive horizontal direction, and the vertical direction downwards is the positive vertical direction. All coordinates are represented in pixels. The pixels of each image are arranged in the order of red channel, green channel, blue channel, and alpha channel, with a single channel bit depth of 8 bits, stored row by row from top to bottom and pixel by pixel from left to right. Four levels are established for each image: original, secondary, tertiary, and quaternary. The original level directly references the input pixels. The secondary level is generated from the original level by integer scaling. The scaling rule is to reduce the number of horizontal and vertical pixels to half that of the original level. Pixel sampling adopts a fixed strategy of approximating the mean of the entire block or replacing neighboring pixels, and this option is kept unique in the configuration storage. The tertiary level is generated from the secondary level using the same rules. The quaternary level is generated from the tertiary level using the same rules. Each level is frozen immediately after generation and its pixel content is not modified in subsequent steps.
[0032] Each of the four levels is assigned the same fixed-side tile length, stored in the configuration storage and represented in pixels, e.g., 256. Each level is neatly divided into grids along the horizontal and vertical axes according to the fixed-side tile length. When the rightmost or bottommost tile is shorter than the fixed-side tile length, it is padded with zero values in the pixel buffer, ensuring that each level consists of a complete grid composed of several fixed-side tiles. The fixed-side tiles for each level are numbered sequentially from top to bottom and left to right. A unique number is obtained by sequentially concatenating four parts: a per-view image identifier, a level number, a row number, and a column number. The per-view image identifier distinguishes the left and right channels. The level number is assigned 1, 2, 3, and 4 for the primary, secondary, tertiary, and quaternary levels, respectively. The row and column numbers increment sequentially from 1. Unique numbers are not repeated within the same browsing session on the same terminal. A fixed-length fingerprint is generated for each fixed-side tile, with a fingerprint length of 16 bytes. The generation steps are as follows: Without changing the pixel values, read the pixel data of the fixed-side-length tile, and sequentially concatenate the red channel bytes, green channel bytes, blue channel bytes, and transparency channel bytes in row-major order to form a continuous byte stream; retain zero-value bytes in the edge-filling region and include them in the concatenation; input the continuous byte stream into an irreversible digest function, and output a 16-byte result; use this 16-byte result as the fixed-length fingerprint of the fixed-side-length tile. The irreversible digest function is uniquely specified in the configuration storage and remains unchanged throughout the entire system lifetime. The fixed-length fingerprint is only used for fast consistency verification and cross-frame reuse determination, and is not used for image display and color calculations.
[0033] A level description record is created for each level. This record includes the width (in pixels), height (in pixels), number of grid rows, number of grid columns, fixed-side tile length, number of fixed-side tiles, and the starting position of the fixed-side tile description record array. A fixed-side tile description record is also created for each fixed-side tile. This record includes a unique ID, level sequence number, row sequence number, column sequence number, top-left corner coordinates (in pixels), bottom-right corner coordinates (in pixels), offset of the pixel data in the pixel buffer, pixel data length, and a fixed-length fingerprint. The level description records for all four levels are sequentially written to the hierarchical view index header, and all fixed-side tile description records are sequentially written to the hierarchical view index body, forming a complete hierarchical view index. After writing, each fixed-side tile description record is iterated through, and the fixed-length fingerprint is used to verify the consistency of multiple generation results for the same unique ID in the current session. If consistent, the record is marked as reusable; otherwise, it is marked as non-reusable and a timestamp is recorded. Hierarchical view indexes are stored in memory and can optionally be written to persistent storage. When writing, the table header is kept first and the table body is kept last, and the data is saved in page alignment. When reading, the data is restored in the same order.
[0034] Furthermore, the preview duty cycle sequence is selected and generated solely based on the browsing state determination result, and is bound to the binocular lockstep markers during generation to ensure consistent duty cycle relationships between the two channels. This includes: pre-setting two types of template sets in the configuration storage: a fast browsing state template set and a normal browsing state template set. Each template consists of a template identifier, loop length, duty cycle marker array, template version number, and creation time. The duty cycle marker array consists of three types of markers: reserved markers, skip markers, and forward markers, arranged in a fixed order. In the fast browsing state template set, the proportion of skip markers in each template is higher than the proportion of reserved markers, while in the normal browsing state template set, the proportion of reserved markers in each template is higher than the proportion of skip markers. When the browsing state is marked as fast browsing, a template with a loop length of 8 and containing at least 4 skip markers is selected from the fast browsing state template set; when the browsing state is marked as normal browsing, a template with a loop length of 12 and containing at least 8 reserved markers is selected from the normal browsing state template set; if a template already exists in the previous loop and the browsing state has not changed, the template continues to be used until the loop ends.
[0035] A binocular lockstep marker is generated for the selected template. This marker includes a template identifier, an initial value for the loop counter, an initial value for the duty cycle position number, and synchronization numbers for the left and right channels. The binocular lockstep marker is simultaneously written to the synchronization buffers of the left and right channels, and the duty cycle position number is set to 1 in both channels. At the beginning of each rendering cycle, the duty cycle position number is read from the binocular lockstep marker, and the marker type for the current duty cycle position is determined according to the duty cycle marker array. After processing the current duty cycle position, the duty cycle position number is incremented by 1. When the duty cycle position number exceeds the loop length, the duty cycle position number is reset to 1, and the loop counter is incremented by 1. The order and content of the duty cycle marker array must not be modified during the entire loop.
[0036] Lockstep selection and view level determination: Based on the binocular lockstep marker, for each occupied position, the view level and tile set for preview are selected from the hierarchical view index. Fixed rules are applied to the reserved marker, skip marker, and forward marker, as follows: The viewport rectangle provided by the current rendering system is obtained. Using the fixed side length of the tile as a step, the tile set intersecting the viewport is located in the hierarchical view index as the viewport tile set. A ring of neighboring tiles is formed by adding outer ring tiles that share sides or corners with the viewport tile set as the center. These two are then merged into the viewport and the ring of neighboring tiles set. A cache of the previous reserved tile set is maintained for each channel, which is directly reused in the occupied position corresponding to the skip marker. When executing the occupied position corresponding to the reserved marker, the previous reserved tile set cache is overwritten with the new viewport and the ring of neighboring tiles set. When in fast browsing mode, the target view level is set to level three; when in normal browsing mode, the target view level is set to the secondary level. If all tiles of the target view level are not loaded before the end of a loop, the target view level is temporarily downgraded to level three in the first reserved marker position of the next loop until loading returns to normal. The target view level, viewport, and surrounding neighborhood tile set are read. Tiles with fixed side lengths matching the tile set are retrieved from the corresponding level of the hierarchical view index in unique order, serving as the preview tile set for this empty position. This preview tile set is written to the previous reserved tile set cache for reuse in subsequent skip markers. Tiles are not newly retrieved from the hierarchical view index; instead, the previous reserved tile set cache is directly referenced as the preview tile set for this empty position. If the previous reserved tile set cache is empty, a reserved marker processing is immediately performed and the result is written to the cache before continuing to advance the empty position sequence.
[0037] The most recent movement direction is calculated based on the three most recent touch records. Specifically, the sign and absolute value of the difference between the third touch record and the second touch record in the horizontal and vertical coordinates are compared, and the movement direction is discretized into one of the following: right, left, down, up, down right, up right, down left, and up left. Starting from the outer edge of the viewport, consecutive tiles are sequentially selected on the grid at the target view level along the movement direction to generate a front-view tile queue of length 12. At each occupied position corresponding to the front-view marker, four tiles are sequentially taken from the head of the front-view tile queue as the preview tile set for this occupied position and removed from the queue. When a movement direction is detected to be inconsistent with the previous occupied position, the front-view tile queue is cleared and regenerated according to the new movement direction. The left and right channels read the same binocular lock step marker and duty marker type at the same duty position, and complete the reserved marker processing, skip marker processing or forward marker processing respectively according to the above rules to obtain a consistent preview rhythm for the two channels; when either channel fails to complete the tile selection in time at the current duty position, the two channels simultaneously use the previous reserved tile set cache to maintain display consistency.
[0038] The lossless encapsulation of tile fingerprint chain construction and rearrangement includes the following specific implementation process: at each duty cycle, the sending end executes according to the binocular lockstep marker: read the tile set obtained by lockstep selection at this duty cycle, where each fixed-side-length tile in the tile set has a unique number and a fixed-length fingerprint. Sort the tile set by unique number in ascending order, using it as the unique order reference for subsequent concatenation and encapsulation. Read the fixed-length fingerprints sequentially according to the sorted unique numbers, and connect them sequentially to form a continuous byte sequence, thus obtaining the tile fingerprint chain. To facilitate fast consistency verification at the unpacking end, extract the first fixed-length fingerprint from the tile fingerprint chain as the fingerprint chain start fingerprint, extract the last fixed-length fingerprint as the fingerprint chain end fingerprint, and use an irreversible digest function to calculate the encapsulation check code for the entire tile fingerprint chain. The fingerprint chain start fingerprint, fingerprint chain end fingerprint, and encapsulation check code are only used for consistency verification and do not participate in image display. Each encapsulation segment consists of a hierarchical marker header, the number of tiles, the display order number, the fingerprint chain start fingerprint, the fingerprint chain end fingerprint, the encapsulation check code, and the order of the tile data area. The hierarchy header contains a view level field and a front-view source field. The view level field can be one of the following: primary, secondary, tertiary, or quaternary. The front-view source field can be one of the following: from the front-view marker or not from the front-view marker. The tile count is the number of fixed-length tiles contained in this encapsulation segment. The display order number is a decimal number obtained by concatenating the current cycle counter and the current duty cycle number, used by the receiver to restore the display order according to the duty cycle. The tile data area contains several tile records. Each tile record contains a unique number, a fixed-length fingerprint, a pixel data length, and pixel data. The pixel data is written line by line in the order of red channel, green channel, blue channel, and transparency channel. All fields are written in byte alignment, and the segment is padded with zeros to 4 bytes at the end.
[0039] Following the tile fingerprint chain, tile records in the tile data area are written sequentially to ensure the tile order matches the tile fingerprint chain order. Pixel data is not lossy processed; either uncompressed or lossless compression is used, with the specific method uniquely specified in the configuration storage. After writing the tile data area, the hierarchical marker header, tile quantity, display order number, fingerprint chain start fingerprint, fingerprint chain end fingerprint, and encapsulation checksum are written to generate a complete encapsulation fragment. This encapsulation fragment is pushed into the send buffer queue, awaiting consumption by the transmission or local rendering pipeline. If a unique number is missing, a fixed-length fingerprint is missing, or the pixel data length is inconsistent with the pixel data during encapsulation, the tile record is discarded and not counted in the tile quantity field. This record is also ignored during encapsulation checksum calculation. If the tile data area is empty as a result, an empty encapsulation fragment containing only the hierarchical marker header, a tile quantity of 0, and a display order number is output at this empty position to maintain display order continuity.
[0040] The binocular end-to-end unpacking and lockstep display includes the following specific implementation process: At the receiving end, this is performed for two channels and synchronized via a binocular time synchronization queue: The receiving end reads the encapsulated fragment from the transport layer or local rendering pipeline, parses the layer marker header, tile count, display order number, fingerprint chain start fingerprint, fingerprint chain end fingerprint, and encapsulation checksum, and verifies that the encapsulation checksum matches the fragment content; if they do not match, the encapsulated fragment is marked as invalid and discarded. For valid fragments, a fragment index entry is created, using the display order number as the key, and the fragment pointer is written to the corresponding channel's receive buffer. The tile data area is traversed sequentially. For each tile record, the unique number, fixed-length fingerprint, pixel data length, and pixel data are read. The same irreversible digest function is used to calculate the fixed-length fingerprint for the pixel data and compare it with the fixed-length fingerprint in the record. If they match, the tile record is written to the tile buffer; otherwise, the tile record is discarded and marked as missing in the tile buffer. After traversal is complete, local fingerprint chains are formed by connecting the fixed-length fingerprints in the tile cache. The first and last fixed-length fingerprints are compared with the start and end fingerprints of the fingerprint chain in the segment. If they match, the segment is marked as usable; otherwise, it is marked as unusable and discarded.
[0041] Maintain arrival tables for both left and right channels, using display sequence numbers as keys to store available segment pointers. Establish a stereo time synchronization queue, using display sequence numbers as keys to store paired segment status. Whenever any channel arrives at an available segment, search the stereo time synchronization queue for another channel segment with the same display sequence number: if it already exists, mark that display sequence number as paired; if it does not exist, record it as half-paired and wait for the other channel to arrive. Read the lockstep display time window length from the configuration storage and use the display sequence number as the time progression order. When a certain display sequence number enters the current lockstep display time window, the following rules are executed: If pairing is complete, two segments are retrieved in pairs from the binocular time synchronization queue, and rendering is driven by the view level and the foreground source field in the hierarchy marker header. The tile records within the segment are written into the current view buffer in the order of unique numbers and displayed. If only one channel arrives, the cross-view mirror compensation process is immediately initiated to generate a temporary preview tile for the missing channel, and rendering is completed within the current time window. If neither channel arrives, the previous reserved tile set cache is reused to complete the rendering and a frame drop event is recorded.
[0042] When the receiving end receives a segment with a display sequence number less than the lower bound of the current lockstep display time window, it marks it as expired and discards it. When it receives a segment with a display sequence number the same as the rendered segment number, it marks it as duplicate and discards it. When it receives a segment with a display sequence number greater than the upper bound of the current lockstep display time window, it is retained in the receiving buffer to wait for the corresponding time window to arrive, without triggering pre-rendering. If any channel is missing a usable segment within the lockstep display time window corresponding to a certain display sequence number, the cross-view mirror compensation process is invoked: the usable segments of the other channel with the same display sequence number are read, the tile records are extracted one by one, and temporary preview tiles are generated according to a preset fixed horizontal offset and written to the current view buffer of the missing channel. This temporary preview tile is marked as a cross-view source and is overwritten by the corresponding original source tile when a usable segment of the missing channel is received subsequently. After completing the pair rendering of a certain display sequence number, the corresponding entry is deleted from the binocular time synchronization queue and the receiving buffer, the tile cache and segment memory are released, and the process moves to the next display sequence number to continue lockstep display time window management. If multiple display sequence numbers are detected to trigger frame drop events within their time windows, a level rollback instruction is sent upstream to reduce the view level and shorten arrival latency in subsequent duty cycles.
[0043] Cross-view mirroring compensation includes the following specific implementation process: Within the lockstep display time window, execution proceeds sequentially according to the display order number, and upon completion, a temporary preview tile is output to the current view buffer of the missing channel. The process involves reading the binocular time synchronization queue and the receive buffer, determining whether a usable segment for the missing channel exists at the current duty cycle position corresponding to the display order number, or whether a usable segment exists but a target fixed-length tile is missing. If either condition is met, the missing channel identifier, display order number, view level, and unique number are recorded, and the cross-view mirroring compensation process begins. In the receive buffer of another channel, a usable segment is retrieved using the display order number as the key. Within the tile data area of this usable segment, a fixed-length tile with the same view level and unique number as the missing channel is searched using the unique number. If found, its fixed-length fingerprint is read, and the same irreversible digest function is run on its pixel data to verify the consistency of the fixed-length fingerprint. If consistent, the pixel data of the fixed-length tile is copied to the working buffer and marked as the source tile. If not found or the verification is inconsistent, the current compensation is terminated, and the previous reserved tile set is used to complete the rendering of the current duty cycle position.
[0044] The system automatically configures storage to read fixed horizontal offset and orientation mapping rules, applying a rightward shift when the left channel is missing and a leftward shift when the right channel is missing. Pixel-level shifts are performed row-by-row in the working buffer for the source tile; pixels outside the target rectangle are discarded, and missing pixels are filled with zero values. The red, green, blue, and transparency channels are processed independently, maintaining their order. Based on the top-left and bottom-right coordinates of the target fixed-length tile in the current view buffer for the missing channel, the geometrically shifted source tile is cropped to completely fall within the target rectangle. The number and order of pixel channels remain unchanged during cropping. After cropping, an intermediate tile with the same size as the target fixed-length tile is obtained. In the current view buffer of the missing channel, query the adjacent tiles that share the top, bottom, left, and right boundaries with the target fixed-side-length tile; for shared boundaries with adjacent tiles, create a stitching band with a width of 2 pixels: one side comes from the middle tile, and the other side comes from the adjacent tile; perform channel-by-channel transition processing on the corresponding pixels within the stitching band. The processing rule is to add the red, green, blue, and transparency channels of the pixels on both sides, divide by 2, and round to obtain an integer result. Replace the pixel value at the corresponding position of the middle tile with this result; for boundaries without adjacent tiles, do not create a stitching band and do not perform any processing.
[0045] The pixel-level stitched intermediate tile is written into the current view buffer of the missing channel, overwriting the target fixed-side-length tile position. Cross-category source metadata is generated for this position in the tile cache, including display sequence number, view level, unique number, cross-category source channel identifier, fixed lateral offset, and generation time. This position is also marked as a temporary preview tile for subsequent replacement. During subsequent display sequence numbering, when the missing channel receives an original source tile with the same view level and unique number as the temporary preview tile, a fixed-length fingerprint is calculated for its pixel data and compared with the fixed-length fingerprint recorded in the tile cache. If they match, the pixel data of the original source tile directly overwrites the temporary preview tile, and the cross-category source metadata is cleared. If they do not match, the temporary preview tile is retained, and an inconsistency event is recorded in the receive buffer, waiting for the next available original source tile to arrive before repeating the consistency recovery process. If steps two through six are not completed before the current lockstep display time window ends, the cross-view mirror compensation is abandoned, and the previous reserved tile set cache is used for rendering instead. A compensation timeout event is recorded in the time synchronization queue. When three consecutive compensation timeout events are detected, a level rollback instruction is sent upstream to shorten the arrival latency of subsequent segments. After the temporary preview tile is written, the memory occupied by the working buffer is released, the pairing status of the current display order number in the binocular time synchronization queue is updated, and the process moves to the next display order number to continue lockstep display time window management. After the overlay rule completes consistency recovery, the cross-view source metadata at the corresponding position is cleared, and the position is remarked as the original source state.
[0046] The forward replay and packet loss self-healing include the following specific implementation process, which is only enabled when the duty marker of the duty position is a forward marker and is executed within the lockstep display time window: The duty position sequence number in the binocular lockstep marker is read. When it is determined that the current duty marker is a forward marker, a predetermined number of forward tiles are obtained from the forward tile queue in the head-of-queue order. The view level of each forward tile is set to level four, and the forward source field in the layer marker header of the encapsulated segment is marked as originating from the forward marker to ensure that it is written to the current view buffer first upon arrival at the decoding end. When the display sequence number enters the lockstep display time window, the receiving end unpacks the paired segments, prioritizing the processing of tile records marked as originating from the forward marker and with a view level of four in the layer marker header, and writing them to the corresponding positions in the current view buffer according to their unique numbers. If an old tile exists in the previous reserved tile set cache at the same position, the old tile is overwritten with a level four forward tile.
[0047] The receiver maintains a packet loss count entry for each unique ID in the binocular time synchronization queue. When a unique ID fails to reach an available segment within the current lockstep display time window of this channel, and also fails to reach the unique ID within the previous lockstep display time window, the packet loss count for that unique ID is incremented by 1. When the packet loss count reaches 2, a view level downgrade and re-request are triggered. For the triggered unique ID, its current target view level is determined, and the target view level is downgraded by one level according to fixed rules: original level downgraded to secondary level, secondary level downgraded to tertiary level, tertiary level downgraded to quaternary level, and quaternary level is not downgraded further. A re-request record is generated and sent upstream, requesting that the tile record corresponding to the unique ID be retransmitted at the downgraded target view level in subsequent idle positions. If an available segment for that unique ID is received in any subsequent lockstep display time window, the temporary content at the same position in the current view buffer is directly overwritten with the tile record in the arrived segment; if the position is a temporary preview tile generated by cross-eye mirror compensation or a low-level forward-looking tile, it is unconditionally overwritten with the tile record in the arrived segment.
[0048] If the above completion operation is not completed before the end of the current lock step display time window, the current view buffer content will continue to be displayed within this time window without extending the time window further; when entering step three of the stop replacement in a subsequent loop, the re-request and downgrade link of this unique number will be terminated, and the stop replacement process will backfill the original level tiles to complete the final restoration.
[0049] The duty cycle advancement and level rollback process includes the following specific implementation steps, executed immediately after each duty cycle is completed. This determines the preview duty cycle sequence and view level strategy for the next duty cycle: The duty position number and cycle length are read from the binocular lockstep markers. When the duty position number advances from the cycle length to 1, the current duty cycle is considered complete, and the cycle counter in the binocular lockstep markers is incremented by 1. The browsing status markers are read: when the browsing status marker is set to fast browsing, the current preview duty cycle template continues to be used; when the browsing status marker is set to normal browsing, the template with a higher retention rate is switched to. Upon completion of the switch, a new template identifier is written to the binocular lockstep markers, and the duty position number is reset to 1, ensuring that both channels start execution from the same template and the same duty position in the next duty cycle. Number each display sequence in the recently concluded duty cycle and record the rendering time from entering the lockstep display time window to completing the current view buffer write; if the rendering time in any record is greater than the lockstep display time window length, generate a level backoff indicator and write the indicator to the backoff indicator register shared by both channels.
[0050] When a level rollback instruction exists, at the duty cycle position corresponding to the first reserved marker, the target view level of both channels is uniformly rolled back one level: the original level rolls back to the secondary level, the secondary level rolls back to the tertiary level, the tertiary level rolls back to the quaternary level, and the quaternary level does not roll back further. This rolled-back target view level is used for both reserved marker processing and forward marker processing. Marker processing is skipped, but the previous reserved tile set cache is reused, and no new tiles are generated separately. The uniform level rollback takes effect immediately after application and continues to apply throughout the next duty cycle. The target view level cannot be changed again before the end of the duty cycle. When no record of rendering time exceeding the lockstep display time window length appears in the next duty cycle, the rollback instruction is automatically cleared, and the system proceeds only according to the browsing status marker and template selection rules in subsequent cycles. If a record of rendering time exceeding the lockstep display time window length still appears, the uniform level rollback will continue to be executed according to this rule in subsequent cycles until no more windows are skipped. After completing template maintenance and switching, as well as unified level rollback, the metadata tags of the previous retained tile set cache in the left and right channels are updated to ensure that the recorded view level fields are consistent with the current target view level; entries marked as expired in the binocular time synchronization queue are cleared to provide a consistent initial state for the lockstep display of the next duty cycle.
[0051] Step 3: When the drag intensity is detected to drop to a low level threshold and continue for a preset duration, or when a touch end event is detected, freeze the current preview duty cycle and enter the stabilization replacement and gradual restoration process.
[0052] During execution, the browsing status determination result is read, and the current preview duty cycle is immediately frozen when the trigger condition is met: the currently used preview duty cycle is copied as a frozen copy, the freeze flag is set to valid, and the incrementing of the duty cycle position number is stopped; at the same time, the template identifier, loop counter, and duty cycle position number in the binocular lockstep marker are retained, and no modifications are made to the lockstep display time window length; a stabilization start entry is written to the binocular time synchronization queue, and the display order number after this entry is used as the time advancement benchmark for progressive restoration. The current viewport rectangle is located in the hierarchical view index, and the set of all fixed-side-length tiles intersecting with the viewport rectangle is calculated, limited to the original level, to obtain the original level target set; a unique number list corresponding one-to-one with the original level target set is generated for the left and right channels, respectively, as the sole basis for subsequent backfilling.
[0053] Starting with the tile with a fixed side length at the geometric center of the viewport rectangle, a priority tile table is constructed, expanding outwards in rings until all unique numbers in the original-level target set are covered. Ring numbers start from 1 and increment by integers. Each ring contains outer ring tiles that share edges or corners with the previous ring. The sorting rule within the same ring is to record unique numbers sequentially in a clockwise direction starting from the top midpoint. Edge tiles not completely covered by the viewport rectangle are still included in the corresponding ring according to their unique numbers, maintaining continuous sorting. A backfill queue is established for each channel, and backfill request records are written according to the priority tile table order. Each backfill request record must contain at least the display order number, the view level as original, the unique number, and the target channel identifier. Backfill requests for the same unique number from two channels are queued simultaneously, forming a pair of backfill requests to ensure that the backfill process follows a consistent rhythm of binocular lockstep marking.
[0054] When any channel receives a source tile that matches a backfill request record, a fixed-length fingerprint is immediately calculated for the pixel data and compared with the fixed-length fingerprint of the record with the same unique number in the hierarchical view index. If they match, the tile is marked as a usable source tile and written to the tile cache. If they do not match, the tile is discarded and the original request is retained in the backfill queue, awaiting subsequent retransmission. At the arrival of each lockstep display time window, in the order of the priority tile table, usable source tiles for two channels are retrieved in pairs from the tile cache and written to the current view buffers of the two channels. If any of the following contents exist at the corresponding position, they will be overwritten: forward view tiles from level 4, reserved marker tiles from level 2 or 3, and temporary preview tiles from cross-view mirror compensation. If only one channel has a usable source tile in the current time window and the other channel is missing, the arriving channel is written first and the missing channel is kept in its current state, waiting for the same unique number to arrive in a subsequent time window to complete the pair matching.
[0055] For temporary preview tiles marked as cross-source in step two, check whether the available original source tile corresponding to its unique number has arrived. If it has arrived, immediately perform replacement, write the pixel data of the original source tile, and simultaneously delete the cross-source metadata and related temporary markers at that location. If it has not arrived, retain the current state and do not interrupt the progressive writing process. If a certain unique number fails to reach an available original source tile within two consecutive lockstep display time windows, without changing the view level, the binocular lockstep marker, or the lockstep display time window, regenerate a backfill request record for that unique number and place it back at the end of the backfill queue. This re-request can be repeated until the unique number is written to the original source tile or the touch restart event causes the freeze flag to expire. Continue the incremental writing process until all unique numbers in the original target set are covered by the original source tiles in the current view buffers of both channels. At this point, mark the starting entry as complete, clear the freeze flag, and retain the current values of the binocular lockstep flag and lockstep display time window. When a new drag intensity is detected to reach the high-level threshold again, end the process and let the preview duty cycle generation, lockstep selection, and view level determination take over.
[0056] When a pixel data read failure, fixed-length fingerprint verification failure, or write out of bounds is detected, the current time window for that unique number is skipped, and its backfill request record is retained in the backfill queue. When backfilling is completed or the process ends, the tile cache, working buffer, and backfill queue memory related to backfilling are released, and the current view buffer is retained as the subsequent display baseline. Through the above process, without changing the binocular lockstep marker and lockstep display time window, the current preview duty cycle is frozen, and the original-level tiles are backfilled ring by ring from the center outward in strict order of the priority tile table. Temporary preview tiles from cross-view sources are replaced in real time until the current viewport area reaches the original-level complete display, thereby achieving stable replacement and gradual restoration.
[0057] The following is a detailed implementation process that uses one image for each of the two eyes and runs on the same terminal.
[0058] Let the original pixel width be (pixels), raw pixel height is (pixels). Fixed side length tile side length is (pixels). Level number These represent the primary, secondary, tertiary, and quaternary levels, respectively. The pixel width and pixel height of the level are respectively and According to integer scaling rules, there are Therefore, we can conclude that: . No. The number of rows and columns of the grid at level 1 are respectively and Substitute the values into the calculation: Each tile with a fixed side length is uniquely identified by a quaternion. .in For the channel identification (left channel) Right passage ), The row number (starting from 1 from top to bottom). The column number (starting from 1 from left to right). To facilitate fast indexing, a unique decimal number is constructed. Each tile with a fixed side length generates a fixed-length fingerprint (16 bytes long), denoted as... The result is obtained by applying an irreversible digest function to the pixel byte stream of the tile.
[0059] The lock-step display time window length is denoted as (milliseconds), in this example, we take... The duty cycle length is denoted as... (This example takes) The loop counter is... (Starting from 1), the vacant position number is The display sequence number is defined as follows: The constant 100 is chosen as a base greater than any possible loop length to ensure that the numbering within the same loop and across loops is monotonic and does not conflict. A fixed horizontal offset is... (pixels), in this example, we take... The width of the suture band is... (pixels), in this example, we take... .
[0060] Touch recording triplet is (pixels, pixels, milliseconds), where In this example, we take: .
[0061] The two displacement distances are respectively ,
[0062] The time interval between the two times is .
[0063] The strength of the two drags is .
[0064] The high-level threshold is denoted as This example configuration .because and Enter quick browsing mode.
[0065] Based on the previous results, level three is... Level 4 is Each tile has a unique serial number. The calculated unique identifier, for example, for the left channel, level 3, row 2, column 3, is: .
[0066] In the fast browsing mode, a template of length 8 is used, with the following sequence: p=1 reserved marker, p=2 skip marker, p=3 skip marker, p=4 forward marker, p=5 reserved marker, p=6 skip marker, p=7 skip marker, p=8 forward marker. Initialize the loop counter. Occupied position number The first display sequence number in this duty cycle is... .
[0067] Lockstep selection (first empty position, retain marker, target view level is three) The top left corner of the viewport rectangle in the three-level coordinate system is The width and height are respectively The range of column indexes covered by the viewport is... .
[0068] The range of row indexes covered by the viewport is .
[0069] The viewport tile set contains There are 4 tiles in total. In this example, the ring neighborhood is expanded to a row. With column The direct product of these values corresponds to the entire grid of level 3, totaling 12 tiles. Therefore, when p=1, each channel needs to send 12 level 3 tiles. Here are three examples of uniquely numbered (left channel): .
[0070] Generate fixed-length fingerprints for these 12 tiles and form a tile fingerprint chain in ascending order of unique numbers. , where the symbol " This indicates a byte-level connection. The same logic applies to the right channel. .
[0071] Performing lossless encapsulation of rearrangement (p=1): The view level field of the hierarchy header is denoted as... The look-in source field is 0 (not from the look-in marker). The number of tiles is recorded as... The displayed sequence number is Records are written to the tile data area in the order of the tile fingerprint chain. The encapsulation check code is denoted as... The fingerprint is obtained by applying an irreversible digest function to the entire fingerprint chain and then truncating the first 4 bytes. For example, the header tuple of the encapsulated fragment with p=1 in the left channel can be written as... .
[0072] Execute receiver unpacking and lockstep display (p=1): When the left and right channel segments of p=1 are within the time window When all tiles arrive, write the 12 level 3 tiles to the current view buffer in ascending order of their unique numbers and render them. If the right channel lacks a unique number... The tiles will immediately enter cross-view mirror compensation.
[0073] Perform cross-destination mirroring compensation (for missing images) ): Read the source tile from the left channel that is in the same display order number and at the same grid position. Because the right channel is missing, a leftward shift is applied according to the rules, with a shift amount of [missing value]. Pixel coordinates of the source tile Generate temporary preview tile pixel coordinates Out-of-bounds pixels are discarded, and gaps are filled with zero values. A width is then established on the shared boundary with adjacent tiles. The stitching band is used to perform channel mean transition on the stitching band pixels. For example, at a certain stitching pixel, the red, green, and blue transparency of the source tile and the adjacent tile are respectively... and The value written back is ,in This indicates rounding to the nearest integer. The generated temporary preview tile is marked as cross-source, awaiting overlay by subsequent original source tiles.
[0074] No new tiles are added to empty positions p=2 and p=3; the previous set of reserved tiles is reused for p=1. The display sequence numbers are respectively... .
[0075] p=4 (Forward view marker, priority level 4): Based on the directions of the two most recent touch displacements, the movement direction is calculated to be bottom right. A four-level forward view tile queue is established, selected in the order of bottom right. There are 4 tiles in total. For each channel, the first 4 level 4 tiles are taken at p=4 and written to the corresponding position in the display buffer. The level marker header is set. The forward look-in source field is 1. Display sequence number. If the unique number exist and If packets fail to arrive within the corresponding two time windows, the packet loss count reaches 2, triggering a downgraded re-request: the target view level is downgraded from level three to level four, and the request is re-requested. (Mapped to the corresponding position on the fourth-level grid by scaling). In subsequent time windows Upon receiving the Level 4 tile, the temporary content at the corresponding location in the right channel is directly overwritten.
[0076] Calculate the rendering time within this loop. If... Rendering time measured Greater than Then, at the first reserved marker in the next duty cycle, the target view level is uniformly rolled back one level (original level → secondary level, secondary level → tertiary level, tertiary level → tertiary level). In this example, since the current target view level is tertiary, the target view level after rollback is tertiary, prioritizing binocular synchronization and smoothness. When the drag intensity drops to a low-level threshold and remains so for 120 milliseconds, stabilization is triggered; the current preview duty cycle is frozen, while the binocular lock step marker remains unchanged. The tertiary viewport is then... Map back to the original level. The mapping ratio is... .
[0077] The original level viewport is .
[0078] The column and row ranges covered by the primitive viewport are , The original target set is rows. ,List The direct product, in total Each tile. A priority tile table is constructed starting from the original viewport geometry center. The geometry center is... .
[0079] Its row and column are Therefore, the first priority tile is The priority tile table generates a sequence according to the rule of expanding outwards ring by ring and recording unique numbers clockwise within the same ring. Continue until 28 tiles are covered; generate corresponding unique number lists for the left and right channels respectively, for example, the first unique number of the left channel is... .
[0080] Within each subsequent display sequence number time window, raw-level tiles from the left and right channels are retrieved in pairs and written to the current view buffer in priority tile table order. If any low-level content (level 4 forward-view tiles, level 3 reserved marker tiles, or cross-view source temporary preview tiles) exists at the target location, it is immediately overwritten by the raw-source tiles. If a unique number fails to arrive within two consecutive time windows, a raw-level backfill request is repeatedly initiated for that unique number until successful writing. For all temporary preview tiles marked as cross-view sources, the corresponding raw-source unique number is read; once the raw-source tile arrives and its fixed-length fingerprint is obtained... Consistent with the index, cross-view source metadata is immediately overwritten and cleared. Once all 28 raw-level target tiles have been written in both channels, the current viewport area is determined to have reached raw-level full display; the frozen state is released, the binocular lockstep marker and lockstep display time window values remain unchanged, and the viewport awaits new browsing actions.
[0081] like Figure 2As shown, the tile transmission and packet loss rate analysis curves of this invention illustrate the dynamic changes in tile transmission performance in the binocular 4K image fast browsing method. The control parameters set in this chart include a lockstep display time window of 16.7ms, two consecutive failures to reach the threshold, continuous packet loss as the level backoff trigger condition, a forward replay delay of 5ms, and a maximum retransmission count of three. The horizontal axis represents the time window number, the left side of the vertical axis represents the transmission success rate percentage, and the right side corresponds to the packet loss rate alarm indicator. The left-eye channel tile transmission success rate curve is represented by a solid blue line, and the right-eye channel tile transmission success rate curve is represented by a solid orange line. During time windows 1-2, the transmission success rates of both channels remained at a relatively high level of over 85%. However, starting from time window 3, the transmission success rate showed a significant downward trend, with the left-eye channel dropping to approximately 40% in time window 4, and the right-eye channel dropping to approximately 35% during the same period, both below the baseline of 85% transmission success rate and the threshold of 30% packet loss rate alarm. The number of cross-view mirroring compensation triggers, marked by purple rectangles in the figure, occurred in time windows 3, 4, and 5, with the highest compensation intensity in time window 4. Through the combined effect of forward replay and level rollback mechanisms, the transmission success rate gradually recovered from time window 5, stabilizing again at over 85% during time windows 6-8. Key performance indicators on the right side of the chart show an average transmission success rate of 82.5%, 3 cross-view compensation triggers, a forward replay success rate of 95%, and a level rollback recovery time of 150ms, confirming the adaptive compensation capability of the method in the present invention under abnormal network transmission conditions.
[0082] like Figure 3As shown, the duty cycle switching and transmission efficiency analysis curves detail the optimization effect of the preview duty cycle dynamic switching mechanism on transmission efficiency in this invention. This analysis is based on the following control parameters: a skip threshold of 70%, a retention threshold of 60%, a duty cycle length of 10 positions, a switching decision period of 5 cycles, and a transmission bandwidth limit of 100MB / s. In the figure, the horizontal axis represents the duty cycle number, the left vertical axis represents the transmission efficiency percentage, and the right vertical axis represents the duty cycle percentage. The main transmission efficiency curve is drawn with a solid blue line, the skip mark duty cycle is represented by a red dashed line, and the retention mark duty cycle is represented by a green dashed line. During duty cycles 1-3, the system is in a fast browsing state, as indicated by the red area in the figure. At this time, the skip mark ratio exceeds the set threshold of 70%, but the transmission efficiency is relatively low, only maintaining a range of 20-45%. The key sequence switching events occur in cycles 4 and 5, marked as sequence switching point 1 and sequence switching point 2, respectively. Through intelligent switching of the duty cycle sequence template, the system transitions from a fast browsing state to a normal browsing state, as shown in the green area of the figure, with the retained marker ratio increasing to over 60%. This switching leads to a significant improvement in transmission efficiency, which continues to rise from loop 5 and finally stabilizes at a high efficiency level of 80-85% during loops 8-10. Analysis of the sequence switching effect data shows that the average response time for two sequence switches is 50ms, the transmission efficiency improvement reaches 50%, bandwidth utilization is increased by 40%, user experience is improved by 65%, and the sequence switching success rate reaches 100%, fully verifying the technical advantages of the duty cycle sequence adaptive switching mechanism of this invention.
[0083] While specific embodiments of the present invention have been described above, those skilled in the art should understand that these specific embodiments are merely illustrative. Those skilled in the art can omit, substitute, and modify the details of the above methods and systems in various ways without departing from the principles and essence of the present invention. For example, combining the above method steps to perform substantially the same function and achieve substantially the same result using substantially the same method falls within the scope of the present invention. Therefore, the scope of the present invention is defined only by the appended claims.
Claims
1. A method for fast browsing of 4K images using binoculars, characterized in that, The method includes: Step 1: Read the touch coordinates and touch time from the system touch callback, cache at least three consecutive touch callbacks in chronological order, calculate the drag intensity corresponding to the displacement and interval between two adjacent touch callbacks, if the drag intensity of two consecutive touch callbacks reaches the high-level threshold, then enter the fast browsing state; otherwise, maintain the normal browsing state. Step 2: Based on the browsing status determination result, construct a hierarchical view index and generate a tile fingerprint chain covering all levels of tiles; generate a preview duty cycle sequence consisting of a retention marker, a skip marker, and a forward-looking marker based on the browsing status. This preview duty cycle sequence includes binocular lockstep markers for synchronizing the left and right eye channels; synchronously select the view level and viewport-related tile set according to the duty cycle position and binocular lockstep markers, rearrange and losslessly encapsulate the selected tiles, and transmit them sequentially; the decoding end unpacks and renders tiles from the left and right eye channels in pairs within the lockstep display time window, and generates temporary preview tiles by cross-view mirroring compensation when encountering missing tiles; the duty cycle continues to advance, and performs forward-looking replay and level rollback operations when a delay or packet loss is detected. Step 3: When the drag intensity is detected to drop to a low level threshold and continue for a preset duration, or when a touch end event is detected, freeze the current preview duty cycle and enter the stabilization replacement and gradual restoration process. For each image in both the left and right eyes, a hierarchical view index with four levels—primary, secondary, tertiary, and quaternary—is established in memory. The primary level directly references the input pixels. The secondary level is generated from the primary level by integer scaling, where the horizontal and vertical pixel counts are each reduced to half that of the primary level. Pixel sampling employs a fixed strategy of approximating the mean of the entire block or replacing neighboring pixels, and this strategy is kept unique in the configuration storage. The tertiary level is generated from the secondary level using the same rules, and the quaternary level is generated from the tertiary level using the same rules. Each level is composed of tiles with fixed side lengths forming a grid, and each tile has a unique number and a fixed-length fingerprint. The fixed-length fingerprint is generated from the pixel content of the tile using an irreversible digest function. In step 2, the fixed-length fingerprints of each tile are connected in order of tile number to form a tile fingerprint chain; In step 2, the process of generating a preview duty cycle based on the browsing state includes: selecting a preview duty cycle template based on the browsing state determination result. The duty cycle template consists of three types of markers: retain markers, skip markers, and forward-looking markers, arranged in a cyclical order. When in fast browsing state, a duty cycle template with a skip marker ratio exceeding a set skip threshold is selected. When in normal browsing state, a duty cycle template with a retain marker ratio exceeding a set retain threshold is selected. Each duty cycle template contains binocular lockstep markers to ensure that the left and right eye channels execute a consistent duty cycle in the same loop.
2. The binocular 4K image fast browsing method as described in claim 1, characterized in that, In step 3, the stop replacement and gradual restoration process is as follows: fill the original level tiles ring by ring from the center outward according to the priority tile table, replace the temporary preview tiles marked as cross-eye source one by one with the original source tiles, and keep the binocular lock step mark and lock step display time window unchanged throughout the replacement process until the current viewport area reaches the original level full display.
3. The binocular 4K image fast browsing method as described in claim 2, characterized in that, In step 1, a first displacement distance and a first time interval are calculated based on the first touch record and the second touch record; a second displacement distance and a second time interval are calculated based on the second touch record and the third touch record; wherein, the displacement distance is calculated according to the pixel distance between two points in the screen pixel coordinate system of the two touch coordinates; the time interval is calculated according to the millisecond difference between the two touch times; the ratio of the first displacement distance to the first time interval is calculated to obtain the first drag intensity; the ratio of the second displacement distance to the second time interval is calculated to obtain the second drag intensity; when any time interval is less than the preset effective time interval threshold, the current judgment is discarded and the system waits for the next touch callback to complete the effective time interval.
4. The binocular 4K image fast browsing method as described in claim 3, characterized in that, In step 2, the process of generating a preview duty cycle based on the browsing state includes: selecting a preview duty cycle template based on the browsing state determination result. The duty cycle template consists of three types of markers: retain markers, skip markers, and forward-looking markers, arranged in a cyclical order. When in fast browsing state, a duty cycle template with a skip marker ratio exceeding a set skip threshold is selected. When in normal browsing state, a duty cycle template with a retain marker ratio exceeding a set retain threshold is selected. Each duty cycle template contains binocular lockstep markers to ensure that the left and right eye channels execute a consistent duty cycle in the same loop.
5. The binocular 4K image fast browsing method as described in claim 4, characterized in that, In step 2, the tile set obtained from the lockstep selection is rearranged and encapsulated without loss, based on the tile fingerprint chain. Each encapsulated segment contains a hierarchical marker header, the number of tiles, the display order number, and the tile data area. The hierarchical marker header of the encapsulated segment indicates the view level and whether the encapsulated segment comes from the front view marker. The display order number is used by the decoding end to restore the display order according to the occupied position.
6. The binocular 4K image fast browsing method as described in claim 5, characterized in that, In step 2, the decoder pairs the encapsulated segments of the left and right eye channels according to the display order. Within the lockstep display time window, segments with the same duty cycle are extracted in pairs for rendering. If a channel is missing a segment in the current time window, the cross-eye mirror compensation process is initiated. When a channel is missing a target tile in the current duty cycle, a tile with the same duty cycle, view level, and tile number is obtained from another channel to generate a temporary preview tile. The generation method is as follows: the obtained tile is copied, geometric translation is performed according to a preset fixed horizontal offset, boundary clipping is performed, and pixel-level stitching is done with adjacent tiles. The temporary preview tile is marked as a cross-eye source and can be covered by subsequent original source tiles. In the duty cycle corresponding to the forward view mark, the forward view tile from the fourth-level view is rendered first to reduce visibility latency. If the decoder detects that the same tile has not arrived in two consecutive time windows, the view level of the tile is reduced by one level and re-requested until it is completed in a subsequent time window or the stabilization and replacement process in step 3 is initiated.
7. The binocular 4K image fast browsing method as described in claim 6, characterized in that, In step 2, after completing a duty cycle, the system decides whether to continue using the same preview duty cycle or switch to a template with a higher retention mark ratio based on the current browsing status; when the rendering time exceeds the lock step display time window, the view level of the next cycle is immediately rolled back one level.
Citation Information
Patent Citations
Synchronized dual eye variable refresh rate update for VR display
US11978372B1
Electronic map display method, apparatus and electronic device
WO2016131390A1