Capture program and information processing device
The capture program adjusts the capture area to match the movement and size changes of the target window, ensuring accurate image capture in online classes and meetings.
Patent Information
- Application Number
- JP2023151841
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-20
- Publication Date
- 2025-04-02
- Estimated Expiration
- 2043-09-20
AI Technical Summary
In online classes and meetings, materials displayed through screen sharing can move out of the specified capture area if the meeting application window moves, preventing the generation of accurate images.
A capture program that adjusts the capture area based on the movement of the reference point of the target window, ensuring the capture area follows the window's movement and changes in size, allowing periodic image generation.
Enables appropriate image generation even when the window moves or changes size, avoiding unnecessary image storage by capturing only relevant changes.
Smart Images

Figure 2025044331000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a capture program and an information processing device. [Background technology]
[0002] There is a capture function that generates an image by extracting a part of the screen displayed by a computer. With the capture function, for example, an image is generated by extracting a range on the screen specified by the user.
[0003] Techniques related to the capture functionality have been proposed, for example, to associate a captured screenshot with application-specific metadata that defines the session state of the application providing the image data for the captured screenshot. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Special Publication No. 2020-504855 Summary of the Invention [Problem to be solved by the invention]
[0005] In online classes and online meetings, materials may be displayed by screen sharing in a meeting application. In order to save materials from online classes and online meetings, it is conceivable to specify the area in which the materials are displayed and use the capture function periodically. However, if the window of the meeting application moves, the materials move out of the specified area, making it impossible to generate an image of the materials.
[0006] In one aspect, the present invention aims to appropriately generate images using a capture function. [Means for solving the problem]
[0007] In one proposal, a capture program is provided that causes a computer to perform the following processes. The computer accepts the specification of a capture area on a screen displaying a target window, repeats the process of generating a capture image by extracting the capture area from the screen at a specified time interval, and when the reference point of the target window moves, moves the capture area based on the amount of movement of the reference point. Effect of the Invention
[0008] According to one aspect, image generation using the capture function can be performed appropriately. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 illustrates an example of an information processing device according to a first embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of the hardware configuration of a PC. [Diagram 3] FIG. 13 illustrates an example of a capture function. [Figure 4] FIG. 2 is a block diagram showing an example of functions of a PC. [Diagram 5] FIG. 11 is a diagram illustrating an example of capture information. [Figure 6] 13A and 13B are diagrams illustrating an example of a process of moving a capture area when a window is moved. [Figure 7] FIG. 11 is a diagram (part 1) showing an example of a process of moving a capture area when a window is enlarged. [Figure 8] FIG. 11 is a diagram (part 2) showing an example of the movement process of the capture area when the window is enlarged. [Figure 9] 11A and 11B are diagrams illustrating an example of a process for determining a target window for capture processing. [Figure 10] 1 is a flowchart (part 1) illustrating an example of a procedure of a capture process. [Figure 11] 13 is a second flowchart illustrating an example of a procedure for a capture process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, the present embodiment will be described with reference to the drawings. Note that each embodiment can be implemented in combination with a plurality of other embodiments as long as no contradiction occurs. First Embodiment First, a first embodiment will be described. In the first embodiment, a computer periodically generates images using a capture function.
[0011] FIG. 1 is a diagram showing an example of an information processing device according to a first embodiment. The information processing device 10 is a computer that periodically generates images using a capture function. The information processing device 10 is, for example, a PC (Personal Computer) operated by a user. The information processing device 10 has a processing unit 11. The processing unit 11 is capable of controlling the information processing device 10 and executing required processing. The processing unit 11 is, for example, a processor or an arithmetic circuit included in the information processing device 10.
[0012] First, the processing unit 11 accepts the designation of a capture area 3 on the screen 1. The screen 1 is a screen displayed on the display device of the information processing device 10. For example, the processing unit 11 sets a rectangular area designated by a user on the screen 1 as the capture area 3. A target window 2 is displayed on the screen 1. The target window 2 is a window set as a target for image generation by the capture function. For example, the processing unit 11 sets the foreground window among the windows including the capture area 3 for which the designation has been accepted as the target window 2.
[0013] Next, the processing unit 11 repeats the capture image generation process at a predetermined time interval. In the capture image generation process, the processing unit 11 generates a capture image 4 by extracting a capture area 3 from the screen 1. If the capture image 4 is different from the previously generated capture image, the processing unit 11 stores the capture image 4.
[0014] Here, when the reference point 2a of the target window 2 is moved, the processing unit 11 moves the capture area 3 based on the amount of movement of the reference point 2a. The reference point 2a is, for example, the top left vertex of the target window 2. The processing unit 11 calculates the difference in the x-direction coordinate and the difference in the y-direction coordinate of the reference point 2a before and after the movement based on the coordinates of the reference point 2a on the screen 1 before and after the movement. The processing unit 11 moves the capture area 3 by the calculated difference in the x-direction and y-direction coordinates. Then, the processing unit 11 repeats the capture image generation process for the moved capture area 3 at a predetermined time interval. Note that a plurality of reference points may be provided on the target window 2, and the processing unit 11 may move the capture area 3 when any of the plurality of reference points is moved.
[0015] According to the first embodiment, a processing unit 11 of an information processing device 10 accepts designation of a capture area 3 on a screen 1 displaying a target window 2. The processing unit 11 repeats, at a predetermined time interval, a process of generating a capture image 4 by extracting the capture area 3 from the screen 1, and when a reference point 2a of the target window 2 moves, the processing unit 11 moves the capture area 3 based on the amount of movement of the reference point 2a.
[0016] This allows the information processing device 10 to periodically generate an image of a part of the screen 1 where the display content changes, even if the window including that part moves. Therefore, the information processing device 10 can appropriately generate an image using the capture function.
[0017] Furthermore, if the captured image 4 is different from a previously generated captured image, the processing unit 11 stores the captured image 4. This enables the information processing device 10 to avoid storing unnecessary images.
[0018] Furthermore, processing unit 11 sets the foremost window among the windows including capture area 3 for which the designation has been accepted as target window 2. This enables information processing device 10 to appropriately identify the window including the portion for which the user is about to generate capture image 4.
[0019] When the size of the target window 2 changes, the processing unit 11 may calculate the moved position of the corresponding point in the capture area 3 based on the relative position of the corresponding point corresponding to the reference point 2a with respect to the reference point 2a before the movement and the ratio before and after the change in the size of the target window 2. Then, the processing unit 11 may move the capture area 3 whose size has been changed based on the ratio before and after the change in the size of the target window 2 so that the corresponding point moves to the moved position. This allows the information processing device 10 to appropriately generate the capture image 4 even when the target window 2 is enlarged or reduced.
[0020] Second Embodiment Next, a second embodiment will be described. In the second embodiment, a PC operated by a user extracts (captures) a capture area on a screen and generates a capture image at a predetermined time interval.
[0021] FIG. 2 is a diagram showing an example of a hardware configuration of a PC. PC 100 is a PC operated by a user. PC 100 is controlled as a whole by processor 101. Memory 102 and multiple peripheral devices are connected to processor 101 via bus 109. Processor 101 may be a multiprocessor. Processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor). At least a part of the functions realized by processor 101 executing a program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).
[0022] The memory 102 is used as a main storage device of the PC 100. The memory 102 temporarily stores at least a part of the OS (Operating System) program and application programs to be executed by the processor 101. The memory 102 also stores various data used for processing by the processor 101. As the memory 102, for example, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.
[0023] The peripheral devices connected to the bus 109 include a storage device 103, a GPU (Graphics Processing Unit) 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.
[0024] The storage device 103 electrically or magnetically writes and reads data to and from a built-in recording medium. The storage device 103 is used as an auxiliary storage device for a computer. The storage device 103 stores an OS program, application programs, and various data. Note that, for example, a hard disk drive (HDD) or a solid state drive (SSD) can be used as the storage device 103.
[0025] The GPU 104 is connected to a monitor 31. The GPU 104 displays an image on the screen of the monitor 31 in accordance with an instruction from the processor 101. The monitor 31 may be a display device using an organic EL (Electro Luminescence) display device, a liquid crystal display device, or the like.
[0026] The input interface 105 is connected to the keyboard 32 and the mouse 33. The input interface 105 transmits signals sent from the keyboard 32 and the mouse 33 to the processor 101. Note that the mouse 33 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, a trackball, etc.
[0027] The optical drive device 106 uses a laser beam or the like to read data recorded on the optical disc 34. The optical disc 34 is a portable recording medium on which data is recorded so that it can be read by reflection of light. The optical disc 34 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), etc.
[0028] The device connection interface 107 is a communication interface for connecting peripheral devices to the PC 100. For example, a memory device 35 or a memory reader / writer 36 can be connected to the device connection interface 107. The memory device 35 is a recording medium equipped with a communication function with the device connection interface 107. The memory reader / writer 36 is a device that writes data to the memory card 37 or reads data from the memory card 37. The memory card 37 is a card-type recording medium.
[0029] The network interface 108 is connected to the network 30. The network interface 108 transmits and receives data via the network 30 to and from other computers or communication devices.
[0030] The PC 100 can realize the processing functions of the second embodiment with the above hardware configuration. The information processing device 10 shown in the first embodiment can also be realized with the same hardware as the PC 100 shown in Fig. 2. The processor 101 is an example of the processing unit 11 shown in the first embodiment.
[0031] The PC 100 realizes the processing function of the second embodiment by executing a program recorded in, for example, a computer-readable recording medium. The program describing the processing contents to be executed by the PC 100 can be recorded in various recording media. For example, the program to be executed by the PC 100 can be stored in the storage device 103. The processor 101 loads at least a part of the program in the storage device 103 into the memory 102 and executes the program. The program to be executed by the PC 100 can also be recorded in a portable recording medium such as the optical disk 34, the memory device 35, or the memory card 37. The program stored in the portable recording medium becomes executable after being installed in the storage device 103 under the control of, for example, the processor 101. The processor 101 can also read and execute the program directly from the portable recording medium. Next, the capture function of the PC 100 will be described.
[0032] 3 is a diagram showing an example of the capture function. The PC 100 displays a screen 40 on the monitor 31, and generates a capture image 43 by extracting a capture area 42 designated by the user from the screen 40.
[0033] Screen 40 is a screen that PC 100 displays on monitor 31. Screen 40 includes window 41. Window 41 is a window that displays contents displayed by a conference application. Window 41 includes buttons for setting up the conference, etc. Window 41 also includes icons indicating conference participants. Window 41 also includes materials acquired by screen sharing of the conference application.
[0034] PC 100 accepts the user's designation of capture area 42. Capture area 42 is a rectangular area within screen 40. Here, the portion displaying the material included in window 41 is designated as capture area 42. PC 100 generates capture images 43 by extracting capture area 42 from screen 40 at predetermined time intervals. This allows PC 100 to generate capture images 43 by extracting a portion that the user wants to save as an image. Note that the material displayed in window 41 may change when the content of the shared screen is switched. By generating capture images 43 at predetermined time intervals, PC 100 can generate images of that portion at multiple points in time as capture images 43 even if the portion that the user wants to save as an image changes over time.
[0035] Here, the window 41 may move on the screen 40 due to a user operation. Also, the size of the window 41 may change (enlarge or reduce) due to a user operation. When the window 41 moves or enlarges or reduces, the part that the user wants to save as an image moves out of the capture area 42, and the PC 100 cannot generate an appropriate capture image 43. Therefore, when the PC 100 detects the movement or enlargement or reduction of the window 41, it moves the capture area 42 in accordance with the movement or enlargement or reduction of the window 41, and captures the range of the capture area 42 after the movement. Next, the functions of the PC 100 will be described in detail.
[0036] 4 is a block diagram showing an example of functions of a PC. The PC 100 has a storage unit 120, a setting unit 130, a movement calculation unit 140, and an image generation unit 150. The storage unit 120 is realized using a storage area of the memory 102 or the storage device 103. The setting unit 130, the movement calculation unit 140, and the image generation unit 150 are realized by the processor 101 executing a program stored in the memory 102.
[0037] The storage unit 120 stores capture information 121 and capture images 122-1, 122-2, .... The capture information 121 is information indicating settings related to a capture process for generating the capture image 43. The capture images 122-1, 122-2, ... are saved versions of the generated capture images 43.
[0038] The setting unit 130 accepts the designation of the capture area 42 and determines the target window for the capture process. For example, in accepting the designation of the capture area 42, the setting unit 130 accepts the drawing of a rectangular range on the screen 40 and accepts the designation of the drawn range as the range of the capture area 42. The setting unit 130 registers the coordinates of the four vertices of the capture area 42 in the capture information 121. In deciding the target window for the capture process, the setting unit 130 decides the foreground window among the windows of the application displayed on the screen 40 as the target for the capture process. The setting unit 130 registers the coordinates of the four vertices of the window (for example, window 41) decided as the target for the capture process in the capture information 121. Note that the window 41 is an example of the target window 2 shown in the first embodiment.
[0039] The movement calculation unit 140 acquires the position of the window 41 at a predetermined time interval, and moves the capture area 42 when movement or enlargement / reduction of the window 41 is detected. The movement calculation unit 140 acquires the position coordinates of the four vertices of the window 41 on the screen 40. Then, the movement calculation unit 140 detects the movement of the window 41 when the four vertices of the window 41 move and the amount of movement of the four vertices of the window 41 is the same. Furthermore, the movement calculation unit 140 detects the enlargement / reduction of the window 41 when the four vertices of the window 41 move and the amount of movement of the four vertices of the window 41 differ. Note that the vertices of the window 41 are an example of the reference points 2a shown in the first embodiment.
[0040] When the window 41 moves but is not enlarged or reduced, the movement calculation unit 140 moves the capture area 42 by the same amount of movement as the window 41. The movement calculation unit 140 registers the coordinates of the four vertices of the moved capture area 42 in the capture information 121.
[0041] When the window 41 is enlarged or reduced, the movement calculation unit 140 moves the capture area 42, which has been enlarged or reduced according to the ratio before and after the enlargement or reduction of the window 41, according to the relative position of the window 41 before the movement and the movement destination of the window 41. The movement calculation unit 140 calculates the relative positions between the upper left vertices of the window 41 and the capture area 42 before the movement and the ratio of the sides of the window 41 before and after the movement. The upper left vertex of the capture area 42 is an example of the corresponding point shown in the first embodiment.
[0042] The movement calculation unit 140 scales the capture area 42 so that the ratio of the sides of the capture area 42 before and after the movement is the same as the ratio of the sides of the window 41 before and after the movement. The movement calculation unit 140 calculates the movement position of the upper left vertex of the capture area 42 from the calculated relative position and the calculated side ratio. For example, the movement calculation unit 140 calculates the movement position of the upper left vertex of the capture area 42 such that the relative positions of the upper left vertices of the window 41 and the capture area 42 after the movement are a positional relationship obtained by multiplying the calculated relative position by the calculated side ratio. The movement calculation unit 140 moves the scaled capture area 42 so that the upper left vertex is located at the calculated movement position. The movement calculation unit 140 registers the coordinates of the four vertices of the capture area 42 after the movement in the capture information 121.
[0043] The image generating unit 150 generates a capture image 43 by extracting a capture area 42 from the screen 40 at a predetermined time interval. When the movement calculation unit 140 detects a movement or enlargement / reduction of the window 41, the image generating unit 150 generates the capture image 43 after the movement calculation unit 140 moves the capture area 42.
[0044] When the image generating unit 150 generates the capture image 43, it determines whether or not the generated capture image 43 is different from the previous capture image. If the image generating unit 150 determines that the capture image 43 is not different from the previous capture image, it stores the capture image 43 in the storage unit 120 as capture images 122-1, 122-2, ...
[0045] 4 indicates a part of the communication path, and it is possible to set a communication path other than the communication path shown in the figure. Next, the capture information 121 stored in the storage unit 120 will be described in detail.
[0046] FIG. 5 is a diagram showing an example of capture information. The capture information 121 is information indicating settings related to capture processing. In the capture information 121, an application, a window position, a capture area, and a capture image are registered. As the application of the capture information 121, an application that displays the window 41 that is the target of the capture processing is registered. As the window position of the capture information 121, the position coordinates of the four vertices of the window 41 on the screen 40 are registered. As the capture area of the capture information 121, the position coordinates of the four vertices of the capture area 42 on the screen 40 are registered. As the capture image of the capture information 121, the previously generated capture image 43 is registered. Next, a description will be given of a movement process of the capture area 42 when the window 41 is moved.
[0047] 6 is a diagram showing an example of a capture area movement process when a window is moved. When the movement calculation unit 140 detects the movement of the window 41 that is the target of the capture process, the movement calculation unit 140 moves the capture area 42 by the movement amount of the window 41.
[0048] Screen 40 at the top of Fig. 6 shows a case where window 41 included in screen 40 has been moved. Note that the dashed line portion included in screen 40 at the top of Fig. 6 indicates the position of window 41 before it was moved. Also, the arrow included in screen 40 at the top of Fig. 6 indicates the position of the upper left vertex of window 41 after it has been moved, from the position before it was moved.
[0049] The movement calculation unit 140 detects the movement of the window 41 by comparing the positions of the four vertices of the window 41 in the previous capture process with the current positions of the four vertices of the window 41. When the movement calculation unit 140 detects the movement of the window 41, it calculates the difference in the x coordinate and the y coordinate before and after the movement of the upper left vertex of the window 41. For each of the four vertices of the capture area 42, the movement calculation unit 140 adds the calculated difference in the x coordinate to the x coordinate and adds the calculated difference in the y coordinate to the y coordinate. The movement calculation unit 140 moves the capture area 42 to the position indicated by the four vertices to which the differences have been added.
[0050] The screen 40 at the bottom of Fig. 6 shows the case where the capture area 42 has been moved. The dashed line portion included in the screen 40 at the bottom of Fig. 6 indicates the position of the capture area 42 before it was moved. The arrow included in the screen 40 at the bottom of Fig. 6 indicates the position of the upper left vertex of the capture area 42 from before it was moved to after it was moved. The image generation unit 150 generates a capture image 43 by extracting the capture area 42 after it has been moved from the screen 40.
[0051] In this way, when the movement calculation unit 140 detects the movement of the window 41, it moves the capture area 42 by the amount of movement of the window 41. This allows the image generation unit 150 to appropriately generate a capture image 43 even if the part that the user wants to save as an image has moved. Next, a description will be given of the movement process of the capture area 42 when the window 41 is enlarged.
[0052] Fig. 7 is a diagram (part 1) showing an example of the movement process of the capture area when the window is enlarged. When the movement calculation unit 140 detects the enlargement or reduction of the window 41, it moves the capture area 42, which has been enlarged or reduced in accordance with the ratio before and after the enlargement or reduction of the window 41, in accordance with the relative position of the window 41 before the movement and the destination of the window 41. In Fig. 7, the calculation of the destination of the upper left vertex of the capture area 42 will be described.
[0053] The upper screen 40 in Fig. 7 shows a case where a window 41 included in the screen 40 has been enlarged and moved. The dashed line portion included in the upper screen 40 in Fig. 7 shows the position of the window 41 before it was moved. The movement calculation unit 140 detects the movement and enlargement / reduction of the window 41 by comparing the positions of the four vertices of the window 41 in the previous capture process with the current positions of the four vertices of the window 41. If any of the four vertices of the window 41 have moved and the amount of movement of each vertex is not all the same, the movement calculation unit 140 detects that the window 41 has been enlarged or reduced.
[0054] When the movement calculation unit 140 detects the expansion of the window 41, the upper left vertex A (A x ,A y ) and the upper left vertex a (a x ,a y The movement calculation unit 140 calculates the relative position of vertex A (A x ,A y ) and vertex a(a x ,a y ) and the difference in the x direction d x d x =a x -A x In addition, the movement calculation unit 140 calculates the vertex A (A x ,A y ) and vertex a(a x ,a y ) and the difference in the y direction d y d y =a y -A yThe movement calculation unit 140 moves the enlarged capture area 42 based on the calculated relative position and the ratio of the window 41 before and after enlargement.
[0055] The lower screen 40 in FIG. 7 shows a case where the capture area 42 has been enlarged and moved. The dashed line portion included in the lower screen 40 in FIG. 7 shows the position of the window 41 before it was moved. The movement calculation unit 140 calculates the length of each side of the window 41 before and after it was enlarged, and calculates the ratio of the window 41 before and after it was enlarged based on the calculated side lengths. The movement calculation unit 140 calculates the difference in x coordinates between the top left vertex and the top right vertex of the window 41 before it was enlarged as the length X of the side in the x direction of the window 41 before it was enlarged. The movement calculation unit 140 also calculates the difference in y coordinates between the top left vertex and the bottom left vertex of the window 41 before it was enlarged as the length Y of the side in the y direction of the window 41 before it was enlarged.
[0056] In addition, the movement calculation unit 140 calculates the difference in x-coordinate between the top left vertex and the top right vertex of the enlarged window 41 as the length X of the side of the enlarged window 41 in the x direction. * The movement calculation unit 140 calculates the difference between the y coordinates of the top left vertex and the bottom left vertex of the enlarged window 41 as the length Y of the side of the enlarged window 41 in the y direction. * Then, the movement calculation unit 140 calculates the ratio M x M x =X * / X. The movement calculation unit 140 also calculates the ratio M y M y =Y * / Y.
[0057] The movement calculation unit 140 calculates the upper left vertex A of the window 41 after the movement. * (A x * ,A y * ), vertex A(A x ,A y ) and vertex a(a x ,a y) and the ratio of the window 41 before and after enlargement, the upper left vertex a of the captured area 42 after the movement * (a x * ,a y * The movement calculation unit 140 calculates the coordinates of vertex A * (A x * ,A y * ) and vertex a * (a x * ,a y * ) and the difference D in the x direction x D x =d x ×M x In addition, the movement calculation unit 140 calculates the vertex A * (A x * ,A y * ) and vertex a * (a x * ,a y * ) and the difference in the y direction D y D y =d y ×M y Then, the movement calculation unit 140 calculates the vertex a * (a x * ,a y * ) x-coordinate a x * A x * =A x * +D x In addition, the movement calculation unit 140 calculates the vertex a * (a x * ,a y * )'s y coordinate a y * A y * =A y * +D y It is calculated as follows.
[0058] 8 is a diagram (part 2) showing an example of the movement process of the capture area when the window is enlarged. The movement calculation unit 140 calculates the size of the capture area 42 after the movement, and compares the size of the capture area 42 after the movement and the vertex a * (a x * ,a y * 8.) The range of the captured area 42 after the movement is calculated based on the above. Note that the dashed line portion included in the screen 40 in Fig. 8 indicates the position of the captured area 42 before the movement.
[0059] The movement calculation unit 140 calculates the size of the capture area 42 before the movement, and calculates the size of the capture area 42 after the movement based on the size of the capture area 42 before the movement and the ratio before and after enlargement of the window 41. The movement calculation unit 140 calculates the difference in the x coordinates of the upper left vertex and the upper right vertex of the capture area 42 before the movement as the length x of the side in the x direction of the capture area 42 before the movement. The movement calculation unit 140 also calculates the difference in the y coordinates of the upper left vertex and the lower left vertex of the capture area 42 before the movement as the length y of the side in the y direction of the capture area 42 before the movement. The movement calculation unit 140 then calculates the length x of the side in the x direction of the capture area 42 after the movement. * x * =M x ×x. The movement calculation unit 140 also calculates the length y of the side of the capture area 42 in the y direction after the movement. * y * =M y Calculate x y.
[0060] The movement calculation unit 140 calculates the size of the capture area 42 after the movement and the vertex a * (a x * ,a y * ) and the top right vertex b of the capture area 42 after the movement * (b x * ,b y * ), the lower right vertex c * (c x* ,c y * ), the lower left vertex d * (d x * ,d y * The movement calculation unit 140 calculates the coordinates of the vertex b * (b x * ,b y * ) x-coordinate b x * A x * =a x * +x * In addition, the movement calculation unit 140 calculates the vertex b * (b x * ,b y * )'s y coordinate b y * A y * =a y * In addition, the movement calculation unit 140 calculates the vertex c * (c x * ,c y * ) x-coordinate c x * c x * =a x * +x * In addition, the movement calculation unit 140 calculates the vertex c * (c x * ,c y * )'s y coordinate c y * c y * =a y * +y * In addition, the movement calculation unit 140 calculates the vertex d * (d x * ,d y * ) x-coordinate d x *d x * =a x * In addition, the movement calculation unit 140 calculates the vertex d * (d x * ,d y * ) y coordinate d y * d y * =a y * +y * It is calculated as follows.
[0061] Then, the movement calculation unit 140 calculates the vertex a * (a x * ,a y * ), vertex b * (b x * ,b y * ), vertex c * (c x * ,c y * ), vertex d * (d x * ,d y * The capture area 42 is enlarged and moved to the position indicated by the arrow A. The image generating unit 150 generates a capture image 43 by extracting the moved capture area 42 from the screen 40.
[0062] In this way, when movement calculation unit 140 detects the enlargement or reduction of window 41, it enlarges or reduces capture area 42 based on the ratio before and after the enlargement or reduction of window 41. Then, movement calculation unit 140 moves capture area 42 based on the relative positions of window 41 and capture area 42 before the movement and the destination of window 41. Here, when window 41 is enlarged or reduced, the part included in window 41 that the user wants to save as an image also enlarges or reduces and moves.
[0063] The ratio before and after the enlargement / reduction of the portion included in window 41 is often the same as the ratio before and after the enlargement / reduction of window 41. Therefore, movement calculation unit 140 enlarges / reduces capture area 42 at the same ratio as window 41. Furthermore, the length of each portion included in window 41 to the edge of window 41 is often enlarged or reduced according to the ratio before and after the enlargement / reduction of window 41. Therefore, movement calculation unit 140 multiplies the difference in coordinates between the upper left vertices of window 41 and capture area 42 before the movement by the ratio before and after the enlargement / reduction of window 41, and moves the upper left vertex of capture area 42 to the position obtained by adding the result to the upper left vertex of window 41 after the movement.
[0064] This allows image generating unit 150 to appropriately generate capture image 43 even if the portion that the user wants to save as an image is enlarged or reduced due to the enlargement or reduction of window 41. Next, a process for determining a window to be subjected to capture processing will be described.
[0065] 9 is a diagram showing an example of a process for determining a target window for capture processing. Setting unit 130 determines the foreground window as the target window for capture processing among windows including capture area 42 specified by the user.
[0066] In the example of FIG. 9, screen 40 includes windows 41, 51, and 52. Window 41 partially overlaps with window 51. Window 41 is disposed in front of window 51. Window 52 does not overlap with any of windows 41 and 51. Here, it is assumed that setting unit 130 has received a designation that the range included in the overlapping portion between window 41 and window 51 is to be capture area 42. Then, setting unit 130 determines window 41, which is the foreground window among the windows including capture area 42, as the target window for the capture process.
[0067] Here, it is highly likely that the user will specify capture area 42 with the portion that the user wants to save as an image displayed on screen 40. Setting unit 130 can determine the window that includes the portion that the user wants to save as an image as the target of the capture process by determining the foreground window among the windows that include capture area 42 as the target of the capture process. Next, the procedure of the capture process executed by PC 100 will be described in detail.
[0068] 10 is a flowchart showing an example of a procedure for a capture process (part 1). The process shown in FIG. 10 will be described below in order of step number. [Step S11] The setting unit 130 accepts the designation of the range of the capture area 42. For example, the setting unit 130 accepts the drawing of a rectangular range on the screen 40, and accepts the designation of the drawn range as the range of the capture area 42. The setting unit 130 registers the position coordinates on the screen 40 of the four vertices of the capture area 42 whose designation has been accepted, in the capture information 121.
[0069] [Step S12] The setting unit 130 acquires the range of the windows of the applications displayed on the screen 40. For example, the setting unit 130 acquires, from the OS running on the PC 100, the range of the windows on the screen 40 for each of the running applications.
[0070] [Step S13] The setting unit 130 extracts, from among the applications whose window ranges have been acquired in step S12, applications whose window range includes the capture area 42 whose specification was accepted in step S11.
[0071] [Step S14] The setting unit 130 determines the foreground application among the applications extracted in step S13 as the target for capture processing. The setting unit 130 registers the application determined as the target for capture processing in the capture information 121. The setting unit 130 also registers the position coordinates on the screen 40 of the four vertices of the window (e.g., window 41) of the application determined as the target for capture processing in the capture information 121 as the window positions.
[0072] [Step S15] The movement calculation unit 140 waits for a predetermined time. For example, the movement calculation unit 140 waits for one second, and then proceeds to step S16. [Step S16] The movement calculation unit 140 acquires the position of the window 41 that is the target of the capture process. For example, the movement calculation unit 140 acquires the position coordinates on the screen 40 of the four vertices of the window 41 of the application registered in the capture information 121 from the OS running on the PC 100.
[0073] [Step S17] The movement calculation unit 140 determines whether or not there is movement at the four vertices of the window 41. For example, if the position coordinates of the four vertices of the window 41 acquired in step S16 do not match the position coordinates of the four vertices registered as the window positions in the capture information 121, the movement calculation unit 140 determines that there is movement at the four vertices of the window 41. If the movement calculation unit 140 determines that there is movement at the four vertices of the window 41, it proceeds to step S18. If the movement calculation unit 140 determines that there is no movement at the four vertices of the window 41, it proceeds to step S27.
[0074] [Step S18] The movement calculation unit 140 determines whether the movement amounts of the four vertices of the window 41 are the same. For example, the movement calculation unit 140 calculates the difference between the position coordinates of each of the four vertices of the window 41 acquired in step S16 and the position coordinates of each of the four vertices registered as window positions in the capture information 121. If the calculated differences all match, the movement calculation unit 140 determines that the movement amounts of the four vertices are the same. If the movement calculation unit 140 determines that the movement amounts of the four vertices are the same, it proceeds to step S19. If the movement calculation unit 140 determines that the movement amounts of the four vertices are not the same, it proceeds to step S20.
[0075] [Step S19] The movement calculation unit 140 moves the capture area 42 by the same amount of movement as the window 41. For example, the movement calculation unit 140 calculates the difference in x and y coordinates between the coordinates of the top left vertex of the window 41 acquired in step S16 and the coordinates of the top left vertex registered as the window position in the capture information 121. For each of the four vertices of the capture area 42, the movement calculation unit 140 adds the calculated difference in x coordinate to the x coordinate and adds the calculated difference in y coordinate to the y coordinate. The movement calculation unit 140 moves the capture area 42 to the position indicated by the four vertices to which the differences have been added. The movement calculation unit 140 registers the coordinates of the four vertices of the moved capture area 42 in the capture information 121. Then, the process proceeds to step S26.
[0076] [Step S20] The movement calculation unit 140 calculates the relative positions of the vertices of the window 41 before the movement and the capture area 42. For example, the movement calculation unit 140 calculates the relative positions of the vertices of the upper left vertex A (A x ,A y ) and the upper left vertex a (a x ,a y The movement calculation unit 140 calculates the difference in the x and y directions between vertex A (A x ,A y ) and vertex a(a x ,ay ) and the difference in the x direction d x d x =a x -A x In addition, the movement calculation unit 140 calculates the vertex A (A x ,A y ) and vertex a(a x ,a y ) and the difference in the y direction d y d y =a y -A y It is calculated as follows.
[0077] [Step S21] The movement calculation unit 140 calculates the ratio of sides between the window 41 before and after the movement. For example, the movement calculation unit 140 calculates the difference in x coordinates between the top left vertex and the top right vertex registered as the window positions in the capture information 121 as the length X of the side in the x direction before the movement. The movement calculation unit 140 also calculates the difference in y coordinates between the top left vertex and the bottom left vertex registered as the window positions in the capture information 121 as the length Y of the side in the y direction before the movement.
[0078] In addition, the movement calculation unit 140 calculates the difference in x-coordinate between the top left vertex and the top right vertex of the window 41 acquired in step S16 as the length X of the side in the x direction after the movement. * In addition, the movement calculation unit 140 calculates the difference in y coordinates between the top left vertex and the bottom left vertex of the window 41 acquired in step S16 as the length Y of the side in the y direction after the movement. * Then, the movement calculation unit 140 calculates the ratio M of the sides in the x direction between the window 41 before the movement and the window 41 after the movement. x M x =X * / X. The movement calculation unit 140 also calculates the ratio M y M y =Y * / Y is calculated.
[0079] [Step S22] The movement calculation unit 140 calculates the movement position of the upper left vertex of the capture area 42 from the relative position calculated in step S20 and the side ratio calculated in step S21. For example, the movement calculation unit 140 calculates the movement position of the upper left vertex A of the window 41 acquired in step S16. * (A x * ,A y * ) and the moving position of the upper left vertex of the capture area 42, vertex a * (a x * ,a y * ) and the difference D in the x direction x D x =d x ×M x In addition, the movement calculation unit 140 calculates the vertex A * (A x * ,A y * ) and vertex a * (a x * ,a y * ) and the difference in the y direction D y D y =d y ×M y Then, the movement calculation unit 140 calculates the vertex a * (a x * ,a y * ) x-coordinate a x * A x * =A x * +D x In addition, the movement calculation unit 140 calculates the vertex a * (a x * ,a y * )'s y coordinate a y * A y * =A y * +D y It is calculated as follows.
[0080] 11 is a flowchart showing an example of a procedure for a capture process (part 2). The process shown in FIG. 11 will be described below in order of step numbers. [Step S23] The movement calculation unit 140 calculates the length of the side of the moved capture area 42 from the side ratio calculated in step S21. For example, the movement calculation unit 140 calculates the difference in x coordinates between the top left vertex and the top right vertex of the capture area 42 registered in the capture information 121 as the length x of the side in the x direction of the capture area 42 before the movement. The movement calculation unit 140 also calculates the difference in y coordinates between the top left vertex and the bottom left vertex of the capture area 42 registered in the capture information 121 as the length y of the side in the y direction of the capture area 42 before the movement. Then, the movement calculation unit 140 calculates the difference in x coordinates between the top left vertex and the bottom left vertex of the capture area 42 registered in the capture information 121 as the length y of the side in the x direction of the capture area 42 before the movement. * x * =M x ×x. The movement calculation unit 140 also calculates the length y of the side of the capture area 42 in the y direction after the movement. * y * =M y Calculate x y.
[0081] [Step S24] The movement calculation unit 140 calculates the movement positions of the vertices other than the top left vertex of the capture area 42. For example, the movement calculation unit 140 calculates the movement positions of the top right vertex b of the capture area 42 after the movement. * (b x * ,b y * ) x-coordinate b x * A x * =a x * +x * In addition, the movement calculation unit 140 calculates the vertex b * (b x * ,b y * )'s y coordinate b y * A y * =a y *The movement calculation unit 140 calculates the bottom right vertex c * (c x * ,c y * ) x-coordinate c x * c x * =a x * +x * In addition, the movement calculation unit 140 calculates the vertex c * (c x * ,c y * )'s y coordinate c y * c y * =a y * +y * The movement calculation unit 140 calculates the lower left vertex d of the captured area 42 after the movement as follows: * (d x * ,d y * ) x-coordinate d x * d x * =a x * In addition, the movement calculation unit 140 calculates the vertex d * (d x * ,d y * ) y coordinate d y * d y * =a y * +y * It is calculated as follows.
[0082] [Step S25] The movement calculation unit 140 moves the capture area 42 to the calculated movement position. For example, the movement calculation unit 140 moves the captured area 42 to the calculated movement position of the vertex a * (a x * ,a y * ), vertex b * (bx * ,b y * ), vertex c * (c x * ,c y * ), vertex d * (d x * ,d y * The movement calculation unit 140 then registers the coordinates of the four vertices of the captured area 42 after the movement in the captured information 121.
[0083] [Step S26] The movement calculation unit 140 registers the position of the window 41 after the movement in the capture information 121. For example, the movement calculation unit 140 registers the position coordinates of the four vertices of the window 41 acquired in step S16 in the capture information 121 as the window position.
[0084] [Step S27] The image generation unit 150 generates a capture image 43 by extracting the capture area 42 from the screen 40. For example, the image generation unit 150 generates a capture image 43 by extracting the part of the screen 40 surrounded by the coordinates of the four vertices of the capture area 42 registered in the capture information 121. Note that when the window 41 is in the background, the image generation unit 150 generates a capture image 43 by extracting the capture area 42 from the window 41.
[0085] [Step S28] The image generating unit 150 determines whether or not the captured image 43 generated in step S27 is different from the previous captured image. For example, the image generating unit 150 compares the captured image 43 generated in step S27 with the captured image registered in the capture information 121 pixel by pixel, and determines that the captured image 43 is different from the previous captured image if the number of different pixels is equal to or greater than a threshold. If the image generating unit 150 determines that the captured image 43 is different from the previous captured image, it proceeds to step S29. On the other hand, if the image generating unit 150 determines that the captured image 43 is not different from the previous captured image, it proceeds to step S30.
[0086] [Step S29] The image generation unit 150 stores the capture images 43 generated in step S27 as capture images 122-1, 122-2, . . . in the storage unit 120. In addition, the image generation unit 150 registers the capture images 43 generated in step S27 in the capture information 121.
[0087] [Step S30] The movement calculation unit 140 determines whether or not to end the capture process. For example, the movement calculation unit 140 determines to end the capture process when it receives a selection to end the capture process or when an application registered in the capture information 121 is terminated. If the movement calculation unit 140 determines to end the capture process, it ends the process. On the other hand, if the movement calculation unit 140 determines not to end the capture process, it advances the process to step S15.
[0088] In this way, the image generating unit 150 generates a capture image 43 by extracting the capture area 42 from the screen 40 at a predetermined time interval. This allows the image generating unit 150 to generate images at multiple points in time for a portion that changes over time, such as a document shared by a conference application. Note that if the capture image 43 is different from the previously generated capture image, the image generating unit 150 stores the capture image 43 in the storage unit 120 as capture images 122-1, 122-2, .... This allows the image generating unit 150 to avoid storing unnecessary images.
[0089] When a vertex of window 41 moves, movement calculation unit 140 detects the movement or scaling of window 41, and moves capture area 42 before image generation unit 150 generates capture image 43. When four vertices of window 41 move and the movement amounts of each vertex are the same, movement calculation unit 140 detects that window 41 has moved without scaling, and moves capture area 42 by the same movement amount as each vertex of window 41. This allows image generation unit 150 to appropriately generate capture image 43 even if a part included in window 41 that the user wants to save as an image has moved.
[0090] Furthermore, when the four vertices of the window 41 move and the movement amounts of each vertex are not the same, the movement calculation unit 140 detects the enlargement / reduction of the window 41 and moves the enlarged / reduced capture area 42. The movement calculation unit 140 enlarges / reduces the capture area 42 at the same ratio as the window 41. Then, the movement calculation unit 140 multiplies the difference in coordinates between the upper left vertices of the window 41 and the capture area 42 before the movement by the ratio before and after the enlargement / reduction of the window 41, and moves the upper left vertex of the capture area 42 to the position obtained by adding this to the upper left vertex of the window 41 after the movement.
[0091] This allows the movement calculation unit 140 to move the capture area 42 to the part that the user wants to save as an image, which has been enlarged or reduced by the enlargement or reduction of the window 41. Therefore, the image generation unit 150 can appropriately generate the capture image 43 even if the window 41 is enlarged or reduced.
[0092] Note that the setting unit 130 sets the foreground window among the windows including the capture area 42 specified at the start of the process as the target window 41 for such capture processing. This enables the setting unit 130 to determine the window including the part that the user wants to save as an image as the target for capture processing.
[0093] According to the second embodiment, PC 100 accepts the designation of capture area 42 on screen 40 displaying window 41. PC 100 repeats the process of generating capture image 43 by extracting capture area 42 from screen 40 at a predetermined time interval, and when a vertex of window 41 moves, PC 100 moves capture area 42 based on the amount of movement of the vertex of window 41. This allows PC 100 to appropriately generate images using the capture function.
[0094] Furthermore, if the captured image 43 is different from a previously generated captured image, the PC 100 stores the captured image 43. This allows the PC 100 to avoid storing unnecessary images.
[0095] Furthermore, when the size of window 41 changes, PC 100 calculates the moved position of the upper left vertex of capture area 42 based on the relative position of the upper left vertex of capture area 42 to the upper left vertex of window 41 before the movement and the ratio before and after the change in size of window 41. Then, PC 100 moves capture area 42, the size of which has been changed based on the ratio before and after the change in size of window 41, so that the upper left vertex of capture area 42 moves to the moved position. This allows PC 100 to appropriately generate capture image 43 even when window 41 is enlarged or reduced.
[0096] Furthermore, PC 100 sets the foreground window among the windows including capture area 42 for which the specification has been accepted as the window 41 to be subjected to the capture process. This enables PC 100 to appropriately identify the window including the portion for which the user is attempting to generate capture image 43.
[0097] Although the embodiments have been described above, the configurations of the parts shown in the embodiments can be replaced with other parts having similar functions. Any other components or steps may be added. Furthermore, any two or more configurations (features) of the above-mentioned embodiments may be combined. [Explanation of symbols]
[0098] 1 screen 2 Target window 2a Reference point 3. Capture Area 4. Captured image 10. Information processing device 11 Processing section
Claims
1. On the computer, Accepts the specification of the capture area on the screen displaying the target window, repeating a process of generating a capture image by extracting the capture area from the screen at a predetermined time interval; when a reference point of the target window is moved, the capture area is moved based on the amount of movement of the reference point; The capture program that performs the processing.
2. In the process of generating the captured image, if the captured image is different from the previously generated captured image, the captured image is stored. The capture program according to claim 1.
3. In moving the capture area, when the size of the target window changes, a movement position of the corresponding point corresponding to the reference point in the capture area is calculated based on a relative position of the corresponding point with respect to the reference point before the movement and a ratio of the corresponding point before and after the change in size of the target window, and the capture area whose size has been changed based on the ratio of the corresponding point before and after the change in size of the target window is moved so that the corresponding point moves to the movement position. The capture program according to claim 1.
4. The computer further comprises: setting the foremost window as the target window among the windows including the capture area whose designation has been accepted; The capture program according to claim 1.
5. a processing unit which receives designation of a capture area on a screen displaying a target window, repeats a process of generating a capture image by extracting the capture area from the screen at a predetermined time interval, and, when a reference point of the target window has moved, moves the capture area based on the amount of movement of the reference point; An information processing device having the above configuration.
Citation Information
Patent Citations
Adaptive picture reading method and storage medium with stored adaptive picture reading program
JP2001166756A
Input device, input support method and program
JP2016042381A
Display device and display method
JP2020086339A
Associating the captured screenshot with application-specific metadata that defines the session state of the application that is providing the image data for the captured screenshot.
JP2020504855A
Text detection, caret tracking, and active element detection
JP2023524605A