Electronic device and method for image viewing
The electronic device optimizes image loading by preloading adjacent images in a directory structure, addressing delays in image viewers and improving user experience.
Patent Information
- Application Number
- JP2025021974
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-01-17
- Filing Date
- 2025-02-14
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2045-02-14
AI Technical Summary
Displaying multiple images simultaneously in an image viewer results in longer load times and delays, leading to a poor user experience due to the loading process interruptions.
An electronic device with a processor, cache memory, and transceiver that preloads images into the cache memory based on a directory structure, prioritizing images adjacent to the currently selected image, using a directory and subdirectory ranking system to optimize image loading.
Reduces load times and improves the smoothness of image transitions by preloading images likely to be viewed next, enhancing user satisfaction and overall viewing experience.
Smart Images

Figure 2025134084000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to image processing technology, and more particularly to an electronic device and method for viewing images. [Background technology]
[0002] When using image viewers, displaying multiple images simultaneously on a single page often results in significantly longer load times. When users switch between pages in an image viewer, the loading process causes delays and interruptions that result in a poor user experience. Improving the speed and smoothness of image transitions is important to increasing overall user satisfaction, so reducing load times is a key challenge in this field. Summary of the Invention [Problem to be solved by the invention]
[0003] The present invention is directed to an electronic device and method for viewing images. [Means for solving the problem]
[0004] The present invention relates to an electronic device for viewing images, the electronic device including a transceiver, a cache memory, and a processor. The processor is coupled to the transceiver and the cache memory. The processor acquires a plurality of images via the transceiver. The plurality of images includes a first image. The first image includes a first value and a second value. The processor is configured to: generate a directory of data by assigning the first image to a first directory of a directory of data based on the first value and to a first subdirectory of the first directory based on the second value; preload a second image in a second directory of the directory of data into the cache memory based on the directory of data in response to a selection of the first image; and output a graphical user interface via the transceiver, the graphical user interface being configured to display the first image in response to a selection of the first image.
[0005] In one embodiment of the invention, the processor is further configured to determine a deviation between the ranking of the first directory in the directory of data and the ranking of the second directory in the directory of data, determine whether the deviation is less than or equal to a first range limit, and preload a second image in the second directory in response to the deviation being less than or equal to the first range limit.
[0006] In one embodiment of the present invention, the processor is further configured to preload a third image in a third directory of the directory of data into the cache memory, wherein the ranking of the third directory in the directory of data is before the ranking of the second directory in the directory of data.
[0007] In one embodiment of the invention, the processor is further configured to preload a fourth image in the first subdirectory into the cache memory based on the directory of data in response to the first image being selected.
[0008] In one embodiment of the invention, the processor is further configured to determine a deviation between the ranking of the first image in the first subdirectory and the ranking of the fourth image in the first subdirectory, determine whether the deviation is less than or equal to a second range limit, and preload the fourth image in response to the deviation being less than or equal to the second range limit.
[0009] In one embodiment of the invention, the processor is further configured to output a graphical user interface via the transceiver, the graphical user interface displaying a plurality of images based on the count value.
[0010] In one embodiment of the invention, the processor is further configured to determine a second range limit based on the count value.
[0011] In one embodiment of the invention, the processor is further configured to save a preload quota in response to the deviation being less than or equal to the second range limit but the fourth image being the first or last image among the images in the first subdirectory, or in response to the first image being the first or last image among the images in the first subdirectory, determine the number of preloaded images in the first directory, and preload a second image in the second directory using the preload quota in response to the number of preloaded images being less than or equal to the count limit.
[0012] In one embodiment of the present invention, the processor is further configured to preload a fifth image in the first subdirectory into the cache memory after the fourth image is preloaded, and the fifth image in the first subdirectory is ranked before the fourth image in the first subdirectory.
[0013] In one embodiment of the invention, the first images further include a third value, and the processor is further configured to sort the first images in the first subdirectory based on the third value to generate the directory of data.
[0014] The present invention is directed to a method for viewing images, the method including: acquiring a plurality of images, the plurality of images including a first image, the first image including a first value and a second value; generating a directory of data by assigning the first image to a first directory of a directory of data and to a first subdirectory of the first directory based on the second value; preloading a second image in a second directory of the directory of data into a cache memory based on the directory of data in response to a selection of the first image; and outputting a graphical user interface, the graphical user interface displaying the first image in response to the selection of the first image.
[0015] In one embodiment of the present invention, the step of preloading a second image in a second directory of the directory of data into the cache memory based on the directory of data includes determining a deviation between the ranking of the first directory in the directory of data and the ranking of the second directory in the directory of data, determining whether the deviation is less than or equal to a first range limit, and preloading the second image in the second directory in response to the deviation being less than or equal to the first range limit.
[0016] In one embodiment of the present invention, the method further includes preloading a third image in a third directory of the directory of data into the cache memory, wherein the ranking of the third directory in the directory of data is before the ranking of the second directory in the directory of data.
[0017] In one embodiment of the invention, the method further includes preloading a fourth image in the first subdirectory into the cache memory based on the directory of the data in response to the first image being selected.
[0018] In one embodiment of the present invention, the step of preloading the fourth image in the first subdirectory into the cache memory based on the directory of data includes determining a deviation between the ranking of the first image in the first subdirectory and the ranking of the fourth image in the first subdirectory, determining whether the deviation is less than or equal to a second range limit, and preloading the fourth image in response to the deviation being less than or equal to the second range limit.
[0019] In one embodiment of the invention, the method further includes outputting a graphical user interface, the graphical user interface further including displaying a plurality of images based on the count value.
[0020] In one embodiment of the invention, the method further includes determining a second range limit based on the count value.
[0021] In one embodiment of the present invention, the step of preloading a second image in a second directory of the directory of data into the cache memory based on the directory of data includes saving a preload allocation amount in response to the deviation being less than or equal to the second range limit but the fourth image being the first or last image among the images in the first subdirectory, or in response to the first image being the first or last image among the images in the first subdirectory; determining the number of preloaded images in the first directory; and preloading the second image in the second directory by the preload allocation amount in response to the number of preloaded images being less than or equal to the count value.
[0022] In one embodiment of the present invention, the method further includes preloading a fifth image in the first subdirectory into the cache memory after the fourth image is preloaded, wherein the fifth image in the first subdirectory is ranked before the fourth image in the first subdirectory.
[0023] In one embodiment of the invention, the first image further includes a third value, and the method further includes sorting the first images in the first subdirectory based on the third value to generate a directory of data. [Effects of the Invention]
[0024] Based on the above description, the present invention designs a special format for images to create a directory of data, and electronic devices can preload multiple images based on the images currently being viewed by the user.
[0025] To make the above more easily understandable, several embodiments will be described in detail below in conjunction with the accompanying drawings. [Brief explanation of the drawings]
[0026] The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate exemplary embodiments of the invention and, together with the description, serve to explain the principles of the invention. [Figure 1] 1 is a schematic diagram of an electronic device for viewing images according to one embodiment of the present invention. [Figure 2] FIG. 2 is a schematic diagram of an image file format according to one embodiment of the present invention. [Figure 3] 1 illustrates the data structure of an image file according to one embodiment of the present invention. [Figure 4] 1 illustrates a graphical user interface of an image viewer according to one embodiment of the present invention. [Figure 5] 1 illustrates a flow diagram for image preloading according to one embodiment of the present invention. [Figure 6] 1 illustrates an example of image preloading according to one embodiment of the present invention. [Figure 7] 10 illustrates another example of image preloading according to one embodiment of the present invention. [Figure 8] 10 illustrates another example of image preloading according to one embodiment of the present invention. [Figure 9] 1 illustrates a flow diagram of a method for image viewing according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0027] 1 is a schematic diagram of an electronic device 100 for viewing images according to one embodiment of the present invention. The electronic device 100 may include a processor 110, a storage medium 120, and a transceiver 130. The processor 110 may be, for example, a central processing unit (CPU) or other programmable general-purpose or application-specific microcontroller unit (MCU), microprocessor, digital signal processor (DSP), programmable controller, application-specific integrated circuit (ASIC), graphics unit (GPU), arithmetic logic unit (ALU), complex programmable logic device (CPLD), field programmable gate array (FPGA), or other similar device, or a combination of the above devices. The processor 110 may be coupled to the storage medium 120 and the transceiver 130.
[0028] Storage medium 120 may be, for example, any type of fixed or removable random access memory (RAM), read-only memory (ROM), flash memory, hard disk drive (HDD), solid state drive (SSD), or similar element, or a combination thereof. Storage medium 120 may be a non-transitory computer-readable storage medium configured to record a plurality of executable computer programs, modules, or applications that are loaded by processor 110 to perform the functions of electronic device 100. Storage medium 120 may include cache memory 121. Processor 110 may pre-load one or more videos (or sets of images) or images into the cache memory for image viewing purposes.
[0029] The transceiver 130 may be configured to transmit or receive wired / wireless signals. The transceiver 130 may perform operations such as low-noise amplification, impedance matching, frequency mixing, frequency up- or down-conversion, filtering amplification, etc. The processor 110 may communicate with other devices via the transceiver 130. For example, the processor 110 may obtain one or more videos, images, or user commands via the transceiver 130. As another example, the processor 110 may output a graphical user interface (GUI) to a display via the transceiver 130.
[0030] 2 is a schematic diagram of an image file format according to one embodiment of the present invention. Image 20 may include information 21 defined as level 1 information, information 22 defined as level 2 information, and information 23 defined as level 3 information. Information 21 may include a value such as a level_1 identifier (ID) or a level_1 ranking. Information 22 may include a value such as a level_2 ID or a level_2 ranking. Information 23 may include a value such as a level_3 ID or a level_3 ranking.
[0031] One or more level_2 IDs may belong to the same level_1 ID, and one or more level_3 IDs may belong to the same level_2 ID. Using Figure 3 as an example, images 311 and 312 with different level_3 IDs but the same level_2 ID may belong to the same level_2 image group 310. Image groups 310 and 320 with different level_2 IDs but the same level_3 ID may belong to the same level_1 image group 300.
[0032] In one embodiment, a level_1 ID may represent an index of a directory in an operating system, and the corresponding level_1 rank may represent the rank of the level_1 ID among multiple level_1 IDs. A level_2 ID may represent an index of a subdirectory in a directory, and the corresponding level_2 rank may represent the rank of the level_2 ID among multiple level_2 IDs belonging to the same level_1 ID. A level_3 ID may represent an index of an image in a subdirectory, and the corresponding level_3 rank may represent the rank of the level_3 ID among multiple level_3 IDs belonging to the same level_2 ID.
[0033] For example, assume that multiple images acquired by processor 110 relate to transthoracic echocardiography (TTE) images of a patient. Images with the same level_1 ID may belong to the same patient. Images with the same level_1 ID but different level_2 IDs may correspond to different electrodes attached to the same patient. That is, images with different level_2 IDs may correspond to different TTE images of the same patient. Images with the same level_2 ID but different level_3 IDs may correspond to different frames (or timestamps, TTE images) of the same TTE image.
[0034] 4 illustrates a graphical user interface 400 of an image viewer according to one embodiment of the present invention. The GUI 400 may select and simultaneously display one or more videos (or images) 410, 420, 430, 440, 450, and 460 corresponding to the same level_1 ID based on a count value (e.g., count value C) and the level_2 ranking of each video. For example, the GUI 400 may simultaneously display six videos because the count value is equal to six, and the videos 410, 420, 430, 440, 450, and 460 may be arranged on the GUI 400 based on the level_2 ranking of each video. For example, the image 410 with the lowest level_2 ranking may be arranged in the upper left corner of the GUI 400, and the image 460 with the highest level_2 ranking may be arranged in the lower right corner of the GUI 400. In one embodiment, the displayed images 410, 420, 430, 440, 450, 460 may correspond to different level_2 IDs but the same level_3 ID, i.e., the timestamps of different images 410, 420, 430, 440, 450, 460 displayed simultaneously may be the same.
[0035] In one embodiment, a user may input commands into electronic device 100 to manipulate slider 42 of GUI 400 to change the timestamp of the displayed images. For example, assume that images 410-460 currently displayed by GUI 400 correspond to frame Y. If the user drags slider 42 to the right, GUI 400 may switch the displayed images 410-460 from frame Y to frame Y+1.
[0036] In one embodiment, a user may input commands into electronic device 100 to manipulate bottom portion 41 of GUI 400 to change the displayed image. For example, assume images 410-460 corresponding to TTE sound windows 1-6 are being displayed by GUI 400. If a user clicks on bottom portion 41, GUI 400 may switch the displayed image from images 410-460 to images corresponding to TTE sound windows 7-12.
[0037] In one embodiment, when an image is selected (e.g., an image is currently being displayed by GUI 400), processor 110 may preload one or more images related to the selected image based on the parameters shown in Table 1. [Table 1]
[0038] FIG. 5 depicts a flow diagram for image preloading according to one embodiment of the present invention, which may be implemented by electronic device 100 of FIG.
[0039] In step S501, the processor 110 acquires a plurality of images via the transceiver 130, each of which includes information such as information 21, 22, or 23 (i.e., level 1 information, level 2 information, or level 3 information), as shown in Figure 2. The acquired images may be stored in the storage medium 120.
[0040] In step S502, processor 110 may generate a directory of data, which may include one or more directories, each of which may include one or more subdirectories. Processor 110 may generate the directory of data by assigning images to a directory based on information 21 and assigning the images to a subdirectory of the directory based on information 22. Processor 110 may sort the images in the subdirectories based on information 23.
[0041] For example, image X may include values i, j, and k corresponding to information 21, 22, and 23, respectively. Processor 110 may assign a path X(i,j,k) of image X to the kth image in the jth subdirectory in the ith directory of the data directory. That is, index i may be associated with the level_1 ID or level_1 ranking of image X, index j may be associated with the level_2 ID or level_2 ranking of image X, and index k may be associated with the level_3 ID or level_3 ranking of image X. As an example, the path X(i,j,k) described above may indicate the kth frame (or kth timestamp) of the jth TTE image (or jth electrode) of the ith patient.
[0042] In step S503, the user may select an image, and the selected image may be preloaded into cache memory 121 or displayed in GUI 400. In the following paragraphs, it is assumed that the selected image is image X corresponding to path X(i,j,k).
[0043] In step S504, the processor 110 may preload one or more captured images into the cache memory 121 based on the directory of data.
[0044] In one embodiment, processor 110 may preload one or more images in the jth subdirectory (e.g., the jth TTE image of a patient) into cache memory 121 according to range limit R or L, and processor 110 may determine whether to refer to range limit R or L based on count value C. Note that in one embodiment, the number of preloaded images (including the currently selected image X(i,j,k)) belonging to the same level_1 ID cannot exceed count limit O=2R+1, and the total number of preloaded images (including image X(i,j,k)) cannot exceed count limit A, which may be set to A=2O+1=4R+3 based on user definition.
[0045] Assume C=1 (i.e., GUI 400 displays only one video or image at a time). Processor 110 may determine a deviation K between the level_3 rank of image X(i,j,k) in the jth subdirectory and the level_3 rank of images X(i,j,k±K) in the jth subdirectory, where K is a positive integer. If deviation K≦range limit R, processor 110 may preload image X(i,j,k±K) into cache 121. The rank of image X(i,j,k±K) in the jth subdirectory to be preloaded may satisfy the following equation: max(1,kR)≦k±K≦min(k+R, maximum Level_3 rank belonging to the same level_2 ID).
[0046] 6 as an example, assume that count value C=1, range limit R=2, and image 624 is currently selected or displayed by GUI 400. Processor 110 may determine that the deviation K between the level_3 rank (e.g., 4) of image 624 and the level_3 ranks (e.g., 2, 3, 5, 6) of images 622, 623, 625, and 626 is 2, 1, 1, and 2, respectively, which are less than or equal to range limit R=2. Therefore, processor 110 may preload images 622, 623, 625, and 626 into cache 121. On the other hand, processor 110 may determine that the deviation K between the level_3 rank (e.g., 4) of image 624 and the level_3 ranks (e.g., 1 and 7) of images 621 and 627 is 3, which is greater than range limit R=2. Therefore, processor 110 may not preload images 621 and 627 into cache 121. The level_3 rank 4±K of the images to be preloaded (for example, 622, 623, 625, 626) can satisfy the following formula: max(1,4-2)≦4±K≦min(4+2,7).
[0047] Assume C>1 (i.e., GUI 400 displays multiple videos or images simultaneously). Processor 110 may determine a deviation K between the level_3 ranking of image X(i,j,k) in the jth subdirectory and the level_3 ranking of images X(i,j,k±K) in the jth subdirectory, where K is a positive integer. If deviation K≦range limit L=[(OC) / 2C], processor 110 may preload images X(i,j,k±K) into cache 121. The images X(i,j,k±K) in the jth subdirectory to be preloaded can satisfy the following equation: max(1,kL)≦k±K≦min(k+L, maximum level_3 ranking belonging to the same level_2 ID).
[0048] 8 as an example, assume that count value C=2, range limit R=3, count limit O=2R+1=7, range limit L=[(O C) / 2C]=1, and image 822 is currently selected or displayed by GUI 400. Processor 110 may determine that the deviation K between the level_3 rank (e.g., 2) of image 822 and the level_3 rank (e.g., 1 and 3) of images 821 and 823 is 1 and 1, which is equal to range limit L=1. Therefore, processor 110 may preload images 821 and 823 into cache 121. On the other hand, processor 110 may determine that the deviation K between the level_3 rank (e.g., 2) of image 822 and the level_3 rank (e.g., 4) of image 824 is 2, which is greater than range limit L=1. Therefore, processor 110 may not preload image 824 into cache 121. The level_3 rank k±K of the image to be preloaded (for example, 821 or 823) can satisfy the following formula: max(1,2-1)≦4±K≦min(2+1,7).
[0049] In one embodiment, processor 110 may preload image X(i,j,k+K) after image X(i,j,kK) has been preloaded, depending on whether the level_3 ranking of image X(i,j,kK) in the jth subdirectory is before the level_3 ranking of image X(i,j,k+K) in the jth subdirectory. Using FIG. 6 as an example, because the level_3 ranking of image 623 is before the level_3 ranking of image 625, processor 110 may preload image 623 after image 625 has been preloaded.
[0050] In one embodiment, processor 110 may preload image X(i,j,k+(K+n)) after image X(i,j,k+K) has been preloaded in response to a deviation K between the level_3 ranking of image X(i,j,k+K) and the level_3 ranking of image X(i,j,k), where n is a positive integer, being less than the deviation (K+n) between the level_3 ranking of image X(i,j,k+(K+n)) and the level_3 ranking of image X(i,j,k). Taking FIG. 6 as an example, processor 110 may preload image 622 after image 623 has been preloaded because the deviation "1" between the level_3 ranking of image 624 and the level_3 ranking of image 623 is less than the deviation "2" between images 622 and 624.
[0051] In one embodiment, processor 110 may preload image X(i,j,k±K) if the deviation K between the level_3 rank of image X(i,j,k) and the level_3 rank of image X(i,j,k±K) is less than a range limit (e.g., range limit R or L depending on the value of count value C) and image X(i,j,k±K) is not the first or last image among the images in the jth subdirectory (i.e., image X(i,j,k±K) is not image X(i,j,1) or image X(i,j, highest level_3 rank (e.g., 7))). However, if the deviation K between the level_3 ranking of image X(i,j,k) and the level_3 ranking of image X(i,j,k±K) is less than a range limit (e.g., range limit R or L), but image X(i,j,k±K) is the first or last image among the images in the jth subdirectory, processor 110 may reserve one or more preload quotas for preloading other images, and the number of reserved preload quotas may be equal to the difference between range limit R and deviation K (i.e., number of reserved preload quotas = R - deviation K). After determining the images corresponding to the ith directory to be preloaded, processor 110 may determine the number of preloaded images for the ith directory; the larger the preload quota, the fewer the preloaded images. If the number of preloaded images for the ith directory is equal to or greater than the count value O = 2R + 1, processor 110 may determine that no reserved preload quota exists. If the number of preloaded images in the i-th directory is less than the count value O, the processor 110 may determine that one or more preload quotas have been saved. The processor 110 may preload images in the directory according to the saved preload quotas, within the range limit B, until all preload quotas have been used.
[0052] 7 as an example, assume count value C=1, range limit R=3, range limit B=2, count limit O=7, and image 722 is currently selected or displayed by GUI 400. Processor 110 may determine that the deviation "1" between the level_3 rank of image 722 (e.g., 2) and the level_3 rank of image 721 (e.g., 1) is less than range limit R=3, but image 721 is the first image in a subdirectory of directory 720 (i.e., the subdirectory contains images corresponding to the same Level_2 ID or rank). Thus, processor 110 may reserve a preload quota of 2 for preloading other images based on the formula: R-deviation "1"=3-1=2. The reserved preload quota may be used, for example, to preload images in directory 740 because directory 740 is within range limit B.
[0053] In one embodiment, processor 110 may preload one or more images in the (i±I)th directory into cache memory 121 based on a range limit B, where I is a positive integer and I≦range limit B. Specifically, processor 110 may determine a deviation I between the level_1 rank of the ith directory and the level_1 rank of the (i±I)th directory. If the deviation I≦B, processor 110 may preload image X(i+I,j,1+K) in the (i+I)th directory and / or image X(iI,j,mK) in the (iI)th directory, where m is the maximum level_3 rank belonging to the (iI)th directory, K is a non-negative integer, and K≦range limit R. The level_1 ranking of image X(i+I,j,1+K) can satisfy the formula: i+I≦min(i+B, maximum level_1 ranking belonging to the data directory), and the level_3 ranking of image X(i+I,j,1+K) can satisfy the formula: 1+K≦min(1+R, maximum level_3 ranking belonging to the (i+I)th directory). The level_1 ranking of image X(iI,j,mK) can satisfy the formula: max(1,iB)≦iI, and the level_3 ranking of image X(iI,j,mK) can satisfy the formula: max(1,mR)≦mK.
[0054] 6 as an example, assume that range limit B=1 and that image 624 is currently selected or displayed by GUI 400. Processor 110 may determine that the deviation I between the level_1 rank (e.g., 2) of image 624 and the level_1 rank (e.g., 3) of image 631 (or 632, 633) is 1, which is less than or equal to range limit B=1. Thus, processor 110 may preload image 631 (or 632, 633) into cache 121. Meanwhile, processor 110 may determine that the deviation I between the level_1 rank (e.g., 2) of image 624 and the level_1 rank (e.g., 1) of image 617 (or 616, 615) is 1, which is less than or equal to range limit B=1. Thus, processor 110 may preload image 617 (or 616, 615) into cache 121.
[0055] In one embodiment, processor 110 may preload image X(i+I,j,mK) after image X(i+I,j,1+K) is preloaded in response to the level_1 ranking of image X(iI,j,mK) being before the level_3 ranking of image X(i+I,j,1+K), where m is the maximum level_3 ranking belonging to the (iI)th directory, K is a positive integer, and K≦range limit R. Taking FIG. 6 as an example, processor 110 may preload image 617, 616, or 615 after image 631, 632, or 633 is preloaded because the level_1 ranking of image 617, 616, or 615 is before the level_1 ranking of image 631, 632, or 633.
[0056] In one embodiment, assume that n and m are positive integers and n < m. The processor 110, in response to the deviation "n" between the level_1 rank of the (i + n)-th directory and the level_1 rank of the i-th directory being less than the deviation "m" between the level_1 rank of the (i + m)-th directory and the level_1 rank of the i-th directory, may preload the image belonging to the (i + m)-th directory after preloading the image belonging to the (i + n)-th directory. Taking FIG. 7 as an example, since the deviation "1" between directory 730 and directory 720 is less than the deviation "2" between directory 740 and directory 720, the processor 110 may preload the image in directory 740 after preloading the image in directory 730.
[0057] In one embodiment, the processor 110 may determine the number of preloaded images. When the number of preloaded images is less than the count limit A = 2O + 1 = 4R + 3, the processor 110 may preload more images in the (i + n)-th directory, where n is a positive integer and n ≦ the range limit B. Taking FIG. 7 as an example, assume that the range limit R = 3, the range limit B = 2, and the count limit A = 15. After preloading the image in directory 710, the processor 110 may determine that the number of preloaded images in directories 710, 720, 730 (i.e., images 714, 715, 716, 717, 721, 722, 723, 724, 725, 731, 732, 733, 734) is 13, which is less than the count limit A = 15. Therefore, the processor 110 may preload the image in directory 740.
[0058] In one embodiment, processor 110 may stop preloading images if the difference between count limit A and the number of preloaded images is less than count value C. Take FIG. 8 as an example. Assume count limit A=15, count value C=2, and images in two subdirectories of each directory 810, 820, and 830 (e.g., images 816 and 817 in one subdirectory of directory 810, images 821, 822, and 823 in one subdirectory of directory 820, or images 831 and 832 in one subdirectory of directory 830) have already been preloaded into cache 121. Processor 110 may determine that the number of preloaded images is equal to 14. Because the difference between count limit A=15 and the number of preloaded images “14” is less than count value C=2, processor 110 may stop preloading images.
[0059] 2, in step S505, processor 110 may display one or more images using GUI 400. Processor 110 may display one or more images (or pictures) corresponding to the same level_1 ranking based on count value C and the level_2 ranking of each video.
[0060] In step S506, processor 110 may determine whether the user has switched pages of GUI 400 via a user command, and each page may include one or more selected videos (or images). If the page has been switched, processor 110 may select one or more new videos (or images) to display on GUI 400. After the new videos (or images) are selected, processor 110 may execute step S503 again. If the page has not been switched, the image preload procedure is stopped.
[0061] 6 illustrates an example of image preloading according to one embodiment of the present invention. Assume range limit R=2, range limit B=2, count limit C=1, count limit O=2R+1=5, count limit A=4R+3=11, and image 624 in directory 620 is currently selected or displayed by GUI 400. Processor 110 may determine that the deviations between the level_3 rank (e.g., 4) of image 624 and the level_3 ranks (e.g., 2, 3, 5, 6) of images 622, 623, 625, and 626 are 2, 1, 1, and 2, respectively, which are less than or equal to range limit R=2. Therefore, processor 110 may preload images 622, 623, 625, and 626 into cache 121. Processor 110 may preload images 623 and 625 first because the deviations between image 624 and images 623 and 625 are the smallest. Processor 110 may first preload image 625 and then image 623, depending on whether the level_3 rank of image 623 is before the level_3 rank of image 625. Meanwhile, processor 110 may determine that the deviation K between the level_3 rank of image 624 (e.g., 4) and the Level_3 ranks of images 621 and 627 (e.g., 1 and 7) is 3 and 3, respectively, which are greater than the range limit R=2. Therefore, processor 110 may not preload image 621 or 627 into cache 121.
[0062] Processor 110 may determine that the number of preloaded images is “5,” which is less than the count limit A=11. Therefore, processor 110 may preload more images in directories other than directory 620. Because the level_1 ranking of directory 610 is before the level_1 ranking of directory 630, processor 110 may preload images in directory 630 first. Processor 110 may preload images 631, 632, and 633 because their level_3 rankings satisfy the above-described formula: 1+K≦min(1+R, maximum level_3 ranking belonging to the (i+I)th directory).
[0063] Processor 110 may determine that the number of preloaded images belonging to directories 620 and 630 is "8," which is less than the count limit A=11. Therefore, processor 110 may preload more images in directory 610. Processor 110 may preload images 617, 616, and 615 because their level_3 rankings satisfy the above-described formula: max(1,mR)≦mK.
[0064] 7 illustrates another example of image preloading according to one embodiment of the present invention. Assume range limit R=3, range limit B=2, count value C=1, count limit O=2R+1=7, count limit A=4R+3=15, and image 722 in directory 720 is currently selected or displayed by GUI 400. Processor 110 may determine that the deviations between the level_3 rank (e.g., 2) of image 722 and the level_3 ranks (e.g., 1, 3, 4, 5) of images 721, 723, 724, and 725 are 1, 1, 2, and 3, respectively, which are less than or equal to range limit R=3. Therefore, processor 110 may preload images 721, 723, 724, or 725 into cache 121. Processor 110 may preload images 721 and 723 first because the deviations between image 722 and images 721 and 723 are the smallest. Processor 110 may preload image 723 first, and then image 721, in response to image 721 having a level_3 ranking before image 723's level_3 ranking.
[0065] Processor 110 may determine that the deviation "1" between the level_3 rank (e.g., 2) of image 722 and the level_3 rank (e.g., 1) of image 721 is less than the range limit R=3, but image 721 is the first image in a subdirectory of directory 720 (i.e., the subdirectory contains images corresponding to the same level_2 ID or rank). Thus, processor 110 may reserve a preload quota of 2 for preloading other images based on the above-described formula: R-deviation "1"=3-1=2.
[0066] Processor 110 may determine that the number of preloaded images is “5,” which is less than count limit A=15. Therefore, processor 110 may proceed with preloading other images. Because the deviation between directory 720 and directories 710 and 730 is the minimum deviation and is within range limit B=2, processor 110 may select one of directories 710 and 730 to preload images from. Processor 110 may first preload images in directory 730 because the level_1 ranking of directory 710 precedes the level_1 ranking of directory 730. Processor 110 may preload images 731, 732, 733, and 734 because their level_3 rankings satisfy the above-described equation: 1+K≦min(1+R, maximum level_3 ranking belonging to the (i+I)th directory). Processor 110 may then preload images in directory 710 because the number of preloaded images is "9," which is less than count value A=15. Processor 110 may preload images 717, 716, 715, and 714 because their level_3 rankings satisfy the above-described formula: max(1,mR)≦mK.
[0067] Processor 110 may determine that the number of preloaded images in directories 710, 720, and 730 is "13," which is less than count limit A=15. Therefore, processor 110 may preload images within range limit B by using the stored preload quota. For example, processor 110 may preload two images in directory 740 using two preload quotas.
[0068] 8 illustrates another example of image preloading according to one embodiment of the present invention. Assume range limit R=3, range limit B=1, count value C=2, count limit O=2R+1=7, count limit A=4R+3=15, and two images (e.g., image 822 and another image sharing the same level_3 and level_1 rankings but having different level_2 rankings) corresponding to two subdirectories of directory 820 are currently selected or displayed by GUI 400. Because count value C>1, processor 110 may determine that range limit L=[(OC) / 2C]=1. Processor 110 may determine that the deviation between the level_3 ranking of image 822 (e.g., 2) and the level_3 rankings of images 821 and 823 (e.g., 1 and 3) is 1 and 1, which is equal to range limit L=1. Therefore, processor 110 may preload images 821 and 823 into cache 121. Processor 110 may preload image 823 first, and then image 821, depending on the level_3 ranking of image 821 being before the level_3 ranking of image 823.
[0069] Processor 110 may determine that the number of preloaded images in directory 820 is “6,” which is less than count limit A=15. Therefore, processor 110 may proceed with preloading other images. Because the deviation between directory 820 and directories 810 and 830 is within range limit B=1, processor 110 may preload images in directories 810 and 830. Processor 110 may first preload images in directory 830, and then preload images in directory 810, in response to the level_1 ranking of directory 810 being before the level_1 ranking of directory 830. Processor 110 may preload images 831 and 832 because the level_3 rankings of images 831 and 832 satisfy the above-described formula: 1+K≦min(1+R, maximum level_3 ranking belonging to the (i+I)th directory). Processor 110 may then preload images in directory 810 because the number of preloaded images is "10," which is less than count value A=15. Processor 110 may preload images 817 and 816 because their level_3 rankings satisfy the above-described formula: max(1,mR)≦mK. Processor 110 may determine that the number of preloaded images is "14." Although the number of preloaded images "14" is less than count value A=15, the difference between count value A=15 and "14" is less than count value C=2. Therefore, processor 110 may stop preloading images.
[0070] FIG. 9 illustrates a flow diagram of a method for viewing images according to one embodiment of the present invention, which may be implemented by the electronic device 100 illustrated in FIG. 1. In step S901, a plurality of images are acquired, the plurality of images including a first image, the first image including a first value and a second value. In step S902, a data directory is generated by assigning the first image to a first directory of a data directory and assigning the first image to a first subdirectory of the first directory based on the second value. In step S903, in response to the first image being selected, a second image in a second directory of the data directory is preloaded into a cache memory based on the data directory. In step S904, a graphical user interface is output, and the graphical user interface displays the first image in response to the first image being selected.
[0071] In summary, the electronic device may create a directory of data based on the values contained in each image. When an image is selected (or viewed) by a user, the electronic device may preload one or more images adjacent to the selected image in a particular order. For example, the electronic device may preload images from the same video as the selected image, or may preload images in the same or adjacent directory (or subdirectory) as the selected image. Because a user is more likely to view images after the selected image than images before it, the electronic device may preload later images with higher priority. If the selected image is near the first or last image in the directory, there are fewer images to preload in the directory, and the saved preload quota can be used to preload images in directories adjacent to the selected image.
[0072] It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed embodiments without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations provided they come within the scope of the following claims and their equivalents. [Industrial Applicability]
[0073] In view of the above description, the present invention is suitable for use in an image viewer or surveillance system, and can reduce the delay time when switching between images (or videos). [Explanation of symbols]
[0074] 100:Electronic equipment 110: Processor 120:Storage medium 121: Cache 130: Transmitter / receiver 20, 311, 312, 615, 616, 617, 621, 622, 623, 624, 625, 626, 627, 631, 632, 633, 714, 715, 716, 717, 721, 722, 723, 724, 725, 731, 732, 733, 734, 816, 817, 821, 822, 823, 824, 831, 832: Images 21, 22, 23: Information 300:level_1 image group 310, 320: level_2 image group 400: Graphical User Interface 41: Bottom 410, 420, 430, 440, 450, 460: Video 42: Slider 610, 620, 630, 710, 720, 730, 740, 810, 820, 830: Directory S501, S502, S503, S504, S505, S506, S901, S902, S903, S904: Steps
Claims
1. An electronic device for viewing images, A transmitter / receiver; A cache memory; a processor coupled to the transceiver and the cache memory, acquiring, via the transceiver, a plurality of images including a first image including a first value and a second value; generating a directory of data, wherein the directory of data is generated by assigning the first image to a first directory of the directory of data based on the first value and assigning the first image to a first subdirectory of the first directory based on the second value; In response to the selection of the first image, preloading a second image in a second directory of the directory of data into the cache memory based on the directory of data; and outputting, via the transceiver, a graphical user interface that displays the first image in response to the first image being selected. and a processor configured to Including, electronic equipment.
2. The processor: determining a deviation between a ranking of the first directory of the directory of data and a ranking of the second directory of the directory of data; determining whether the deviation is less than or equal to a first range limit; preloading the second image in the second directory in response to the deviation being less than or equal to the first range limit; further configured as follows: The electronic device according to claim 1 .
3. The processor: preloading a third image in a third directory of the data directory into the cache memory; It is further configured The third directory is placed before the second directory in the data directory. The electronic device according to claim 2 .
4. The processor: In response to the first image being selected, a fourth image in the first subdirectory is preloaded into the cache memory based on the directory of the data. further configured as follows: The electronic device according to claim 1 .
5. The processor: determining a deviation between the rank of the first image in the first subdirectory and the rank of the fourth image in the first subdirectory; determining whether the deviation is less than or equal to a second range limit; preloading the fourth image in response to the deviation being less than or equal to the second range limit; further configured as follows:
5. The electronic device according to claim 4.
6. The processor: outputting a graphical user interface via the transceiver It is further configured as follows: the graphical user interface displays a plurality of images based on the count value. The electronic device according to claim 5 .
7. The processor: Determining the second range limit based on the count value further configured as follows:
7. The electronic device according to claim 6.
8. The processor: saving a preload quota in response to the deviation being equal to or less than the second range limit but the fourth image being the first or last image among the images in the first subdirectory, or in response to the first image being the first or last image among the images in the first subdirectory; determining the number of preloaded images in the first directory; preloading the second images in the second directory by the preload allocation in response to the number of the preloaded images being equal to or less than a count value; further configured as follows: The electronic device according to claim 5 .
9. The processor: After the fourth image is preloaded, a fifth image in the first subdirectory is preloaded into the cache memory. It is further configured as follows: the fifth image in the first subdirectory is ordered before the fourth image in the first subdirectory; The electronic device according to claim 5 .
10. the first image further includes a third value; The processor: sorting the first images in the first subdirectory based on the third value to generate the directory of data; further configured as follows: The electronic device according to claim 1 .
11. 1. A method for image viewing, comprising: acquiring a plurality of images, the plurality of images including a first image, the first image including a first value and a second value; generating a directory of data by assigning the first image to a first directory of the directory of data based on the first value and assigning the first image to a first subdirectory of the first directory based on the second value; preloading a second image in a second directory of the directory of data into a cache memory based on the directory of data in response to the first image being selected; outputting a graphical user interface, the graphical user interface displaying the first image in response to the first image being selected; Including, method.
12. preloading a second image in the second directory of the directory of data into the cache memory based on the directory of data, determining a deviation between the ranking of the first directory in the directory of data and the ranking of the second directory in the directory of data; determining whether the deviation is less than or equal to a first range limit; preloading the second image in the second directory in response to the deviation being less than or equal to the first range limit; Including, The method of claim 11.
13. preloading a third image in a third directory of the data directory into the cache memory, the third directory being prior to the second directory being prior to the third directory in the data directory; Further comprising: The method of claim 11.
14. In response to the first image being selected, preloading a fourth image in the first subdirectory into the cache memory based on the directory of data. Further comprising: The method of claim 11.
Citation Information
Patent Citations
Data reading method and its device
JP1998133946A
Method and computer system for prefetching of images
US20020186899A1
Low latency web-based dicom viewer system
US20160267649A1