Synchronized reading method, device and storage medium
By generating a unified magnification value and posture compensation mapping, the problems of field of view drift and scale inconsistency in multi-screen synchronous viewing are solved, achieving precise alignment and posture adaptation between different slices, and improving the stability and interactive flexibility of synchronous viewing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN SHENGQIANG TECH
- Filing Date
- 2026-05-27
- Publication Date
- 2026-06-26
AI Technical Summary
Existing multi-screen synchronous image reading methods result in inconsistent field of view, lesion location drift, and unstable synchronization under different scanning magnification, pixel calibration relationship, and display status of different slices. In particular, they cannot achieve fast response and posture adaptation when switching control sources.
By generating a unified magnification value and attitude compensation mapping, it is ensured that each viewing area is synchronized under the same physical observation scale. Incremental offsets are generated using synchronization anchor points and anchor point offsets, and old offset reference values are cleared when the control source is switched, thus achieving dynamic resynchronization.
While maintaining stable multi-screen synchronization, it improves cross-slice alignment accuracy and interaction flexibility, solves the problems of field of view drift and scale inconsistency, and achieves physical scale alignment and posture adaptive compensation.
Smart Images

Figure CN122290910A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of screen synchronization technology, and in particular to a method, device and storage medium for synchronous video viewing. Background Technology
[0002] Digital pathology slide reading software typically supports multi-screen display modes such as one screen, two screens, four screens, or nine screens, allowing doctors to compare and observe slides from different sources, at different times, or with different staining methods. Most existing multi-screen synchronous slide reading methods adopt relatively direct synchronization strategies, such as only copying the zoom value of the current main image, or only synchronizing the scroll offset of the main image to other screens.
[0003] In digital pathology slide scenarios, this direct synchronization method has fundamental flaws. First, different slides may have different scanning magnifications, different pixel calibration relationships, and different current display states. If only the interface scaling value is copied, different screens will only display the same interface scaling factor, not the same physical observation scale. Therefore, the actual field of view of the corresponding lesion in different screens will inevitably be inconsistent. Second, during slide reading, single slides are often rotated, mirrored horizontally, or mirrored vertically. If the offset is still directly synchronized according to the original coordinate system, the target direction dragged to the right in the main image may have become left, up, or down in other screens. This will inevitably lead to inconsistent field of view directions, lesion position drift, or even reverse jumps. Third, if a global absolute coordinate method is used to maintain multi-screen synchronization, when the main control screen is switched, the screen layout changes, or a new slide is added, a new global reference coordinate system needs to be reconstructed and the positional relationship of all member screens needs to be recalculated. This process is prone to introducing old state residue, initial alignment failure, and recovery jitter. Fourth, when comparing multiple split screens, users may click on the navigation map, thumbnail, or main view of any split screen to switch it as the current control source. Traditionally, only the fixed main image can broadcast the synchronization status by default, which causes other split screens to fail to follow in time after the first switch of control source.
[0004] The above content is only used to help understand the technical solution of this application and does not represent an admission that the above content is prior art. Summary of the Invention
[0005] The main purpose of this application is to provide a method, device and storage medium for synchronous film viewing, which aims to solve the technical problems of field of view drift and scale inconsistency in existing multi-screen synchronous film viewing.
[0006] To achieve the above objectives, this application proposes a synchronous image viewing method, which includes: In response to the screen mirroring command, determine the primary and secondary screen viewing partitions in the current split-screen synchronization member set, wherein there are multiple secondary screen viewing partitions; Based on the display scaling factor of the main viewing area, the corresponding slice scanning magnification, and the preset physical scale calibration factor, a uniform magnification value for the current physical observation scale is generated. The unified scaling value is distributed to each sub-viewing partition, so that each sub-viewing partition can reverse-engineer the target display scaling factor based on the unified scaling value and perform scaling alignment. In response to the field of view translation operation of the main viewing area, a main synchronization offset is generated based on the current real-time field of view offset value of the main viewing area, the pre-recorded synchronization anchor point and the anchor point offset. The synchronization anchor point is the local field of view offset reference when entering the synchronization state, and the anchor point offset is the synchronization offset reference value when entering the synchronization state. Based on the attitude parameter differences between each slave reading partition and the master reading partition, the master synchronization offset is subjected to attitude compensation mapping, wherein the attitude parameter differences include at least one of rotation angle differences and mirror state differences. Based on the synchronization anchor point, the anchor point offset, and the attitude compensation mapping results of each secondary image reading partition, a new local field of view offset value for each secondary image reading partition is determined and applied to synchronize each secondary image reading partition to the pathological area corresponding to the primary image reading partition.
[0007] In one embodiment, the step of generating a uniform magnification value for the current physical observation scale based on the display scaling factor of the main viewing slice partition, the corresponding slice scanning magnification, and a preset physical scale calibration factor includes: Read the scan magnification of the slice corresponding to the main viewing area, and the current display scaling factor of the main viewing area; Obtain a preset physical scale calibration coefficient, which is used to establish a mapping relationship between the display scaling coefficient and the physical observation scale; The unified scaling value is obtained by converting the current display scaling factor, the slice scan magnification, and the physical scale calibration factor.
[0008] In one embodiment, the step of generating a primary synchronization offset based on the current real-time field-of-view offset value of the primary viewing area partition, the pre-recorded synchronization anchor point, and the anchor point offset includes: Real-time monitoring of the changes in the field of view status of the main viewing area, and obtaining the real-time field of view offset value based on the changes in the field of view status; The difference between the real-time field of view offset value and the synchronization anchor point of the main viewing area is calculated to obtain the offset change. The offset change and the anchor point offset of the main viewing area are then added together to generate the main synchronization offset.
[0009] In one embodiment, the step of performing attitude compensation mapping on the master synchronization offset based on the attitude parameter differences between each slave reading partition and the master reading partition includes: Obtain the relative rotation angle difference between each of the secondary reading partitions and the primary reading partition; The main synchronization offset is transformed by coordinate rotation according to the relative rotation angle difference to obtain the offset after rotation compensation. Obtain the mirror state difference between each secondary reading partition and the primary reading partition, wherein the mirror state difference includes at least one of horizontal mirror difference and vertical mirror difference; Based on the difference in the mirror state, the offset after rotation compensation is inverted to achieve attitude compensation mapping.
[0010] In one embodiment, before the step of generating the main synchronization offset based on the current real-time field of view offset value of the main viewing area partition, the pre-recorded synchronization anchor point, and the anchor point offset, the method further includes: The current local field of view offset values of the main viewing partition and each slave viewing partition when entering the synchronization state are recorded as their respective synchronization anchor points; The synchronization offset reference values of the main reading partition and each slave reading partition when entering the synchronization state are recorded as their respective anchor point offsets. The synchronization anchor point and the anchor point offset are associated with and stored with the corresponding reading partitions.
[0011] In one embodiment, after the step of determining the main viewing partition and the secondary viewing partition under the current split-screen layout in response to the screen mirroring command, the method further includes: In response to a user's trigger operation based on any of the aforementioned secondary viewing partitions, the triggered secondary viewing partition is switched to a new primary viewing partition; Remove the synchronous broadcast relationship from the original main reading partition and establish a synchronous broadcast relationship on the new main reading partition; The secondary viewing partition under the current split-screen layout is redefined, and the new primary viewing partition is resynchronized.
[0012] In one embodiment, the step of redetermining the secondary viewing partition under the current split-screen layout and having the new primary viewing partition re-execute the synchronization state broadcast includes: A unified magnification value is regenerated from the new master reading partition and distributed to each slave reading partition; Clear the synchronization offset reference values associated with the original main reading partition in each reading partition; The master synchronization offset is regenerated and broadcast from the synchronization anchor point and anchor point offset of the new master reading partition to complete the resynchronization after the control source switch.
[0013] In one embodiment, after the step of determining and applying the new local view offset value from each viewing partition, the method further includes: Check if there is a newly added viewing area in the current split-screen synchronization member set; If a new viewing partition is added, the current local field of view offset value is recorded as the synchronization anchor point for the new viewing partition, and the corresponding anchor point offset is also recorded. The newly added reading partition is included in the range of the secondary reading partition, and a synchronization alignment operation is performed on the newly added reading partition based on the latest unified scaling value and master synchronization offset of the current master reading partition.
[0014] In addition, to achieve the above objectives, this application also proposes a synchronous film viewing device, the device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the synchronous film viewing method as described above.
[0015] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps of the synchronous image viewing method described above.
[0016] One or more technical solutions proposed in this application have at least the following technical effects: In response to a screen mirroring command, this application determines the main viewing area and multiple secondary viewing areas within the current split-screen synchronization member set. Based on the display scaling factor of the main viewing area, the corresponding slice scanning magnification, and a preset physical scale calibration factor, a unified magnification value for the current physical observation scale is generated. This unified magnification value is distributed to each secondary viewing area so that each secondary viewing area can inversely solve for the target display scaling factor based on the unified magnification value for scaling alignment. In response to a viewpoint translation operation of the main viewing area, a main viewing area is generated based on the current real-time viewpoint offset value of the main viewing area, pre-recorded synchronization anchor points, and anchor point offsets. The synchronization offset is defined as follows: the synchronization anchor point is the local field of view offset reference when entering the synchronization state, and the anchor point offset is the synchronization offset reference value when entering the synchronization state; the main synchronization offset is subjected to attitude compensation mapping based on the attitude parameter differences between each secondary viewing partition and the main viewing partition, wherein the attitude parameter differences include at least one of rotation angle differences and mirror state differences; based on the synchronization anchor point, the anchor point offset, and the attitude compensation mapping results of each secondary viewing partition, a new local field of view offset value for each secondary viewing partition is determined and applied to synchronize each secondary viewing partition to the pathological area corresponding to the main viewing partition.
[0017] Through the above technical means, while maintaining the stability of multi-screen synchronization, the cross-slice alignment accuracy and interaction flexibility are significantly improved. The technical problems of field of view drift and scale mismatch under the conditions of inconsistent physical scale, inconsistent attitude coordinate system and fixed control source of existing numerical replication synchronization are solved. The technology has achieved a leap from numerical replication to physical scale alignment, from blind following of coordinate system to attitude adaptive compensation, and from fixed broadcast source to dynamic control source switching in multi-screen synchronous image reading. Attached Figure Description
[0018] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0019] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a flowchart illustrating the first embodiment of the synchronous image viewing method of this application; Figure 2 This is a detailed process diagram based on step S20 in the first embodiment; Figure 3 This is a detailed schematic diagram of step S40 in the first embodiment; Figure 4 This is a detailed process diagram based on step S50 in the first embodiment; Figure 5 This is a flowchart illustrating the second embodiment of the synchronous image viewing method of the present invention; Figure 6 This is a flowchart illustrating the third embodiment of the synchronous image viewing method of the present invention; Figure 7 This is a schematic diagram illustrating the detailed process of step S120 in the third embodiment; Figure 8 This is a flowchart illustrating the fourth embodiment of the synchronous image viewing method of the present invention; Figure 9 This is a schematic diagram of the hardware operating environment involved in the synchronous image reading method in the embodiments of this application.
[0021] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0022] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0023] In related technologies, the synchronous reading of multi-screen digital pathology slides often adopts a synchronization strategy of directly copying the scaling factor or offset of the main image, and relies on broadcasting from a fixed main image when switching control sources. Under ideal conditions where the slide scanning magnification is the same, the display posture is consistent, and the screen layout remains unchanged, this type of scheme can achieve basic view following with low computational overhead. However, the synchronization logic of this scheme is separated from the physical scale attributes of the pathology slides and the posture of the display coordinate system, essentially representing a "numerical copy" rather than a "state alignment" synchronization paradigm.
[0024] First, simply copying the interface scaling factor fails to consider the differences in scanning magnification and pixel calibration relationships among different slices. This results in each screen displaying the same interface scaling percentage, rather than the same physical observation scale, inevitably leading to inconsistent actual field of view of lesions in different screens. Second, after slices undergo rotation, horizontal mirroring, or vertical mirroring, the display coordinate system fundamentally changes from the original coordinate system. Directly copying the offset will inevitably cause incorrect dragging direction, lesion area drift, or even reverse jumping. Third, when switching control sources, changing screen layouts, or adding new slices late, traditional solutions require rebuilding the global absolute coordinate reference and recalculating the positional relationships of all screens, easily introducing old state remnants and recovery jitter. Fourth, the fixed main image broadcasting mechanism prevents users from immediately switching the synchronization reference when clicking on non-main screen navigation images or the main field of view, resulting in a lag in the initial interaction response.
[0025] Comprehensive analysis reveals that the core dilemma faced by the aforementioned technical approaches lies in the fact that while the synchronization method, which uses copying scaling values and offsets as a means and a fixed main image as a broadcast source, is simple to implement and computationally lightweight, its characteristics of separating numerical copying from physical scale, separating coordinate system synchronization from attitude change, and contradicting the fixed broadcast source from interactive flexibility, fundamentally contradict the inherent requirements of multi-screen digital pathology slide reading for unified physical scale across slides, cross-attitude coordinate alignment, and flexible control of source switching. It is impossible to simultaneously achieve physical scale alignment, attitude adaptive compensation, and dynamic control of source switching while maintaining synchronization stability.
[0026] Based on the aforementioned deficiencies in related technologies, this application proposes a synchronous image reading method. This method addresses the core pain points of existing numerical replication-based synchronization methods, such as field-of-view drift and scale inconsistency under conditions of cross-slice magnification differences and display posture changes. It constructs a synchronous image reading system with unified physical scale, adaptive posture, and dynamically switchable control sources through the coordinated use of unified magnification conversion, incremental expression of synchronization anchor points, and posture compensation mapping. Specifically, the method generates a unified magnification value for the master image reading partition based on the current display scaling factor, slice scanning magnification, and preset physical scale calibration factor. This allows each slave image reading partition to inversely resolve to a target display scaling factor matching its own slice attributes, ensuring that different screens display the corresponding pathological region at the same physical observation scale. During field-of-view translation, a master synchronization offset is generated, using the synchronization anchor point as a reference and the anchor point offset as a reference, to decouple synchronization broadcasting from absolute coordinate dependence. For rotation and mirror differences, a coordinate rotation transformation and mirror component inversion posture compensation mapping are performed on the master synchronization offset to ensure that the master and slave image reading partitions stably correspond to the same lesion location in different posture coordinate systems. When the control source is switched, the new master read partition rebroadcasts its own synchronization status and clears the old offset reference value, achieving resynchronization without global backcalculation.
[0027] Through the above-mentioned technical means, this application significantly improves the cross-slice alignment accuracy and interaction flexibility while maintaining the stability of multi-screen synchronization. It solves the technical problems of field of view drift and scale mismatch under the conditions of inconsistent physical scale, inconsistent attitude coordinate system and fixed control source in existing numerical replication synchronization. It realizes the technical leap of multi-screen synchronous image reading from numerical replication to physical scale alignment, from blind coordinate system to attitude adaptive compensation, and from fixed broadcast source to dynamic control source switching.
[0028] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0029] Based on this, the embodiments of this application provide a synchronous image viewing method, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the synchronous image viewing method of this application. In this embodiment, the synchronous image viewing method is applied to a synchronous image viewing device and includes steps S10 to S60: Step S10: In response to the screen mirroring command, determine the primary and secondary screen viewing partitions in the current split-screen synchronization member set, wherein there are multiple secondary screen viewing partitions; In this embodiment, upon receiving a screen-sharing command initiated by the user, the synchronous viewing process of multi-screen digital pathology slides is initiated. This screen-sharing command can originate from a function button click, shortcut key operation, or be triggered by a preset automatic synchronization mode. First, the current screen layout of the display interface is scanned to identify the viewing partitions that are already open and running under different layout configurations such as one screen, two screens, four screens, or nine screens. Each viewing partition is an interactive object that carries one digital pathology slide within an independent display area, and includes a main view canvas and corresponding navigation map controls.
[0030] After completing the layout scan, all currently displayed viewing partitions are initially included in a set called the split-screen synchronization member set. The split-screen synchronization member set is a dynamic list structure used to maintain a complete list of viewing partitions that are open and eligible to participate in synchronization during the current screen-sharing operation cycle. This set includes not only the objects ultimately determined as primary and secondary viewing partitions, but also candidate objects that are temporarily unable to participate in real-time synchronization due to loading delays. The split-screen synchronization member set is dynamically updated as viewing partitions are opened, closed, or replaced, and serves as the basis for the membership scope of subsequent synchronization broadcast channel establishment and resynchronization process execution.
[0031] Within the split-screen synchronization member set, the synchronization baseline and follower objects are further determined. The viewing area currently with the user's focus is designated as the primary viewing area. The user's focus is determined by their last click or interaction; for example, dragging, zooming, or clicking on the navigation map will give the viewing area focus. The moment the screen-sharing command is triggered, this focus state is captured, and the corresponding viewing area is marked as the primary viewing area in the split-screen synchronization member set. All other viewing areas that are displayed and have full loading capabilities are classified as secondary viewing areas. If the screen-sharing command itself is issued by the user to a specific viewing area—for example, if the user right-clicks on a specific split screen and selects "Start synchronization with this as the primary"—then the system directly designates that specific viewing area as the primary viewing area in the split-screen synchronization member set.
[0032] For viewing partitions that are already displayed in the split-screen synchronization member set but have not yet completed slice loading, tile preparation, or main control initialization, a delayed addition flag is set for this late-added viewing partition. Its corresponding split-screen position and currently loaded partial state information are recorded, but no synchronization data is sent to it, nor is it required to participate in attitude compensation and offset calculations. The membership of the marked delayed-added viewing partition in the split-screen synchronization member set is retained, but it is in an inactive state. This approach prevents view jumps or calculation errors during synchronization broadcasting due to individual split-screens being in an intermediate loading state.
[0033] After identifying the primary and secondary view partitions within the split-screen synchronization member set, a synchronization broadcast channel is established for this set. The primary view partition will use this channel to send a unified scaling value, primary synchronization offset, and attitude parameters to each secondary view partition. Simultaneously, a synchronization data reception callback is registered on each secondary view partition to ensure timely processing of broadcast data in subsequent steps. This entire process, based on the scanning, focus determination, and delay marking of the split-screen synchronization member set, provides a stable and reliable master-slave relationship foundation for subsequent unified scaling conversion, attitude compensation mapping, and resynchronization. It also allows for direct additions and deletions to the split-screen synchronization member set's data structure when adding new partitions or handling split-screen layout changes, without needing to rebuild the global membership relationship.
[0034] Step S20: Based on the display scaling factor of the main viewing area, the corresponding slice scanning magnification, and the preset physical scale calibration factor, generate a unified magnification value for the current physical observation scale; After determining the main and secondary viewing areas, key parameters are extracted from the main viewing area to generate a unified physical observation scale index, i.e., a unified magnification value, that allows for consistent comparisons across different slides. In multi-screen digital pathology slide viewing scenarios, the slides loaded in different viewing areas may come from different scanning devices or different scanning batches, and their original scanning magnifications are not the same. For example, one slide may be scanned at 20x magnification, while another may be scanned at 40x magnification. If only the display scaling factor of the main viewing area is copied to the secondary viewing area, the actual physical field of view presented to the doctor will be completely inconsistent due to the different scanning magnifications of each slide, directly rendering cross-slide comparisons medically meaningless.
[0035] To obtain a uniform magnification value, the current main viewpoint canvas display scaling factor S_m of the main viewing area is first read. This scaling factor represents the base scaling level of the current canvas view relative to the original digital slice image, typically a floating-point value; for example, 1.0 corresponds to the base display, and 2.0 corresponds to a magnification of one time. Next, the scan magnification M_m of the slice loaded in the main viewing area is queried. The scan magnification can be read from the slice file header information or metadata, representing the objective magnification when the digital slice is scanned, such as 20 or 40. Then, the preset physical scale calibration factor C_r is obtained. This physical scale calibration factor is a constant value determined during the initialization or calibration phase, used to establish the mapping relationship between the display scaling factor and the physical observation scale. Its value is generally determined by the screen pixel pitch, the actual magnification of the objective lens, and system calibration measurements to ensure that the final field of view corresponds to the actual micrometer-level dimensions.
[0036] After the above three parameters are prepared, the uniform magnification value M_u is calculated according to the formula M_u = S_m × M_m / C_r. This uniform magnification value represents the actual physical observation magnification of the current main viewing area, rather than a simple interface scaling percentage. For example, if the main viewing area is loading a 40x scan slice, the current display scaling factor is 0.5, and the calibration factor is 1, then M_u is 20, indicating that the field of view seen by the doctor is equivalent to the actual physical scale under a 20x objective lens. This conversion mechanism abstracts the interface scaling state into a physical magnification value independent of the slice, allowing subsequent secondary viewing areas to fully recover the correct target display scaling factor based on their own slice characteristics.
[0037] After obtaining the unified magnification value, the current attitude parameters of the main viewing partition are simultaneously output, including rotation angle, horizontal mirror state, and vertical mirror state. These attitude parameters will be broadcast together for subsequent offset attitude compensation. The entire generation process can be completed in a single calculation and is independent of the number of viewing partitions, providing a unified magnification benchmark for efficient multi-screen synchronous broadcasting.
[0038] Step S30: Distribute the unified scaling value to each sub-viewing partition so that each sub-viewing partition can reverse-engineer the target display scaling factor based on the unified scaling value and perform scaling alignment. After the master slice partition generates a unified scaling value, it distributes this value to each slave slice partition in the synchronization member set via a synchronization broadcast channel. Simultaneously, the broadcast data also carries the master slice partition's identifier, allowing slave slice partitions to identify the synchronization source and avoid broadcasting their own status back. Upon receiving this unified scaling value, each slave slice partition needs to determine its target display scaling factor based on the characteristics of its loaded slice, thus completing the scaling alignment.
[0039] The primary reading partition first reads the magnification M_i of the loaded slices. This magnification can also be extracted from the slice metadata. It uses the same physical scale calibration coefficient C_r as the primary reading partition, which remains globally consistent throughout the system and does not change with different slices. After obtaining M_i and C_r, the primary reading partition calculates the target display scaling factor S_i according to the formula S_i = M_u × C_r / M_i. This formula essentially remaps the uniform magnification value back to the specific scaling coordinate system of that primary reading partition. For example, if the uniform magnification M_u is 20, the physical scale calibration coefficient C_r is 1, and the slice magnification M_i loaded by the primary reading partition is 20, then the calculated S_i is 1.0; if the slice magnification M_i of another primary reading partition is 40, then its S_i is 0.5. Although the display scaling factor values of the two primary reading partitions are different, the actual physical observation scale presented to the physician is exactly the same, corresponding to the true field of view size under a 20x objective lens.
[0040] After calculating the target display scaling factor S_i, the image reading partition uses its current main field of view center as the scaling center and calls the canvas scaling interface to set the canvas display scaling factor to S_i. Using the field of view center as the scaling center ensures that the pathological area the doctor is focusing on remains within the screen's field of view after the magnification adjustment and does not slide off the screen due to the scaling operation. During scaling, the image reading partition also reselects an appropriate image layer for tile loading based on the new scaling factor to adapt to the new display detail requirements and avoid blurring or jagged edges caused by a mismatch between the display magnification and image resolution.
[0041] After the magnification adjustment is completed, the interface elements bound to the zoom state are synchronously refreshed from the viewing area, including the scale value, the size of the navigation map's view frame, and any annotation information related to the magnification. Through the above distribution, reverse resolution, and local zoom update, all viewing areas display their respective slices at a unified physical observation scale, fundamentally solving the problem of inconsistent physical scales across slices.
[0042] Step S40: In response to the field of view translation operation of the main viewing area, a main synchronization offset is generated based on the current real-time field of view offset value of the main viewing area, the pre-recorded synchronization anchor point and the anchor point offset. The synchronization anchor point is the local field of view offset reference when entering the synchronization state, and the anchor point offset is the synchronization offset reference value when entering the synchronization state. When a user performs a view shift operation on the main viewing area during the viewing process—such as dragging on the main view canvas, clicking on the navigation map for positioning, automatic center adjustment caused by scrolling, or moving using the keyboard arrow keys—the view position of the main viewing area changes. This view change needs to be synchronously propagated to all secondary viewing areas. However, a simple absolute coordinate copying method will cause jumps and mismatches when switching control sources, changing split-screen layouts, or adding new slices, due to the different origins of the coordinate systems of each area and the accumulation of historical offsets. Therefore, an incremental offset expression mechanism based on synchronization anchor points and anchor point offsets is adopted.
[0043] Upon entering synchronization, the synchronization anchor point and anchor point offset have been recorded for both the primary and secondary viewing partitions. For the primary viewing partition, its synchronization anchor point A_m records the local field-of-view offset value of the primary viewing canvas at the time of entering synchronization, and the anchor point offset B_m records the corresponding synchronization offset reference value at that moment. This anchor point offset can be initialized to zero or equal to a reference offset before entering synchronization, and is used to provide baseline alignment in subsequent incremental calculations.
[0044] When the main viewing area undergoes a field-of-view translation operation, its field-of-view state changes are monitored in real time, and the current real-time field-of-view offset value O_m is obtained. This real-time field-of-view offset value is typically a two-dimensional coordinate, representing the offset of the field-of-view origin in the canvas relative to the upper left corner of the image. Subsequently, the main synchronization offset ΔO_m is generated according to the formula ΔO_m = O_m - A_m + B_m. Here, O_m - A_m represents the net offset change of the main viewing area since the synchronization anchor point was recorded. Adding the anchor point offset B_m as a reference correction makes the final ΔO_m an incremental expression that can be directly recovered from the viewing area based on its own anchor point.
[0045] The advantage of this incremental representation is that it does not rely on any global absolute coordinate system. When the master viewer partition switches, the new master viewer partition only needs to re-record its own synchronization anchor point and anchor point offset, and then generate a new master synchronization offset using its own O_m, A_m, and B_m. The slave viewer partitions can then use their own saved local A_i and B_i to recover the correct local view position without recalculating the global coordinate relationship of all partitions. Simultaneously, this incremental representation also provides a clear input for subsequent attitude compensation. After the calculation is complete, the master viewer partition packages and broadcasts the master synchronization offset ΔO_m along with its own attitude parameters to all slave viewer partitions.
[0046] Step S50: Based on the attitude parameter differences between each slave reading partition and the master reading partition, perform attitude compensation mapping on the master synchronization offset. The attitude parameter differences include at least one of rotation angle differences and mirror state differences. After receiving the master synchronization offset broadcast by the master reading partition, the secondary reading partition cannot directly apply it to its own field of view position because there may be differences in display posture between the master and secondary reading partitions due to user interaction. During digital pathology slide reading, users often perform rotation, horizontal mirroring, or vertical mirroring operations on a single slide to observe tissue morphology from different directions or match the anatomical orientation of other slides. These operations change the orientation of the display coordinate system of that reading partition. If the posture difference is ignored and the master synchronization offset is directly used as the field of view offset increment for the secondary reading partition, then when the master reading partition drags its field of view to the right, because the coordinate system of the secondary reading partition may have already rotated or mirrored, the final direction of the field of view movement in the secondary reading partition may become leftward, upward, or diagonal, causing the lesion area to drift or even jump in the opposite direction, completely destroying the clinical value of synchronous slide reading.
[0047] To address this issue, attitude compensation mapping is applied to the master synchronization offset. First, the system reads its own attitude parameters P_i from the reading partition and compares them with the master reading partition attitude parameters P_m carried in the broadcast packet. These attitude parameters include rotation angle, horizontal mirror flag, and vertical mirror flag. The system calculates the relative rotation angle difference between the two. For example, if the master reading partition is not rotated (0 degrees), while the reading partition has been rotated 90 degrees clockwise by the user, the relative rotation angle difference is 90 degrees. Based on this angle difference, the system performs a coordinate rotation transformation on the master synchronization offset ΔO_m. When processing the two-dimensional offset vector, a 90-degree rotation corresponds to taking the negative of the original offset's horizontal coordinate component as the new negative of the vertical coordinate component, and vice versa; that is, (Δx, Δy) is transformed into (-Δy, Δx). For 180-degree or 270-degree rotations, the corresponding transformations are performed similarly to obtain the rotation-compensated offset.
[0048] After rotation compensation, the mirror state differences are further processed. If the main and secondary viewing areas are inconsistent in their horizontal mirror state (i.e., one has horizontal mirroring enabled while the other does not), the horizontal component of the offset after rotation compensation is inverted; if they are inconsistent in their vertical mirror state, the vertical component is inverted. When both horizontal and vertical mirror differences exist simultaneously, both components are inverted. Through the above two-step transformation of rotation and mirroring, the system obtains the attitude compensation mapping result T(ΔO_m, P_m, P_i). This result is the correct offset vector in the physical pathological area that completely corresponds to the movement direction of the main viewing area's field of view in the secondary viewing area's own display coordinate system. This ensures that regardless of how the viewing areas are rotated or mirrored, all secondary fields of view can accurately follow the same pathological area when the user drags the main field of view.
[0049] Step S60: Based on the synchronization anchor point, the anchor point offset, and the attitude compensation mapping result of each secondary viewing partition, determine and apply the new local field of view offset value of each secondary viewing partition so that each secondary viewing partition is synchronized to the pathological area corresponding to the main viewing partition.
[0050] After obtaining the attitude-compensated master synchronization offset, the viewing partition needs to calculate and apply a new local field-of-view offset value to complete the final field-of-view synchronization. This process requires using the local synchronization anchor point A_i and anchor point offset B_i recorded by the viewing partition when entering the synchronization state.
[0051] The new local field-of-view offset value O_i' to be set for the secondary viewing partition is determined according to the formula O_i' = A_i + T(ΔO_m, P_m, P_i) - B_i. In this formula, A_i is the synchronization anchor point of the secondary viewing partition, representing the local field-of-view offset reference of the secondary viewing partition when entering the synchronization state; B_i is the anchor point offset corresponding to the secondary viewing partition; and T(ΔO_m, P_m, P_i) is the offset result after attitude compensation mapping in the previous step. The physical meaning of this calculation formula is that, firstly, taking the synchronization anchor point A_i as the base point, the offset after attitude adaptation based on the incremental change of the main viewing partition's field of view is superimposed, and then the local anchor point offset B_i is subtracted, thereby deducing the accurate field-of-view position that the secondary viewing partition should be in at the current moment. This calculation method ensures that updates to the view from the reading partition rely only on a small amount of historical state information stored locally and the currently received broadcast increments, without relying on any global coordinates or other states from the reading partition. This guarantees stability and independence in complex scenarios such as control source switching and late-joining member resynchronization.
[0052] After calculating the new local view offset value O_i', it is written from the viewing partition to its own main view canvas component, triggering the canvas to translate to that offset coordinate. The translation operation can be combined with smooth animation transitions or instant jumps, and the specific method can be flexibly set according to system performance and user visual experience requirements. After the view position is updated, the interface elements associated with the view offset are synchronously refreshed from the viewing partition, including moving the view box on the navigation map to the thumbnail position corresponding to the actual display area of the main view, and updating related display objects such as the scale bar and coordinate indicators.
[0053] To avoid synchronization feedback loops, when processing the aforementioned synchronization data, the secondary reading partition only updates its local state and does not broadcast its own state changes as new synchronization events. The system stores the primary reading partition identifier in the transmission protocol or callback mechanism, ensuring that only synchronization events initiated by the primary reading partition can be broadcast; the secondary reading partition only receives and applies them. Through these steps, the secondary reading partition ultimately achieves synchronized display of pathological areas that completely correspond to the primary reading partition at a unified physical magnification, maintaining a stable and consistent field of view regardless of whether the scanning magnification, rotation angle, or mirror state of each partition is the same.
[0054] Furthermore, you can also view Figure 2 , Figure 2 This is a detailed process diagram based on step S20 in the first embodiment. Figure 2 The step of generating a uniform magnification value for the current physical observation scale based on the display scaling factor of the main viewing slice partition, the corresponding slice scanning magnification, and the preset physical scale calibration factor includes S21~23: Step S21: Read the scan magnification of the slice corresponding to the main viewing area and the current display scaling factor of the main viewing area; Step S22: Obtain a preset physical scale calibration coefficient, which is used to establish a mapping relationship between the display scaling coefficient and the physical observation scale; Step S23: The unified magnification value is obtained by converting the current display scaling factor, the slice scanning magnification, and the physical scale calibration factor.
[0055] In the process of generating uniform magnification values, two key raw parameters first need to be obtained from the main viewing area: the scan magnification of the corresponding slice in the main viewing area and the current display scaling factor of the main viewing area. Accurate reading of these two parameters is the starting point for the entire uniform magnification conversion chain and directly determines the correctness of subsequent physical observation scale calculations.
[0056] To retrieve the slide scanning magnification, the metadata information of the currently loaded digital slide file in the main reading partition is accessed. Digital pathology slide files are generally stored in a standardized file format, and their file header or embedded metadata segment explicitly records the objective magnification value used during the scan acquisition. Common scanning magnification values include 20x and 40x, which represent the original magnification capability of the scanner's optical system for tissue samples. The scanning magnification is parsed and cached in the attribute structure of the reading partition when the slide is loaded; the reading operation only needs to directly obtain the value of M_m from the attribute structure, without needing to repeatedly parse the file. If the slide file does not explicitly provide a scanning magnification field due to format differences or historical version reasons, an equivalent magnification value can be calculated based on the slide's pixel spacing label or resolution hierarchy, and the calculated result is recorded as M_m to ensure that the conversion process is not interrupted due to data loss.
[0057] To read the current display scaling factor, directly query the real-time scaling status of the main viewport canvas component in the main slice section. The current display scaling factor S_m is a floating-point value representing the scaling ratio of the canvas view relative to the slice's base display layer. The base display layer typically corresponds to the original image size captured by the scanner at its highest resolution. When S_m is 1.0, it means the canvas displays the slice in a one-to-one pixel mapping manner; less than 1.0 indicates the view is shrunk, and greater than 1.0 indicates the view is magnified. This scaling factor changes in real time with user scroll wheel operations, gesture zooming, or zoom slider dragging. The system reads this value the instant a uniform magnification value is generated to freeze the scaling level under the current user operation state.
[0058] The two parameters mentioned above can be obtained from the data structure of the main slice partition itself, M_m and S_m respectively. After reading, these two parameters are used as inputs for subsequent conversions to continue the process of obtaining the physical scale calibration coefficients. By separating and recording the physical acquisition attributes of the slice itself from the display status on the user's software interface, a foundation is laid for subsequent unified magnification abstraction independent of any specific slice.
[0059] After the scan magnification M_m and the current display scaling factor S_m of the main viewing area have been read, the next step is to obtain the preset physical scale calibration factor C_r. This physical scale calibration factor is a globally effective constant at the system level. Its fundamental purpose is to establish a mapping relationship between the display scaling factor and the physical observation scale, so that the image presented on the screen by different slices can be restored to an observation magnification value with real physical meaning, rather than remaining at the level of the software interface scaling percentage.
[0060] The determination of the physical scale calibration coefficient is typically completed during the initialization phase of the image reading system or in a dedicated calibration process. A fixed value for C_r can be calculated by reading hardware parameters such as the screen pixel pitch of the display device, the scaling settings of the display adapter, and the actual magnification of the microscope objective, combined with calibration measurements of a standard scale image. Once calibrated, this coefficient is persistently stored as a global configuration parameter for use in all subsequent synchronized image reading processes. In this step, the system only needs to read this preset value from the global configuration storage; there is no need to re-execute the calibration process.
[0061] The physical scale calibration coefficient C_r acts as a bridge in the conversion formula, connecting the software display scaling factor on the left with the actual physical magnification on the right. Without C_r, the value obtained by multiplying S_m by M_m is merely an intermediate product without physical dimensions, making meaningful comparisons between slices at different scanning magnifications impossible. However, with the introduction of C_r, the physical observation magnification can be precisely quantified. For example, the calculated M_u value can be translated as "the current screen image is equivalent to the field of view size under a 20x objective lens in real physical space." This physical mapping capability is one of the core technical features that distinguishes this solution from simple scaling value replication.
[0062] After obtaining C_r, all the input parameters required to generate a uniform magnification value have been gathered. The scan magnification M_m comes from the physical properties of the slice itself, the display scaling factor S_m comes from the user's current operating state, and the physical scale calibration factor C_r comes from the device's calibration configuration. These three represent the parameter characteristics of the slice layer, interaction layer, and hardware layer, respectively. After being obtained independently, they are sent together to the next step of the conversion process. This layered acquisition and centralized conversion design ensures that the calculation process for the uniform magnification value is logically clear and the source of the parameters is traceable.
[0063] After completing the reading of the slice scanning magnification M_m, the acquisition of the current display scaling factor S_m, and the acquisition of the preset physical scale calibration factor C_r, the system substitutes these three parameters into the preset conversion relationship for unified calculation to generate a unified magnification value M_u representing the current physical observation scale.
[0064] The conversion process strictly follows the formula M_u = S_m × M_m / C_r. The calculation logic of this formula can be understood as follows: first, the equivalent original slice magnification is calculated from the software display scaling state of the main viewing area; then, this magnification is corrected to a standardized physical magnification value decoupled from the display hardware using a physical scale calibration coefficient. Specifically, the product of S_m and M_m represents the equivalent magnification of the slice viewed through an objective lens under the current display scaling factor. Dividing this product by C_r converts the equivalent magnification affected by hardware factors into a unified physical viewing magnification independent of the specific display device. When C_r is 1, it indicates that the physical scale calibration coefficient does not apply additional correction; in this case, the unified magnification value is numerically equal to the product of S_m and M_m.
[0065] For example, if the main viewing area loads a 40x scanned digital pathology slide, and the user is currently viewing it at half its original size, then S_m is 0.5 and M_m is 40. With C_r set to 1, the calculated M_u equals 20. This means that the size of the tissue image seen by the doctor on the current screen is physically equivalent to the field of view seen when directly observing a real slide through the microscope eyepiece under a 20x objective lens. Even if different viewing areas load slides at different scan magnifications, as long as they are subsequently calculated based on this M_u to determine their respective target display scaling factors, they can all present the same physical scale of observation field on the screen, thus ensuring that the tissue area displayed in all screens is consistent when comparing slides.
[0066] When performing the above conversion, S_m, M_m, and C_r are all known and definite values. The entire calculation process involves only one multiplication and one division operation, resulting in extremely low computational overhead. It can be completed in real time the instant the user zooms in or out, without any perceptible delay. After the calculation is complete, the system outputs M_u as a unified magnification value and caches it, then broadcasts it to each viewing partition. This conversion step completes the key abstraction from the software display state to the physical observation scale, making zoom synchronization no longer dependent on specific slice scanning parameters, and providing a reliable data benchmark for magnification unification in multi-screen viewing scenarios.
[0067] Furthermore, you can also view Figure 3 , Figure 3 This is a detailed process diagram based on step S40 in the first embodiment. Figure 3 The step of generating the main synchronization offset based on the current real-time field of view offset value of the main viewing area partition, the pre-recorded synchronization anchor point and the anchor point offset includes S41~42: Step S41: Monitor the changes in the field of view status of the main viewing area in real time, and obtain the real-time field of view offset value based on the changes in the field of view status. Step S42: Calculate the difference between the real-time field of view offset value and the synchronization anchor point of the main viewing area to obtain the offset change amount. Then, add the offset change amount and the anchor point offset of the main viewing area to generate the main synchronization offset amount.
[0068] In the process of generating the master synchronization offset, two closely linked processing steps need to be completed: First, the changes in the field of view status of the master viewing area are monitored in real time and the corresponding real-time field of view offset value is obtained. Then, the real-time field of view offset value is combined with the pre-recorded synchronization anchor point and anchor point offset to calculate the master synchronization offset that can be broadcast.
[0069] For real-time monitoring and acquisition, a field-of-view change monitoring callback is registered on the field-of-view canvas component of the main viewing area. When a user performs a panning or dragging operation on the main viewing area, pressing and sliding a finger or mouse on the canvas generates continuous field-of-view movement events. Each event carries the latest offset coordinates of the current canvas field-of-view origin relative to the top-left corner of the slice image. When a user clicks or drags the field-of-view box on the navigation map, the navigation map control converts the click position or drag endpoint into the corresponding main field-of-view offset coordinates and directly writes the new field-of-view offset value to the canvas component through an internal interface, simultaneously triggering a field-of-view change callback. When a user performs a zoom operation using the scroll wheel, the canvas zooms around the mouse pointer location. After zooming, the center position of the field of view is adjusted, which also triggers a field-of-view change event carrying the adjusted offset coordinates. In addition, when a user moves the field of view step by step using the keyboard arrow keys, each key press generates a field-of-view change event with a cumulative offset value.
[0070] When any of the aforementioned interactive events are triggered, the current view offset coordinates carried in the event are captured in real time via a callback function. These coordinates are the real-time view offset value O_m. O_m is typically a two-dimensional vector containing horizontal and vertical offset components, with units in image pixels. No distinction is made based on the interaction type; regardless of whether the view change originates from dragging, navigation map positioning, zoom center adjustment, or keyboard movement, the resulting O_m is uniformly extracted as a snapshot of the view position of the main viewing area at the current moment. This real-time acquisition mechanism ensures that any form of view movement is captured promptly and incorporated into subsequent synchronous calculations, without omissions or delays due to different operation methods.
[0071] For the calculation and generation stage, after obtaining the real-time field-of-view offset value O_m, incremental offset synthesis begins. The synchronization anchor point A_m and anchor point offset B_m, pre-recorded when entering the synchronization state, are read from the local storage of the main viewing area partition. These two parameters were recorded before step S40 was executed. A_m represents the local field-of-view offset baseline of the main viewing area partition at the moment of synchronization, and B_m represents the corresponding synchronization offset reference value at that moment, typically initialized as a zero vector or a reference offset value inherited from the previous synchronization state.
[0072] The calculation is performed according to the formula ΔO_m = O_m - A_m + B_m. First, the real-time field-of-view offset value O_m is subtracted from the synchronization anchor point A_m. That is, the current lateral offset component is subtracted from the lateral component of A_m, and the current longitudinal offset component is subtracted from the longitudinal component of A_m. This yields the net offset change in the field of view of the main viewing area in both directions since the synchronization anchor point was recorded. This difference reflects the true movement amplitude and direction of the main viewing area relative to the synchronization starting reference point, eliminating the initial position offset represented by the synchronization anchor point, and transforming the offset expression from absolute coordinates to incremental coordinates.
[0073] Next, the result of the above difference calculation is superimposed with the anchor point offset B_m, that is, the horizontal component of the net offset change is added to the horizontal component of B_m, and the vertical component is added to the vertical component of B_m, finally obtaining the master synchronization offset ΔO_m. The superposition function of B_m is to provide an adjustable reference correction for the incremental expression. When it is necessary to fine-tune the benchmark of the synchronization offset in a specific scenario, it can be achieved by adjusting the value of B_m. Through the above calculation, ΔO_m becomes an offset expression based entirely on the incremental model, which does not depend on any global absolute coordinate system. When the master viewing partition is switched, the new master viewing partition only needs to substitute its own A_m, B_m and the current O_m into the same formula to generate a new master synchronization offset consistent with its local state. The viewing partition can independently complete the local view recovery using its own saved A_i and B_i, without having to rebuild the global coordinate mapping relationship of all partitions.
[0074] Furthermore, you can also view Figure 4 , Figure 4 This is a detailed process diagram based on step S50 in the first embodiment. Figure 4 The step of performing attitude compensation mapping on the master synchronization offset based on the attitude parameter differences between each slave reading partition and the master reading partition includes S51~54: Step S51: Obtain the relative rotation angle difference between each of the secondary reading partitions and the primary reading partition; Step S52: Perform coordinate rotation transformation on the main synchronization offset according to the relative rotation angle difference to obtain the offset after rotation compensation. Step S53: Obtain the mirror state difference between each secondary reading partition and the primary reading partition, wherein the mirror state difference includes at least one of horizontal mirror difference and vertical mirror difference; Step S54: Based on the difference in the mirror state, perform an inversion operation on the offset after rotation compensation to achieve attitude compensation mapping.
[0075] After receiving the master synchronization offset ΔO_m broadcast from the master viewing partition, attitude compensation mapping is performed on this offset to eliminate the field-of-view following direction error caused by the display attitude difference between the master and slave viewing partitions. This attitude compensation mapping process consists of four consecutive sub-steps, which respectively handle the acquisition and transformation of relative rotation angle difference, and the acquisition and correction of mirror state difference.
[0076] For the relative rotation angle difference acquisition step, the attitude parameter P_m of the main viewing partition is extracted from the broadcast data packet, and the attitude parameter P_i of the secondary viewing partition itself is read from local storage. The attitude parameter contains rotation angle information, typically recorded in degrees as the amount of rotation of the currently displayed screen of that viewing partition relative to the original slice direction. Common rotation angle values are 0 degrees, 90 degrees, 180 degrees, and 270 degrees, corresponding to no rotation, a quarter turn clockwise, half a turn, and three-quarters of a turn, respectively. The rotation angle in P_i is compared with the rotation angle in P_m, and the difference between the two is calculated to obtain the relative rotation angle difference. For example, if the current rotation angle of the main viewing partition is 0 degrees, and the secondary viewing partition has been rotated 90 degrees clockwise by the user, then the relative rotation angle difference is 90 degrees clockwise; if the main viewing partition is rotated 90 degrees clockwise, and the secondary viewing partition is rotated 0 degrees, then the relative rotation angle difference is 90 degrees counterclockwise. This relative rotation angle difference intuitively describes the directional deviation that the offset vector of the main reading area will be perceived as in the display coordinate system of the secondary reading area.
[0077] For the coordinate rotation transformation, based on the relative rotation angle difference obtained in the previous step, a two-dimensional coordinate rotation transformation is performed on the master synchronization offset ΔO_m. When the relative rotation angle difference is 0 degrees, no transformation is required, and ΔO_m is directly used as the offset after rotation compensation. When the relative rotation angle difference is 90 degrees clockwise, the system transforms the original offset vector from (Δx, Δy) to (Δy, -Δx), that is, the original horizontal component becomes the positive value of the new vertical component, and the original vertical component becomes the negative value of the new horizontal component. When the relative rotation angle difference is 180 degrees, the transformation result is (-Δx, -Δy), that is, both components are inverted simultaneously. When the relative rotation angle difference is 270 degrees clockwise or 90 degrees counterclockwise, the transformation result is (-Δy, Δx). The physical significance of this coordinate rotation transformation is that if the field of view of the main viewing area shifts to the right by a certain distance, while the display of the secondary viewing area rotates 90 degrees relative to the main viewing area, then the field of view of the secondary viewing area should correspondingly shift downwards to ensure that the direction of change of the pathological tissue area observed by both is anatomically consistent. After the system completes the above transformation, it will output a rotation-compensated offset that may be numerically different from ΔO_m, but points to the same tissue area in physical space.
[0078] In the mirror state difference acquisition stage, after completing rotation compensation, the mirror state flags in the main viewing partition's attitude parameter P_m and the slave viewing partition's attitude parameter P_i are further read. The mirror state flags include a horizontal mirror flag and a vertical mirror flag, indicating whether the display screen of that viewing partition has been flipped horizontally along the vertical axis and vertically along the horizontal axis, respectively. The horizontal mirror flags of the main and slave viewing partitions are XORed together. If they match, there is no horizontal mirror difference; otherwise, there is. Similarly, the vertical mirror flags are XORed to determine if a vertical mirror difference exists. Mirror state differences can exist individually or simultaneously. For example, if the main viewing partition has no mirroring enabled while the slave viewing partition has both horizontal and vertical mirroring enabled, both differences are marked.
[0079] For the inversion operation, based on the mirror state differences determined in the previous step, the offset after rotation compensation is corrected accordingly to achieve complete attitude compensation mapping. When there is a horizontal mirror difference, the horizontal component of the offset after rotation compensation is inverted, i.e., Δx becomes -Δx. When there is a vertical mirror difference, the vertical component of the offset after rotation compensation is inverted, i.e., Δy becomes -Δy. When both horizontal and vertical mirror differences exist simultaneously, both components are inverted. The offset after inversion is the final attitude compensation mapping result T(ΔO_m, P_m, P_i). This result will be passed to the subsequent local field of view offset calculation formula O_i' = A_i + T(ΔO_m, P_m, P_i) - B_i to ensure that the direction and magnitude of the field of view movement from the reading section completely match the actual browsing direction of the main reading section on the pathological tissue, regardless of the rotation or mirror operation performed on the display screen of each section.
[0080] Furthermore, you can also view Figure 5 , Figure 5 This is a flowchart illustrating the second embodiment of the synchronous image viewing method of the present invention, based on the shown... Figure 5 Before the step of generating the main synchronization offset based on the current real-time field of view offset value of the main viewing area partition, the pre-recorded synchronization anchor point and the anchor point offset, the method further includes steps S70~90: Step S70: Record the current local field of view offset values of the main viewing partition and each slave viewing partition when entering the synchronization state as their respective synchronization anchor points; Step S80: Record the synchronization offset reference values of the main reading partition and each slave reading partition when entering the synchronization state as their respective anchor point offsets. Step S90: Associate and store the synchronization anchor point and the anchor point offset with the corresponding reading partition, respectively.
[0081] Before generating the master synchronization offset for the master viewing partition, a fundamental preparatory step is required: recording a snapshot of the local view state of each viewing partition in the synchronization member set when it enters the synchronization state. This snapshot is composed of two parameters: the synchronization anchor point and the anchor point offset. The recording and associated storage of these two parameters are prerequisites for the correct execution of subsequent incremental synchronization offset calculations.
[0082] Based on the synchronization anchor point recording process, at the moment when the synchronization relationship is established but before any offset broadcasting begins, the main viewing partition and all slave viewing partitions in the synchronization member set are traversed. For each viewing partition, the current local field-of-view offset value of its main viewing canvas is read. This local field-of-view offset value represents the two-dimensional offset of the canvas field-of-view origin relative to the origin of the coordinate system of the loaded slice image, including horizontal and vertical offset components, with units consistent with the slice image pixel coordinate system. This value is completely recorded as the synchronization anchor point of the viewing partition, with the synchronization anchor point of the main viewing partition denoted as A_m, and the synchronization anchor points of each slave viewing partition denoted as A_i. The synchronization anchor point essentially freezes the field-of-view position of each viewing partition at the start of synchronization, providing a unified time and position reference for all subsequent incremental calculations. Regardless of how different the browsing history of each viewing partition is before entering synchronization, the recording of the synchronization anchor point equally solidifies their initial state, allowing subsequent changes in field-of-view offset to be calculated relative to this starting point, without having to trace the historical browsing paths of each partition.
[0083] In the anchor point offset recording process, at the same time as recording the synchronization anchor point, the corresponding anchor point offset for each viewing partition is synchronously recorded. The anchor point offset is a synchronization offset reference value, which is usually recorded as a zero vector when the synchronization relationship is initially established, meaning that both the horizontal and vertical components are zero. The anchor point offset of the main viewing partition is denoted as B_m, and the anchor point offsets of each slave viewing partition are denoted as Bi. The purpose of the anchor point offset is to provide an adjustable reference correction term for incremental offset calculation. Setting it to zero when establishing synchronization for the first time means that in the initial state, the offset increment is entirely determined by the difference between the real-time view offset value and the synchronization anchor point. In subsequent resynchronization scenarios, such as when re-establishing synchronization after switching control sources or changing the split-screen layout, the new anchor point offset may inherit some historical states or be assigned values according to specific rules to ensure a smooth view transition and logical correctness during the resynchronization process. By uniformly recording the anchor point offset during the initialization phase, the system reserves a flexible adjustment interface for various possible synchronization state changes in the future, without having to redesign the calculation logic every time there is a resynchronization.
[0084] For the associated storage step, after obtaining the synchronization anchor point and anchor point offset of each reading partition, these two parameters are bound to the identification information of that reading partition and stored in the local state management structure of that reading partition. This associated storage is implemented using key-value pairs or structure fields, allowing any reading partition to quickly retrieve its own A_i and B_i from local storage when it subsequently receives synchronization data broadcast by the main reading partition. This data is then substituted into the local view offset calculation formula to complete the recovery, without needing to obtain these basic parameters again through network communication or cross-partition queries. Simultaneously, the associated storage ensures that the synchronization anchor points and anchor point offsets of different reading partitions are independent and do not interfere with each other. When a reading partition leaves the synchronization member set, the system only needs to clear the corresponding record in the associated storage of that partition, without affecting the anchor point data already saved in other partitions. Through the sequential execution of these three steps, the system completes the anchor point initialization work of all members at the moment synchronization begins, laying a solid data foundation for the subsequent generation of the main synchronization offset and the recovery of the local view from the reading partition.
[0085] Furthermore, you can also view Figure 6 , Figure 6 This is a flowchart illustrating the third embodiment of the synchronous image viewing method of the present invention, based on the shown... Figure 6 After the step of determining the main viewing partition and the secondary viewing partition under the current split-screen layout in response to the screen mirroring command, the method further includes steps S100-120: Step S100: In response to a user's trigger operation based on any of the aforementioned secondary viewing partitions, the triggered secondary viewing partition is switched to a new primary viewing partition. Step S110: Deactivate the synchronization broadcast relationship of the original main reading partition and establish a synchronization broadcast relationship on the new main reading partition; Step S120: Redetermine the secondary viewing partition under the current split-screen layout, and resynchronize it with the new primary viewing partition.
[0086] During synchronized slide viewing, users' focus may flexibly shift between different screens. For example, after browsing the overall tissue morphology of the main viewing area, they may want to use another viewing area containing different stained sections as the new dominant window, driving all screens to uniformly move to the pathological area currently being observed in that screen. It is necessary to respond to this control source switching requirement, completing the reallocation of master-slave roles and the reconstruction of synchronization relationships.
[0087] For the control source switching triggering and response process, interactive event monitoring is pre-registered on the navigation map controls and main view canvas of each viewing partition. When a user performs a triggering operation on any viewing partition, such as clicking the partition's navigation map thumbnail, double-clicking its main view canvas area, or selecting the "Set as Primary Viewing Partition" option via the right-click menu, the event is captured, and the viewing partition corresponding to the event source is identified as the switching target. It is confirmed that the viewing partition is currently in a normal display state and has completed slice loading. If the partition has a delayed addition mark, the mark is cleared first, and it enters a fully ready state. Subsequently, the triggered viewing partition is promoted to the new primary viewing partition, and the original primary viewing partition is downgraded to a regular viewing partition. This promotion operation involves updating the internal primary viewing partition identifier variable, writing the identifier of the new primary viewing partition into this variable, and simultaneously clearing the identity mark of the original primary viewing partition. Through this master-slave identity switching mechanism based on user interaction events, users can initiate synchronization at any time based on any split screen, solving the problem in traditional solutions where only the main screen can broadcast the synchronization status while other split screens cannot become synchronization control sources.
[0088] For the synchronization broadcast relationship termination and reconstruction process, after the master reader partition identifier switch is completed, the synchronization broadcast callback functions already bound to the original master reader partition are first located. These callback functions are responsible for automatically calculating synchronization data and broadcasting it to the slave reader partitions when the original master reader partition experiences changes in field of view, magnification, or attitude. These callback functions are then deregistered one by one from the original master reader partition's field of view canvas event bus and attitude change notify, cutting off the original master reader partition's broadcast output path. Afterward, even if the original master reader partition experiences field of view movement or scaling operations, it will no longer send synchronization commands to other partitions, thus avoiding the problem of the old master reader partition continuing to interfere with the synchronization membership set in an expired state after losing its master status.
[0089] While terminating the old broadcast relationship, a completely new synchronous broadcast relationship is established on the new master view partition. Specifically, synchronous broadcast callback functions are registered for the view canvas translation, zoom, and attitude change events of the new master view partition, and these callback functions are bound to the current synchronous member set. When any view state change occurs in the new master view partition, these callback functions will be triggered, generating synchronous broadcast data according to a unified scaling formula, offset increment calculation formula, and attitude parameter extraction process, and sending it to all slave view partitions through the synchronous broadcast channel. Through this terminating-establishing operation, broadcast permissions are completely transferred from the old master view partition to the new master view partition, and the direction of the synchronous data flow remains consistent with the identity of the control source.
[0090] For the process of re-identifying and resynchronizing the video viewing partitions, after establishing a new broadcast relationship, the current split-screen layout is re-scanned to identify all video viewing partitions currently in display. The new primary video viewing partition itself is excluded, and the remaining valid video viewing partitions are re-included into the scope of secondary video viewing partitions, forming an updated set of synchronized members. For video viewing partitions previously marked as delayed addition due to incomplete loading, their current loading progress is used to determine whether they have met the readiness conditions. If they are ready, they are officially added to the list of secondary video viewing partitions; otherwise, their delayed addition mark is retained.
[0091] Subsequently, outdated synchronization offset reference values related to the old master viewing partition are cleared from each slave viewing partition to prevent intermediate calculation results from the previous synchronization cycle from interfering with the new synchronization cycle. After the clearing operation is completed, the new master viewing partition is triggered to perform the first resynchronization process. This first resynchronization involves the new master viewing partition regenerating a unified magnification value and distributing it to each slave viewing partition. At the same time, it regenerates the master synchronization offset based on its own synchronization anchor point and anchor point offset and broadcasts it to all slave viewing partitions. After receiving the above data, each slave viewing partition independently completes magnification alignment and field of view position restoration based on its own locally stored synchronization anchor point and anchor point offset, thereby quickly establishing a consistent observation state under the new control benchmark. The entire control source switching and resynchronization process does not require rebuilding the global absolute coordinate system or recalculating the historical paths of all partitions; a stable transition can be achieved solely through local anchor point updates and incremental broadcasting.
[0092] Furthermore, you can also view Figure 7 , Figure 7 This is a detailed process diagram based on step S120 in the third embodiment. Figure 7 The step of redetermining the secondary viewing partition under the current split-screen layout and having the new primary viewing partition re-execute the synchronization status broadcast includes S121~123: Step S121: The new master reading partition regenerates a uniform magnification value and distributes it to each slave reading partition; Step S122: Clear the synchronization offset reference values associated with the original main reading partition in each reading partition; Step S123: Based on the synchronization anchor point and anchor point offset of the new master reading partition, regenerate the master synchronization offset and broadcast it to complete the resynchronization after the control source switch.
[0093] After the new main viewing area is determined, the old broadcast relationship is terminated, and the new broadcast relationship is established, the resynchronization execution phase begins. This phase consists of three consecutive sub-steps: regenerating and distributing the unified magnification value, clearing outdated offset reference values, and regenerating and broadcasting the main synchronization offset, ultimately achieving complete alignment of all screens in terms of observation scale and field of view after the control source switch.
[0094] For the regeneration and distribution of the unified magnification value, the new master viewing partition first reads its current main view canvas display scaling factor, the scan magnification of the loaded slices, and the system's preset physical scale calibration factor. It then recalculates and generates a unified magnification value reflecting the current physical observation scale of the new master viewing partition using the unified magnification value conversion formula M_u = S_m × M_m / C_r. This unified magnification value may differ numerically from the magnification value previously generated by the old master viewing partition, because the slice scan magnification or the user's current scaling state may have been inconsistent between the old and new master viewing partitions. After obtaining the unified magnification value for its own observation scale, the new master viewing partition distributes this value to all slave viewing partitions in the synchronized member set through the established synchronous broadcast channel.
[0095] After receiving the new unified magnification value, each sub-viewing area, based on the scan magnification M_i of its loaded slices and the same physical scale calibration coefficient C_r, deduces its target display scaling factor according to the formula S_i = M_u × C_r / M_i. Each sub-viewing area uses its current field of view center as the scaling center, calls the canvas interface to adjust the display scaling factor to the target value S_i, and synchronously updates the image hierarchy, scale bar, and navigation map view frame, among other magnification-bound interface elements. Through this process of regenerating and distributing magnification synchronization, all sub-screens quickly align to the physical observation scale represented by the new main viewing area, ensuring that the actual size of the tissue area seen by the observer remains consistent regardless of whether the slice scan magnifications of each sub-screen are the same.
[0096] For the process of clearing outdated synchronization offset reference values, after the unified scaling factor is distributed, each slave reading partition in the synchronization member set is traversed, and the synchronization offset reference values associated with the old master reading partition in its local storage are cleared. These synchronization offset reference values are intermediate offset data received and temporarily stored by each slave reading partition in the previous synchronization cycle when the original master reading partition was the control source. These include, but are not limited to, copies of the master synchronization offset broadcast in the previous cycle, intermediate results of attitude compensation in the previous cycle, and offset residuals left over from the previous calculation process. Since the control source has been switched, these offset reference values generated based on the coordinate system of the old master reading partition are no longer valid. If they are not cleared and new broadcast data is directly superimposed, it will cause confusion between the old and new offsets at the calculation level, resulting in field-of-view jumps or positional deviations.
[0097] The clearing process can be implemented using various methods, such as assigning the corresponding variable to a zero vector, directly releasing the storage space, or marking it as invalid in the status flag. After the clearing operation is completed, the offset memory of the old synchronization cycle for each reading partition is completely erased, but the locally stored synchronization anchor point and anchor point offset remain unchanged. The synchronization anchor point and anchor point offset record the local view reference of each reading partition when entering the synchronization state. They are inherent states independent of the specific master reading partition and remain valid before and after the control source switch, thus unaffected by this clearing operation. This selective cleanup strategy eliminates interference data left over from the old synchronization cycle while retaining the essential anchor point information necessary for subsequent local view recovery.
[0098] For the primary synchronization offset regeneration and broadcasting process, an offset generation procedure is triggered on the new primary view partition. The new primary view partition reads its current real-time view offset value O_m and retrieves the synchronization anchor point A_m and anchor point offset B_m belonging to the new primary view partition from local storage. These parameters have already been associated and stored in the local state structure of the new primary view partition in the previous synchronization anchor point recording step. Although the new primary view partition was only a secondary view partition at that time, the values of its A_m and B_m were fully compatible with the current new primary identity and did not need to be re-acquired or corrected.
[0099] The new master view partition substitutes the above parameters into the formula ΔO_m = O_m - A_m + B_m to calculate the new master synchronization offset. This master synchronization offset represents the net offset increment of the field of view since the new master view partition entered the synchronization state, expressed as an increment vector relative to the new master view partition's own anchor reference. After calculation, the new master synchronization offset, along with the attitude parameters of the new master view partition, is sent to all slave view partitions through the synchronization broadcast channel.
[0100] After receiving the new master synchronization offset, each slave viewing partition performs coordinate transformations (rotation and mirroring) on the offset according to the attitude compensation mapping process. Then, the attitude-compensated result is substituted into the local view offset recovery formula O_i' = A_i + T(ΔO_m, P_m, P_i) - B_i to calculate the new local view offset value to be used. Each slave viewing partition writes this new offset value to the canvas component, completing the final update of the view position and synchronously refreshing related interface elements such as the navigation map view frame. Thus, after the control source switch, all split screens reconstruct a completely consistent viewing state under the magnification and position reference determined by the new master viewing partition. The entire resynchronization process does not rely on global absolute coordinates, nor does it back-calculate the historical browsing paths of any viewing partition, fully demonstrating the technical advantages of the incremental synchronization mechanism in scenarios with flexible control source switching.
[0101] Furthermore, you can also view Figure 8 , Figure 8 This is a flowchart illustrating the fourth embodiment of the synchronous image viewing method of the present invention. Figure 8 After the step of determining and applying the new local field-of-view offset value for each viewing partition, the method further includes steps S130-150: Step S130: Check if there is a newly added viewing partition in the current split-screen synchronization member set; Step S140: If a new viewing partition exists, record the current local field of view offset value for the new viewing partition as a synchronization anchor point, and record the corresponding anchor point offset. Step S150: Incorporate the newly added reading partition into the range of the secondary reading partition, and perform a synchronization alignment operation on the newly added reading partition according to the latest unified scaling value and master synchronization offset of the current master reading partition.
[0102] After the synchronized image reading system completes the calculation and application of the new local field of view offset values for each image reading partition, the synchronized member set remains in a relatively stable operating state for a period of time. However, in the actual image reading process, users may load new digital pathology slides into idle partitions or replace the slide content in an existing partition during synchronization. Furthermore, image reading partitions previously marked as delayed additions due to loading delays are now ready to participate in synchronization after completing slide opening and tile preparation in the background. It is necessary to continuously monitor the emergence of these new image reading partitions and immediately incorporate them into the synchronization control scope once they are ready, enabling new members to quickly align to the current shared observation state across all partitions.
[0103] At the end of each offset synchronization cycle, or when a preset timed detection interval is reached, a scan is performed on the current split-screen layout. The scan covers all physical split-screen locations, checking each location one by one to see if a viewing partition is currently displayed. The scan results are compared with the list of secondary viewing partitions in the current synchronization member set. If a viewing partition not yet appearing in the list of secondary viewing partitions is found at a certain split-screen location, it is identified as a potential newly added viewing partition. Further, the loading status of this potential newly added viewing partition is determined. This determination includes whether the tile file has been opened and decoded, whether at least the first layer of the tile pyramid has been loaded, and whether the main view canvas control has been initialized and is capable of accepting offset writes. If all the above conditions are met, the viewing partition is confirmed to be ready to be added to the synchronization immediately. If the viewing partition is still loading, a delayed addition flag is set for it, and subsequent anchor point recording and synchronization alignment are temporarily suspended, awaiting reassessment of its readiness status in the next detection cycle. This detection mechanism ensures that new slices can be reliably captured regardless of when they are added to the split-screen layout, and will not be forcibly included in synchronization before they are ready, causing loading interruption or display abnormalities.
[0104] Once a newly added viewing partition is confirmed to be ready, the same anchor point initialization process as during the initial synchronization is immediately executed for that partition. The current local view offset value of the main view canvas of the newly added viewing partition is read and recorded as the synchronization anchor point A_new for that partition. This local view offset value represents the view position of the newly added viewing partition at the moment of synchronization. Regardless of any previous browsing operations by the user on this split screen, this snapshot of its position is fixed as its local reference for synchronization. Simultaneously, the corresponding anchor point offset B_new is recorded for the newly added viewing partition, initialized to a zero vector upon initial synchronization. If the newly added viewing partition was previously marked as delayed and is now fully loaded, its B_new is also initialized to zero, as this partition did not previously participate in any synchronization offset broadcasting and has no historical offset reference value to inherit. After recording, A_new and B_new are bound to the identification information of the newly added viewing partition and stored in the local state management structure of that viewing partition. Through this anchor point recording operation, the newly added reading partition obtains a local basic state that is completely equivalent to other reading partitions in the synchronization member set at the data level, and can subsequently respond to the synchronization broadcast of the main reading partition with the same logic as other reading partitions.
[0105] After anchor point recording is completed, the newly added viewing partition is officially added to the list of slave viewing partitions in the synchronization member set. This addition operation updates the receiver list of the synchronization broadcast channel, ensuring that subsequent synchronization data sent by the master viewing partition can reach the newly added partition. Subsequently, an independent synchronization alignment operation is immediately performed on the newly added viewing partition. This alignment operation is not passively triggered by the next change in the master viewing partition's field of view, but is actively driven by the system. The latest unified magnification value M_u is obtained from the current master viewing partition. M_u represents the physical observation scale of the master viewing partition at the time of generation and has been adopted by all current slave viewing partitions. This M_u is distributed to the newly added viewing partition. The newly added viewing partition, based on its own slice's scan magnification M_new and physical scale calibration coefficient C_r, inversely solves for the target display scaling factor according to the formula S_new = M_u × C_r / M_new, and completes the magnification adjustment with its current field of view center as the scaling center, while simultaneously refreshing the tile layer and scale display.
[0106] Simultaneously or immediately after scaling, the latest master synchronization offset ΔO_m and attitude parameter P_m are obtained from the current master view partition. ΔO_m and P_m, along with P_new, are sent to the attitude compensation processing flow of the newly added view partition. After relative rotation angle difference transformation and mirror state difference inversion correction, the attitude compensation mapping result T(ΔO_m, P_m, P_new) is obtained. Subsequently, the newly added view partition substitutes T(ΔO_m, P_m, P_new) along with its recently recorded synchronization anchor point A_new and anchor point offset B_new into the local view offset recovery formula O_new' = A_new + T(ΔO_m, P_m, P_new) - B_new to calculate the new local view offset value to be used. The newly added view partition writes this offset value to the master view canvas, completing the initial synchronization alignment of the view position, and synchronously updates related interface elements such as the navigation map view frame. At this point, the newly added viewing partition is completely aligned with the current main viewing partition and other secondary viewing partitions in terms of observation scale and field of view, and has officially integrated into the overall rhythm of synchronized viewing. The entire joining process did not interrupt or interfere with other partitions already in synchronization, nor did it require the main viewing partition to rebuild the global coordinate system or rebroadcast historical states due to the addition of the new member, fully demonstrating the good adaptability of the synchronization anchor point incremental mechanism to dynamic member changes.
[0107] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the synchronous film viewing method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.
[0108] This application provides a synchronous video viewing device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the synchronous video viewing method in Embodiment 1 above.
[0109] The following is for reference. Figure 9 The diagram illustrates a structural schematic suitable for implementing the synchronous video viewing device in the embodiments of this application. The synchronous video viewing device in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 9 The synchronous image viewing device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0110] like Figure 9 As shown, the synchronous video viewing device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1003 into a random access memory (RAM) 1004. The RAM 1004 also stores various programs and data required for the operation of the synchronous video viewing device. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following can be connected to the I / O interface 1006: input devices 1007 including, for example, a touchscreen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1003 including, for example, magnetic tape, hard disk, etc.; and communication devices 1009. The communication device 1009 allows the synchronous video viewing device to communicate wirelessly or wiredly with other devices to exchange data. Although various synchronous video viewing devices are shown in the figures, it should be understood that implementation or possession of all of them is not required. More or fewer devices may be implemented alternatively.
[0111] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0112] The synchronous film viewing device provided in this application, employing the synchronous film viewing method described in the above embodiments, can solve the technical problems of field-of-view drift and scale inconsistency in existing multi-screen synchronous film viewing. Compared with the prior art, the beneficial effects of the synchronous film viewing device provided in this application are the same as those of the synchronous film viewing method provided in the above embodiments, and other technical features of this synchronous film viewing device are the same as those disclosed in the previous embodiment method, and will not be repeated here.
[0113] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0114] The above description is merely a specific embodiment 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.
[0115] This application provides a storage medium, which is a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, which are used to execute the synchronous image viewing method in the above embodiments.
[0116] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or flash memory, optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be executed by instructions, used by devices, or used in conjunction with them. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0117] The aforementioned computer-readable storage medium may be included in the synchronous viewing device; or it may exist independently and not be assembled into the synchronous viewing device.
[0118] The aforementioned computer-readable storage medium carries one or more programs, which, when executed by the synchronous film viewing device, enable the synchronous film viewing device to implement the technical content of the synchronous film viewing method embodiment shown above.
[0119] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0120] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of methods and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using dedicated hardware-based implementations that perform the specified functions or operations, or can be implemented using a combination of dedicated hardware and computer instructions.
[0121] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0122] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described synchronous film viewing method, which can solve the technical problems of field-of-view drift and scale inconsistency in existing multi-screen synchronous film viewing. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as the beneficial effects of the synchronous film viewing method provided in the above embodiments, and will not be repeated here.
Claims
1. A method for simultaneous image viewing, characterized in that, The synchronous image viewing method includes the following steps: In response to the screen mirroring command, determine the primary and secondary screen viewing partitions in the current split-screen synchronization member set, wherein there are multiple secondary screen viewing partitions; Based on the display scaling factor of the main viewing area, the corresponding slice scanning magnification, and the preset physical scale calibration factor, a uniform magnification value for the current physical observation scale is generated. The unified scaling value is distributed to each sub-viewing partition, so that each sub-viewing partition can reverse-engineer the target display scaling factor based on the unified scaling value and perform scaling alignment. In response to the field of view translation operation of the main viewing area, a main synchronization offset is generated based on the current real-time field of view offset value of the main viewing area, the pre-recorded synchronization anchor point and the anchor point offset. The synchronization anchor point is the local field of view offset reference when entering the synchronization state, and the anchor point offset is the synchronization offset reference value when entering the synchronization state. Based on the attitude parameter differences between each slave reading partition and the master reading partition, the master synchronization offset is subjected to attitude compensation mapping, wherein the attitude parameter differences include at least one of rotation angle differences and mirror state differences. Based on the synchronization anchor point, the anchor point offset, and the attitude compensation mapping results of each secondary image reading partition, a new local field of view offset value for each secondary image reading partition is determined and applied to synchronize each secondary image reading partition to the pathological area corresponding to the primary image reading partition.
2. The synchronous image viewing method as described in claim 1, characterized in that, The step of generating a uniform magnification value for the current physical observation scale based on the display scaling factor of the main viewing slice partition, the corresponding slice scanning magnification, and the preset physical scale calibration factor includes: Read the scan magnification of the slice corresponding to the main viewing area, and the current display scaling factor of the main viewing area; Obtain a preset physical scale calibration coefficient, which is used to establish a mapping relationship between the display scaling coefficient and the physical observation scale; The unified scaling value is obtained by converting the current display scaling factor, the slice scan magnification, and the physical scale calibration factor.
3. The synchronous image viewing method as described in claim 1, characterized in that, The step of generating the main synchronization offset based on the current real-time field of view offset value of the main viewing area partition, the pre-recorded synchronization anchor point and the anchor point offset includes: Real-time monitoring of the changes in the field of view status of the main viewing area, and obtaining the real-time field of view offset value based on the changes in the field of view status; The difference between the real-time field of view offset value and the synchronization anchor point of the main viewing area is calculated to obtain the offset change. The offset change and the anchor point offset of the main viewing area are then added together to generate the main synchronization offset.
4. The synchronous image viewing method as described in claim 1, characterized in that, The step of performing attitude compensation mapping on the master synchronization offset based on the attitude parameter differences between each slave reading partition and the master reading partition includes: Obtain the relative rotation angle difference between each of the secondary reading partitions and the primary reading partition; The main synchronization offset is transformed by coordinate rotation according to the relative rotation angle difference to obtain the offset after rotation compensation. Obtain the mirror state difference between each secondary reading partition and the primary reading partition, wherein the mirror state difference includes at least one of horizontal mirror difference and vertical mirror difference; Based on the difference in the mirror state, the offset after rotation compensation is inverted to achieve attitude compensation mapping.
5. The synchronous image viewing method as described in claim 1, characterized in that, Before the step of generating the main synchronization offset based on the current real-time field of view offset value of the main viewing area partition, the pre-recorded synchronization anchor point and the anchor point offset, the method further includes: The current local field of view offset values of the main viewing partition and each slave viewing partition when entering the synchronization state are recorded as their respective synchronization anchor points; The synchronization offset reference values of the main reading partition and each slave reading partition when entering the synchronization state are recorded as their respective anchor point offsets. The synchronization anchor point and the anchor point offset are associated with and stored with the corresponding reading partitions.
6. The synchronous image viewing method as described in claim 1, characterized in that, After responding to the screen mirroring command and determining the main and secondary viewing partitions in the current split-screen layout, the method further includes: In response to a user's trigger operation based on any of the aforementioned secondary viewing partitions, the triggered secondary viewing partition is switched to a new primary viewing partition; Remove the synchronous broadcast relationship from the original main reading partition and establish a synchronous broadcast relationship on the new main reading partition; The secondary viewing partition under the current split-screen layout is redefined, and the new primary viewing partition is resynchronized.
7. The synchronous image viewing method as described in claim 6, characterized in that, The step of redetermining the secondary viewing partition under the current split-screen layout and having the new primary viewing partition re-execute the synchronization status broadcast includes: A unified magnification value is regenerated from the new master reading partition and distributed to each slave reading partition; Clear the synchronization offset reference values associated with the original main reading partition in each reading partition; The master synchronization offset is regenerated and broadcast from the synchronization anchor point and anchor point offset of the new master reading partition to complete the resynchronization after the control source switch.
8. The synchronous image viewing method as described in claim 1, characterized in that, After the step of determining and applying the new local view offset value for each viewing partition, the method further includes: Check if there is a newly added viewing area in the current split-screen synchronization member set; If a new viewing partition is added, the current local field of view offset value is recorded as the synchronization anchor point for the new viewing partition, and the corresponding anchor point offset is also recorded. The newly added reading partition is incorporated into the slave reading partition, and a synchronization alignment operation is performed on the newly added reading partition based on the latest unified scaling value and master synchronization offset of the current master reading partition.
9. A synchronous film viewing device, characterized in that, The synchronous viewing device stores a computer program, which, when executed by a processor, implements the synchronous viewing method according to any one of claims 1-8.
10. A storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the synchronous image viewing method according to any one of claims 1-8.