WO2022168603A1 - 画像描画方法 - Google Patents

画像描画方法 Download PDF

Info

Publication number
WO2022168603A1
WO2022168603A1 PCT/JP2022/001733 JP2022001733W WO2022168603A1 WO 2022168603 A1 WO2022168603 A1 WO 2022168603A1 JP 2022001733 W JP2022001733 W JP 2022001733W WO 2022168603 A1 WO2022168603 A1 WO 2022168603A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
computer
gesture
drawing method
remote computer
Prior art date
Application number
PCT/JP2022/001733
Other languages
English (en)
French (fr)
Inventor
龍憲 加藤
一 淺田
佳文 武部
直樹 渡辺
Original Assignee
株式会社ワコム
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ワコム filed Critical 株式会社ワコム
Priority to JP2022579426A priority Critical patent/JPWO2022168603A1/ja
Priority to EP22749479.6A priority patent/EP4290826A1/en
Publication of WO2022168603A1 publication Critical patent/WO2022168603A1/ja
Priority to US18/362,820 priority patent/US20230377222A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/34Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Definitions

  • the present invention relates to an image drawing method, and more particularly to an image drawing method for deforming an image according to gestures input by a user.
  • Patent Literature 1 discloses an example of a remote desktop system. This type of remote desktop system includes a host computer that generates an image to be displayed on the display of the remote computer, and a remote computer that displays the image supplied from the host computer.
  • the remote computer may have an input sensor for inputting with a finger or pen.
  • a remote computer having an input sensor detects that a position within the image has been indicated by a finger or pen, it sends various data including the indicated position to the host computer in the form of a report.
  • the host computer detects gestures (e.g., pinch out, pinch in, drag, rotate, etc.) based on the series of reports thus received, and transforms (e.g., enlarge, reduce, move, rotate, etc.) in response to the detected gestures. ) to give the above image.
  • gestures e.g., pinch out, pinch in, drag, rotate, etc.
  • transforms e.g., enlarge, reduce, move, rotate, etc.
  • one of the objects of the present invention is to provide an image drawing method that can prevent excessive deformation of an image due to processing delay due to gestures.
  • An image processing method comprises a host computer running an operating system and generating an image to be displayed on a display of a remote computer, an input sensor having a sensor surface, and the display, a remote computer for displaying the image supplied from a host computer on the display, wherein the remote computer inputs the position of the pointer on the sensor surface.
  • a sensor is used to sequentially detect at a predetermined sampling rate, and each time the position of the indicator is detected, report data including the detected position is sequentially transmitted to the host computer, and the host computer receives data from the remote computer. and generates a deformed image obtained by adding the content and amount of deformation indicated by the detected gesture to the image or the previously transmitted deformed image, and transmits the deformed image to the remote computer. and the host computer executes processing to cancel the deformation in response to the report data received from the remote computer being an end report indicating departure of the pointer from the sensor surface. drawing method.
  • An image processing method comprises a host computer running an operating system and generating an image to be displayed on a display of a remote computer, an input sensor having a sensor surface, and the display, a remote computer for displaying the image supplied from a host computer on the display, wherein the remote computer inputs the position of the pointer on the sensor surface.
  • the deformation of the image is canceled according to the end report, so it is possible to prevent the deformation of the image due to the gesture from becoming excessive due to the processing delay.
  • the gesture is replaced with data having a small data size and transmitted, it is possible to prevent excessive deformation of the image due to the processing delay due to the gesture.
  • FIG. 1 is a diagram showing a system configuration of computers 1 and 2 that execute an image processing method according to a first embodiment of the present invention
  • FIG. (a) is a diagram showing the format of the report data R generated by the operating system 30 of the computer 1 regarding the pen P
  • (b) is a diagram showing the format of the report data R generated by the processor 10 regarding the user's finger.
  • is. 2 is a schematic block diagram showing functional blocks of an operating system 30 of a computer 2
  • FIG. 3 is a diagram showing a processing flow of image transformation processing executed by a drawing application 31
  • FIG. 7 is a diagram showing a processing flow of a canceling image number setting process performed by the drawing application 31 to set the above-described canceling image number n in the memory 11
  • FIG. 10 is a diagram illustrating the relationship between time T_delay and the number n of cancellation images;
  • FIG. 10 is a diagram showing a processing flow of another example of a canceling image number setting process performed by the drawing application 31 to set the number n of canceling images in the memory 11;
  • 8 is a diagram showing a window image 40, which is an example of a test interface transmitted in step S30 of FIG. 7;
  • FIG. 2 is a schematic block diagram showing functional blocks of an operating system 30 of a computer 2 according to a modification of the first embodiment of the invention;
  • FIG. 10 is a diagram showing a processing flow of report data transmission processing executed by the operating system 30 of the computer 1 according to the second embodiment of the present invention
  • 3A and 3B are diagrams each showing an example of a correspondence table that associates gesture types with commands registered in the drawing application 31.
  • FIG. 10 is a diagram showing a processing flow of report data transmission processing executed by the operating system 30 of the computer 1 according to the second embodiment of the present invention
  • 3A and 3B are diagrams each showing an example of a correspondence table that associates gesture types with commands registered in the drawing application 31.
  • FIG. 1 is a diagram showing the system configuration of computers 1 and 2 that execute the image processing method according to the first embodiment of the present invention.
  • Computers 1 and 2 are information processing devices for personal use, such as personal computers, tablet terminals, and smart phones.
  • Computers 1 and 2 may have the same configuration, but in this embodiment, computer 1 is used as a remote computer and computer 2 is used as a host computer. Only the configuration necessary for doing so is illustrated.
  • the computer 1 which is a remote computer, comprises a processor 10, a memory 11, a communication device 12, an input device 13, a display 14, and an input sensor 15.
  • the computer 2, which is a host computer comprises a processor 10, a memory 11, a communication device 12, and a display .
  • the processor 10 is a central processing unit of the computers 1 and 2, and is configured to read out from the memory 11 programs constituting various device drivers and various applications in addition to the illustrated operating system 30 and execute them.
  • Applications executed by the processor 10 of the computer 2 include a drawing application 31 having a function of generating images.
  • the image generated by the drawing application 31 includes an image to be modified by the user.
  • the operating system 30 also includes a desktop window manager 30a, which is a program that manages screen drawing.
  • the desktop window manager 30a generates a video signal based on the image generated by the drawing application 31 and supplies it to its own display 14 and other computers, and also receives the video signal supplied from the other computer. It also plays a role of supplying to the display 14 of its own machine.
  • the memory 11 is a storage device that stores programs to be executed by the processor 10 and also stores various data that is referenced by the processor 10. Specifically, a main storage device such as a DRAM (Dynamic Random Access Memory). and an auxiliary storage device such as a hard disk.
  • a main storage device such as a DRAM (Dynamic Random Access Memory).
  • an auxiliary storage device such as a hard disk.
  • the communication device 12 is a device that has a function of communicating with other computers via the Internet or an ad-hoc network.
  • the operating system 30 transmits and receives various data to and from operating systems 30 of other computers via the communication device 12 .
  • the input device 13 is a device for receiving user input to the operating system 30, and includes, for example, a keyboard and a mouse. When the user operates the input device 13 , the input device 13 generates data indicating the details of the operation and supplies the data to the operating system 30 . Operating system 30 accepts user input based on the data thus supplied.
  • the display 14 is a device that visually outputs video signals supplied from the operating system 30 (more specifically, the desktop window manager 30a). As the display 14 outputs the video signal in this manner, the user can view the image generated by the drawing application 31 .
  • the input sensor 15 is a device having a sensor surface, and repeatedly and successively detects the position of an indicator such as the illustrated pen P or a user's finger on the sensor surface at a predetermined sampling rate, and receives various data from the pen P. It has the function to The data received from the pen P includes writing pressure detected by a pressure sensor built into the pen P.
  • FIG. The specific detection method of the pen P and the finger by the input sensor 15 is not particularly limited, but for example, the active electrostatic method or the electromagnetic induction method is preferably used for detecting the pen P, and the capacitance method is preferably used for detecting the finger. Available. In the following description, it is assumed that the pen P is detected by the active electrostatic method and the finger is detected by the electrostatic capacitance method.
  • the sensor surface of the input sensor 15 typically serves as the display surface of the display 14 as well. In this case, the user can operate the image displayed on the display 14 using the pointer as if operating by touching it directly.
  • the sensor surface of the input sensor 15 may be provided separately from the display surface of the display 14, such as a touch pad of a notebook computer or an external digitizer.
  • the input sensor 15 detects the position of the pointer and receives data from the pen P using these electrodes. The processing of the input sensor 15 will be described in detail below, separately for the case where the detection object is the pen P and the case where the detection object is the finger.
  • the input sensor 15 uses either one of the plurality of x electrodes and the plurality of y electrodes as a transmission electrode to periodically transmit a predetermined uplink signal. configured as follows.
  • This uplink signal contains a local ID to be assigned to the pen P that has not yet been detected.
  • the pen P When the pen P, which has not yet been paired with the input sensor 15, receives an uplink signal through the capacitive coupling with the x electrode or the y electrode, it extracts and acquires the local ID from it, and the uplink signal A downlink signal is transmitted at a timing corresponding to the reception timing of the
  • the downlink signal transmitted by the pen P at this stage consists only of the position signal, which is an unmodulated carrier signal.
  • the input sensor 15 receives this position signal at each of the plurality of x electrodes and the plurality of y electrodes in the input sensor 15, and detects the position of the pen P based on the reception intensity at each electrode (global scan). , performs pairing with the pen P using subsequent uplink signals.
  • the pen P which has established pairing with the input sensor 15, responds to an uplink signal periodically received from the input sensor 15 by transmitting a carrier wave signal modulated by the position signal and transmission data such as pen pressure. a data signal and a downlink signal.
  • the input sensor 15 updates the position of the pen P (local scan) by receiving the transmitted position signal with each of the predetermined number of x electrodes and y electrodes in the vicinity of the previously detected position, and receives the data signal. By doing so, the data transmitted by the pen P is acquired. Then, along with the local ID assigned to the pen P, the updated position and the acquired data are supplied to the processor 10 . This enables the operating system 30 to sequentially acquire data such as the position and pen pressure for each pen P.
  • the object to be detected is a user's finger.
  • the strength of the finger detection signal received by the input sensor 15 decreases through the capacitance generated between the finger and the x-electrode and the y-electrode.
  • the input sensor 15 periodically detects the position of the user's finger by detecting this change in reception intensity.
  • the input sensor 15 is configured to perform tracking processing for tracking the detected finger position. Specifically, when the input sensor 15 detects a new finger position, the input sensor 15 is configured to assign a finger ID to that position and supply it to the processor 10 together with the detected position. When a finger is detected at a position within a predetermined range from the previously detected position at the next timing, the same finger ID is assigned to the detected position and supplied to the processor 10 together with the detected position. This allows the operating system 30 to individually acquire the trajectory of each finger using the finger ID even when the positions of a plurality of fingers are detected.
  • the operating system 30 of the computer 1 When the operating system 30 of the computer 1 is supplied with the position and other data (including the data received from the pen P, the local ID, and the finger ID) from the input sensor 15 of the computer 1 as described above, A process of generating report data including the position and data obtained and transmitting the data to the computer 2 via the communication device 12 is performed. As a result, the contents of the operation performed by the user on the sensor surface of the input sensor 15 of the computer 1 are supplied to the operating system 30 of the computer 2 .
  • FIG. 2(a) is a diagram showing the format of the report data R generated by the operating system 30 of the computer 1 regarding the pen P.
  • the report data R generated for the pen P includes position data PD indicating the detected position, pen pressure data PRE indicating the pen pressure received from the pen P, and the local ID ( LID).
  • the writing pressure data PRE becomes a value greater than 0 when the pen P is in contact with the sensor surface, and becomes 0 when the pen P is not in contact with the sensor surface.
  • the start report SR generated for the pen P is report data R that includes pen-down information PenDown indicating that the pen P has come into contact with the sensor surface, in addition to the position data PD, pen pressure data PRE, and local ID.
  • the processor 10 is configured to generate a start report SR in response to the writing pressure data PRE changing from 0 to a value greater than 0.
  • the end report ER generated for the pen P is report data R that includes pen-up information PenUp indicating that the pen P has left the sensor surface, in addition to the position data PD, pen pressure data PRE, and local ID. .
  • the processor 10 is configured to generate an end report ER in response to the writing pressure data PRE changing from a value greater than zero to zero.
  • FIG. 2(b) is a diagram showing the format of the report data R generated by the processor 10 regarding the user's finger.
  • the report data R generated for the pen P includes position data PD indicating the detected position and the finger ID (FID) described above.
  • a start report SR generated for a finger includes position data PD and finger ID, as well as tracking start information Finger Track Start indicating that finger tracking has started.
  • the processor 10 is configured to generate a start report SR in response to a new finger tracking process being initiated by the input sensor 15 .
  • the end report ER generated for the finger includes, in addition to the finger ID, lost information Finger Track Loss indicating that the movement of the finger tracked as a series of positions by tracking processing is no longer detected.
  • the position data PD are not included in the end report ER generated for the finger.
  • the processor 10 is configured to generate an end report ER in response to the input sensor 15 finishing the finger tracking process.
  • Operations performed by the user on the sensor surface of the input sensor 15 may include various gestures such as pinch-out, pinch-in, drag, rotation, and swipe.
  • pinch-out is an operation to enlarge the displayed image by widening the distance between the two fingers touching the sensor surface
  • pinch-in is an operation to enlarge the distance between the two fingers touching the sensor surface.
  • Drag is an operation to move the displayed image by sliding the indicator on the sensor surface
  • rotation is an operation to reduce the displayed image by narrowing
  • a swipe is an operation to scroll the screen by sliding the pointer on the sensor surface. Detection of these gestures is performed by the operating system 30 or drawing application 31 of computer 2 based on a series of report data R received from computer 1 .
  • the drawing application 31 has a function of generating a deformed image by applying the content and amount of deformation indicated by the gesture detected as described above to the generated image.
  • the transformations applied to the image in this manner include enlargement, reduction, movement, rotation, scrolling, and the like.
  • the deformed image generated by the drawing application 31 is supplied to the computer 1 as a video signal through the desktop window manager 30a of the computer 2.
  • the desktop window manager 30a of the computer 1 updates the display of the display 14 of the computer 1 with the video signal thus supplied. This allows the user of computer 1 to visually recognize the deformed image generated as a result of his/her own operation.
  • the desktop window manager 30a of the computer 2 also supplies the video signal of the modified image to the display 14 of its own device. As a result, the computer 2 user can visually recognize the deformed image in the same manner as the computer 1 user.
  • FIG. 3 is a schematic block diagram showing functional blocks of the operating system 30 of the computer 2.
  • the operating system 30 functionally includes a receive buffer 30b and a transmit buffer 30c, which are FIFO (First In First Out) queues, in addition to the desktop window manager 30a described above. be.
  • the report data R (including the start report SR and the end report ER) received from the computer 1 is written via the communication device 12 into the reception buffer 30b.
  • the drawing application 31 first generates an image PIC to be displayed on the displays 14 of the computers 1 and 2, and writes it to the end of the transmission buffer 30c. After that, when the report data R indicating the result of the operation by the user of the computer 1 is written to the reception buffer 30b, the report data R are read out in chronological order, and a series of the report data R including the past report data R read up to that time is read. Based on the report data R, gesture detection is performed. Then, the latest image PIC is transformed based on the detected gesture, and the image PIC showing the result is written to the end of the transmission buffer 30c.
  • the desktop window manager 30a sequentially reads the image PIC from the transmission buffer 30c, generates a video signal based on the read image PIC each time, and performs processing for supplying the video signal to the communication device 12 and the display 14.
  • the communication device 12 transmits the supplied video signal to the computer 1 .
  • the desktop window manager 30a of the computer 1 that has received the video signal thus transmitted updates the display on the display 14 of the computer 1 with the received video signal.
  • the user of the computer 1 can visually recognize how the result of the operation is reflected in the image PIC.
  • the display 14 of the computer 2 which receives the video signal from the desktop window manager 30a, updates the displayed image with the supplied video signal.
  • the user of the computer 2 can also see how the results of operations performed by other users on the computer 1 are reflected in the image PIC.
  • the drawing application 31 executes processing for canceling the deformation of the image in response to the fact that the report data R received from the computer 1 is the end report ER.
  • the desktop window manager 30a is instructed to stop transmitting at least a portion of the one or more image PICs stored in the transmission buffer 30c.
  • the desktop window manager 30a cancels the transmission of the image PIC whose transmission is to be stopped from the transmission buffer 30c.
  • the deformation based on the last few gestures in the series of gestures can be canceled, thereby preventing the image from being excessively deformed.
  • FIG. 4 is a diagram showing a processing flow of image transformation processing executed by the drawing application 31.
  • FIG. 4 Hereinafter, the processing for canceling the deformation of the image will be described in more detail with reference to FIG. 4 as well.
  • the drawing application 31 first generates an image to be displayed on the displays 14 of the computers 1 and 2 (step S1), and writes the generated image to the transmission buffer 30c (step S2). After that, the drawing application 31 tries to acquire the report data R from the reception buffer 30b (step S3), and determines whether or not the report data R has been acquired (step S4). If the drawing application 31 determines in step S4 that it could not be acquired, it repeats step S3. If it determines that it was acquired, it temporarily stores the acquired report data R in the memory 11 (step S5), it is determined whether or not the acquired report data R is the end report ER (step S6).
  • step S6 If it is determined in step S6 that it is not the end report ER, the drawing application 31 attempts to detect a gesture based on the series of report data R acquired so far (step S7), and determines whether or not the gesture has been detected. (Step S8). As a result, if the gesture cannot be detected, the process returns to step S3 and the process is repeated. If the gesture is detected, the content and amount of deformation indicated by the detected gesture is applied to the image (step S9). ).
  • the image to be transformed is the image that the drawing application 31 wrote to the transmission buffer 30c last time.
  • the drawing application 31 that generated the deformed image in step S9 writes the generated deformed image to the transmission buffer 30c (step S10), and returns to step S3.
  • the drawing application 31, which has determined that n is not 0 in step S11 controls the desktop window manager 30a to stop sending the image after the n-th image (step S12).
  • the images corresponding to n pieces of report data R traced back from the end report ER are deleted from the transmission buffer 30c and are no longer reflected on the displays 14 of the computers 1 and 2.
  • the drawing application 31 determines whether or not the control of the desktop window manager 30a is in time (step S13). That is, if the value of n is large, it is possible that several images after the n-th image have already been transmitted when step S11 is executed. In such a case, the drawing application 31 determines that the control of the desktop window manager 30a was not in time. The drawing application 31, which determines that it is in time at step S13, returns the process to step S3. On the other hand, the drawing application 31, which has determined that it was not in time at step S13, based on the series of report data R stored in the memory 11, displays the image (n+1) previous image (displayed on the display 14 if the gesture was not performed).
  • Rewind image to be processed is regenerated and written to the transmission buffer 30c (step S14).
  • the image displayed on the display 14 is temporarily deformed excessively, it is possible to restore the image to the image that is not excessively deformed immediately after that.
  • FIG. 5 is a diagram showing the processing flow of the canceling image number setting process performed by the drawing application 31 to set the above-described canceling image number n in the memory 11.
  • FIG. The drawing application 31, which has started this process, first acquires environment information, as shown in the figure (step S20).
  • the environment information is information indicating the environment of the computer 1. For example, after the computer 1 detects the size of the display 14 of the computer 1 and the position of the pointer, the image corresponding to the position is displayed on the display 14 of the computer 1. T_delay, which is the time required until the The drawing application 31 may acquire the size of the display 14 of the computer 1 by receiving information indicating the size of the display 14 from the computer 1 . Also, the drawing application 31 may obtain the time T_delay by causing the operating system 30 of the computer 1 to measure the time T_delay and receiving the result from the computer 1 . The time T_delay will be described later in detail with reference to FIG.
  • the drawing application 31 determines the number n of negative images based on the acquired environment information (step S21).
  • n 0 (that is, the process of canceling image deformation is not executed)
  • n increases as the size of the display 14 increases. Excessive deformation of the image becomes more conspicuous as the size of the display 14 on which it is displayed is larger. Therefore, by determining the number n of images to be canceled in this way, it is possible to keep the excessive deformation of the image within an inconspicuous range. be possible.
  • FIG. 6 is a diagram explaining the relationship between the time T_delay and the number n of cancellation images.
  • the drawing application 31 may determine the number n of images to be canceled so that the gestures corresponding to the report data R corresponding to the time T_delay going back from the end report ER are cancelled. By determining the number n of images to be canceled in this manner, it is possible to perform the optimum amount of cancellation according to the time T_delay.
  • the drawing application 31 that has determined the number n of images to be canceled sets the determined number n of images to be canceled in the memory 11 (step S22). After this, the drawing application 31 refers to the number n of negative images set in step S22 in steps S11 and S12 of FIG.
  • FIG. 7 is a diagram showing a process flow of another example of the canceling image number setting process performed by the drawing application 31 to set the canceling image number n in the memory 11.
  • the drawing application 31 which has started this process, first sends a test interface to the computer 1, as shown in the figure (step S30).
  • FIG. 8 is a diagram showing a window image 40, which is an example of the test interface transmitted in step S30.
  • the window image 40 includes a drawing area 41 , a test image 42 arranged in the drawing area 41 , a slider 43 and an enter button 44 .
  • the test image 42 is an image configured to be deformable by gestures made by the user. For example, when the user pinches out on the test image 42, the test image 42 is enlarged and displayed.
  • the slider 43 is a component for adjusting the number n of images to be canceled by user operation, and is configured so that any integer from 0 to a predetermined number (10 in the example of FIG. 8) can be selected.
  • Selecting 0 on the slider 43 means not executing the process of canceling the deformation of the image. Also, selecting a value of 1 or more in the slider 43 means setting the degree of processing for canceling image deformation.
  • the decision button 44 is a button for fixing the number n of negative images to the value set in the slider 43 .
  • the drawing application 31 tentatively determines the number n of negative images based on the current position of the slider 43 (step S31). Then, using the temporarily determined negation image number n, image deformation processing is executed based on the user's operation (step S32).
  • the process of step S32 is specifically the image transformation process shown in FIG. 4, and is executed in the background of the process shown in FIG.
  • the drawing application 31 monitors the state of the enter button 44 while executing steps S31 and S32 (step S33). Then, in response to pressing (clicking or tapping) of the determination button 44, processing is performed to determine the number n of images to be canceled based on the current position of the slider 43 (step S34). (step S35).
  • the user of the computer 1 can select the optimal value for the number n of negative images while confirming the actual state of deformation.
  • the deformation of the image is canceled according to the end report ER. preventable.
  • the display of the computer 1 displays a test interface including a test image configured to be deformable by gestures made by the user and a slider for selecting the number of negated images n, the user of the computer 1 can , it becomes possible to select the optimum value for the number of negated images while checking the actual deformation situation.
  • the drawing application 31 deforms the image, but the desktop window manager 30a may deform the image.
  • FIG. 9 is a schematic block diagram showing functional blocks of the operating system 30 of the computer 2 according to the modification of this embodiment.
  • the image PIC generated by the drawing application 31 is written to the transmission buffer 30c by the desktop window manager 30a.
  • the desktop window manager 30a sequentially reads the report data R from the reception buffer 30b, detects a gesture based on a series of report data R including the past report data R read up to that point, and detects a gesture based on the detected gesture.
  • a process of transforming the latest image PIC and writing the resulting image PIC to the end of the transmission buffer 30c is performed.
  • the process of canceling the deformation of the image in this case is executed as an internal process of the desktop window manager 30a. Even in this way, it is possible to display the image PIC reflecting the result of the operation performed by the user on the displays 14 of the computers 1 and 2 and to prevent the image PIC from being excessively deformed.
  • the moving speed is the distance that the pointer moves per unit time, and the unit of distance may be the length of a sensor meter or the like, or the number of pixels.
  • the drawing application 31 preferably causes the computer 1 to obtain the average value of the moving speed of the pointer, and preferably reduces the number n of negative images as the obtained average value decreases. Since the excessive deformation of the image becomes less conspicuous as the movement speed of the indicator decreases, it is possible to cancel the image deformation by an optimum amount even in this manner.
  • the system configuration of computers 1 and 2 that execute the image processing method according to this embodiment is the same as that shown in FIG.
  • the report data R transmitted from the computer 1 is data with a small data size (specifically, data for a keyboard or mouse). It is different from the image processing method according to the first embodiment in that the data is replaced with report data) and transmitted. The following description focuses on the differences.
  • FIG. 10 is a diagram showing the processing flow of report data transmission processing executed by the operating system 30 of computer 1.
  • the operating system 30 of the computer 1 when the operating system 30 of the computer 1 according to the present embodiment receives the position and data from the input sensor S40 (step S40), it temporarily stores the received position and data in the memory 11 (step S41). Then, an attempt is made to detect a gesture based on a series of positions and data received so far (step S42), and it is determined whether or not the gesture has been detected (step S43).
  • the processing of steps S41 to S43 is nothing but the processing of steps S5, S7, and S8 shown in FIG.
  • step S44 the operating system 30 of computer 1 determines whether the detected gesture corresponds to a default gesture stored in a correspondence table. Details of the correspondence table will be described later with reference to FIG.
  • step S44 the operating system 30 of the computer 1, which has determined that the gesture corresponds to the predetermined gesture, acquires the key operation and mouse operation corresponding to the detected gesture from the correspondence table, and reports data for the keyboard or mouse indicating the acquired operation ( report data for a device of a type different from that of the input sensor 15) is transmitted to the computer 2 (step S46).
  • step S43 determines whether the gesture could not be detected, and if it is determined in step S44 that it does not correspond to the default gesture, the operating system 30 of the computer 1 sends the report data for the input sensor 15 to the computer 2. (step S47).
  • the report data transmitted in step S47 is the same as the report data described in the first embodiment.
  • FIGS. 11(a) and 11(b) are diagrams showing examples of correspondence tables that associate gesture types with commands registered in the drawing application 31, respectively.
  • a command is composed of either one of key operation and mouse operation, or a combination thereof.
  • the operating system 30 of the computer 1 acquires the key operation or mouse operation corresponding to the detected gesture by referring to this correspondence table in step S45 of FIG.
  • pinch-out is associated with simultaneous pressing of the "control” key and the "+” key
  • pinch-in is associated with the "control” key and the "+” key.
  • Simultaneous pressing of the "-” key is associated. Therefore, if the gesture detected in step S42 is pinch-out, for example, the operating system 30 of computer 1 selects the "control" key and the "+” key as the key operation or mouse operation corresponding to the detected gesture in step S44. is acquired, and in step S46, report data indicating simultaneous pressing of the "control" key and the "+” key is transmitted.
  • pinch-out is associated with a combination of "left click” and “mouse wheel scroll up”
  • pinch-in is associated with a combination of "left click” and “mouse wheel scroll down”.
  • a swipe is associated with a combination of "left click” and "direction of movement”. Therefore, if the gesture detected in step S42 is a swipe, for example, the operating system 30 of computer 1 selects "left click” and "movement direction” as the key operation or mouse operation corresponding to the detected gesture in step S44. The combination is obtained, and in step S46, report data indicating "left click” and "direction of movement” will be transmitted.
  • the specific contents of the “direction of movement” may be determined based on the direction of movement of the pointer indicated by a series of positions (positions of the pen P or finger) input from the input sensor 15 .
  • a gesture executed by the pen P or a finger is replaced with data having a small data size (specifically, report data for a keyboard or mouse). can be sent. Therefore, since the processing delay can be reduced, it is possible to prevent the deformation of the image due to the gesture from becoming excessive due to the processing delay, as in the first embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】ジェスチャによる画像の変形が処理遅延のために過剰になってしまうことを防止する。 【解決手段】リモート計算機である計算機1は、センサ面上における指示体の位置を前記入力センサを用いて所定のサンプリングレートで逐次検出し、指示体の位置を検出する都度、検出した位置を含むレポートデータをホスト計算機に逐次送信する。ホスト計算機である計算機2は、計算機1から受信される一連のレポートデータに基づいてジェスチャを検出し、検出したジェスチャにより示される内容及び量の変形を画像に対して付与してなる変形画像を生成して計算機1に送信し、計算機1から受信したレポートデータが指示体のセンサ面からの離脱を示すエンドレポートであったことに応じて、上記変形を打ち消す処理を実行する。

Description

画像描画方法
 本発明は画像描画方法に関し、特に、ユーザが入力したジェスチャに従って画像の変形を行うための画像描画方法に関する。
 リモート計算機に画像を表示するリモートデスクトップシステムが普及してきている。特許文献1には、リモートデスクトップシステムの一例が開示されている。この種のリモートデスクトップシステムは、リモート計算機のディスプレイに表示するための画像を生成するホスト計算機と、このホスト計算器から供給される画像を表示するリモート計算機とを含んで構成される。
特開2016-189127号公報
 ところで、リモート計算機は、指やペンによる入力を行うための入力センサを有している場合がある。入力センサを有するリモート計算機は、指やペンにより上記画像内の位置が指示されたことを検出すると、指示された位置を含む各種データをレポートの形でホスト計算機に送信する。ホスト計算機は、こうして受信される一連のレポートに基づいてジェスチャ(例えば、ピンチアウト、ピンチイン、ドラッグ、ローテーションなど)を検出し、検出したジェスチャに応じた変形(例えば、拡大、縮小、移動、回転など)を上記画像に与える。こうして変形した画像がホスト計算機からリモート計算機に対して供給されると、リモート計算機においても変形した画像を視認できるようになる。
 しかしながら、以上の処理によれば、リモート計算機においてユーザがジェスチャを行った後、そのジェスチャによる変形がリモート計算機上に表示されている画像に反映されるまでには、リモート計算機とホスト計算機の間の通信を経る必要があることから、相当程度の処理遅延が発生する。この処理遅延のため、ユーザは、実際には十分な量のジェスチャを行っているにもかかわらず、まだジェスチャが足りていないと誤認し、余分なジェスチャを行ってしまう場合がある。そうすると、あたかも慣性が働いているかのように過剰に画像が変形してしまうことになるので、改善が必要とされていた。
 したがって、本発明の目的の一つは、ジェスチャによる画像の変形が処理遅延のために過剰になってしまうことを防止できる画像描画方法を提供することにある。
 本発明の第1の側面による画像処理方法は、オペレーティングシステムを実行し、リモート計算機のディスプレイに表示される画像を生成するホスト計算機と、センサ面を有する入力センサ、及び、前記ディスプレイを備え、前記ホスト計算器から供給される前記画像を前記ディスプレイに表示するリモート計算機と、を含むシステムにおいて実行される画像描画方法であって、前記リモート計算機は、前記センサ面上における指示体の位置を前記入力センサを用いて所定のサンプリングレートで逐次検出し、前記指示体の位置を検出する都度、検出した位置を含むレポートデータを前記ホスト計算機に逐次送信し、前記ホスト計算機は、前記リモート計算機から受信される一連のレポートデータに基づいてジェスチャを検出し、検出したジェスチャにより示される内容及び量の変形を前記画像又は前回送信した変形画像に対して付与してなる変形画像を生成して前記リモート計算機に送信し、前記ホスト計算機は、前記リモート計算機から受信した前記レポートデータが前記指示体の前記センサ面からの離脱を示すエンドレポートであったことに応じて、前記変形を打ち消す処理を実行する、画像描画方法である。
 本発明の第2の側面による画像処理方法は、オペレーティングシステムを実行し、リモート計算機のディスプレイに表示される画像を生成するホスト計算機と、センサ面を有する入力センサ、及び、前記ディスプレイを備え、前記ホスト計算器から供給される前記画像を前記ディスプレイに表示するリモート計算機と、を含むシステムにおいて実行される画像描画方法であって、前記リモート計算機は、前記センサ面上における指示体の位置を前記入力センサを用いて所定のサンプリングレートで逐次検出し、検出した位置により示される前記指示体の動きが既定のジェスチャに該当するか否かを判定し、前記指示体の動きが既定のジェスチャに該当しないと判定した場合には、前記入力センサ用のレポートデータを生成して前記ホスト計算機に送信し、前記指示体の動きが既定のジェスチャに該当すると判定した場合には、前記入力センサとは異なる種別のデバイスのためのレポートデータを生成して前記ホスト計算機に送信する、画像描画方法である。
 本発明の第1の側面によれば、エンドレポートに応じて画像の変形が打ち消されるので、ジェスチャによる画像の変形が処理遅延のために過剰になってしまうことを防止できる。
 本発明の第2の側面によれば、ジェスチャをデータサイズの小さいデータに置き換えて送信するので、ジェスチャによる画像の変形が処理遅延のために過剰になってしまうことを防止できる。
本発明の第1の実施の形態による画像処理方法を実行する計算機1,2のシステム構成を示す図である。 (a)は、ペンPに関して計算機1のオペレーティングシステム30が生成するレポートデータRのフォーマットを示す図であり、(b)は、ユーザの指に関してプロセッサ10が生成するレポートデータRのフォーマットを示す図である。 計算機2のオペレーティングシステム30の機能ブロックを示す略ブロック図である。 描画アプリケーション31によって実行される画像変形処理の処理フローを示す図である。 上述した打ち消し画像数nをメモリ11に設定するために描画アプリケーション31が行う打ち消し画像数設定処理の処理フローを示す図である。 時間T_delayと打ち消し画像数nとの関係を説明する図である。 打ち消し画像数nをメモリ11に設定するために描画アプリケーション31が行う打ち消し画像数設定処理の他の例による処理フローを示す図である。 図7のステップS30で送信されるテスト用インターフェイスの一例であるウインドウ画像40を示す図である。 本発明の第1の実施の形態の変形例による計算機2のオペレーティングシステム30の機能ブロックを示す略ブロック図である。 本発明の第2の実施の形態による計算機1のオペレーティングシステム30によって実行されるレポートデータ送信処理の処理フローを示す図である。 (a)及び(b)はそれぞれ、ジェスチャの種類と、描画アプリケーション31に登録されているコマンドとを対応付ける対応テーブルの例を示す図である。
 以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
 図1は、本発明の第1の実施の形態による画像処理方法を実行する計算機1,2のシステム構成を示す図である。計算機1,2はそれぞれ、例えばパーソナルコンピュータ、タブレット端末、スマートフォンなどの、個人用として用いられる情報処理装置である。計算機1,2の構成は同一でよいが、本実施の形態においては、計算機1をリモート計算機として用い、計算機2をホスト計算機として用いることとし、図1には、それぞれリモート計算機又はホスト計算機として機能するために必要な構成のみを図示している。
 リモート計算機である計算機1は、プロセッサ10、メモリ11、通信装置12、入力デバイス13、ディスプレイ14、及び入力センサ15を有して構成される。一方、ホスト計算機である計算機2は、プロセッサ10、メモリ11、通信装置12、及びディスプレイ14を有して構成される。
 プロセッサ10は計算機1,2の中央処理装置であり、図示したオペレーティングシステム30の他、各種のデバイスドライバや各種のアプリケーションを構成するプログラムをメモリ11から読み出して実行するように構成される。計算機2のプロセッサ10により実行されるアプリケーションには、画像を生成する機能を有する描画アプリケーション31が含まれる。描画アプリケーション31により生成される画像には、ユーザによる変形操作の対象となる画像が含まれる。また、オペレーティングシステム30には、画面の描画を管理するプログラムであるデスクトップウインドウマネージャ30aが含まれる。デスクトップウインドウマネージャ30aは、描画アプリケーション31によって生成された画像に基づいて映像信号を生成し、自機のディスプレイ14及び他の計算機に供給する役割を果たすとともに、他の計算機から供給された映像信号を自機のディスプレイ14に供給する役割も果たす。
 メモリ11は、プロセッサ10により実行されるプログラムを記憶する他、プロセッサ10により参照される各種のデータを記憶する記憶装置であり、具体的には、DRAM(Dynamic Random Access Memory)などの主記憶装置と、ハードディスクなどの補助記憶装置とを含んで構成される。
 通信装置12は、インターネットやアドホックネットワークを介して、他の計算機と通信する機能を有する装置である。オペレーティングシステム30は、通信装置12を介して、他の計算機のオペレーティングシステム30との間で各種データの送受信を行う。
 入力デバイス13は、オペレーティングシステム30に対するユーザ入力を受け付けるための装置であり、例えばキーボード及びマウスを含んで構成される。ユーザが入力デバイス13を操作すると、入力デバイス13は、その操作内容を示すデータを生成し、オペレーティングシステム30に供給する。オペレーティングシステム30は、こうして供給されたデータに基づいてユーザ入力を受け付ける。
 ディスプレイ14は、オペレーティングシステム30(より具体的には、デスクトップウインドウマネージャ30a)から供給される映像信号を視覚的に出力する装置である。こうしてディスプレイ14が映像信号を出力することにより、ユーザは、描画アプリケーション31により生成された画像を見ることができる。
 入力センサ15はセンサ面を有する装置であり、図示したペンP又はユーザの指などの指示体のセンサ面上における位置を所定のサンプリングレートで繰り返し逐次検出するとともに、ペンPから各種のデータを受信する機能を有している。ペンPから受信されるデータには、ペンPに内蔵される圧力センサにより検出される筆圧が含まれる。入力センサ15によるペンP及び指の具体的な検出方式は特に限定されないが、例えば、ペンPの検出にはアクティブ静電方式又は電磁誘導方式を、指の検出には静電容量方式を好適に使用できる。以下では、ペンPの検出をアクティブ静電方式により行い、指の検出を静電容量方式により行うことを前提として説明を続ける。
 入力センサ15のセンサ面は、典型的にはディスプレイ14の表示面を兼ねている。この場合、ユーザは、あたかも直接触れて操作するかのごとく、ディスプレイ14に表示されている画像を指示体を用いて操作することができる。ただし、例えばノートパソコンのタッチパッドや外付けのデジタイザのように、ディスプレイ14の表示面とは別に入力センサ15のセンサ面を設けることとしてもよい。
 センサ面の直下には、それぞれy方向に延在し、x方向に等間隔で配置された複数のx電極と、それぞれx方向に延在し、y方向に等間隔で配置された複数のy電極とが配置される。入力センサ15は、これらの電極を用いて、指示体の位置の検出とペンPからのデータの受信とを行う。以下、検出対象がペンPであると指である場合とに分けて、入力センサ15の処理を詳しく説明する。
 初めに検出対象がペンPである場合について説明すると、入力センサ15は、複数のx電極及び複数のy電極のいずれか一方を送信電極として用いて、所定のアップリンク信号を周期的に送信するよう構成される。このアップリンク信号には、未検出のペンPに対して割り当てる予定のローカルIDが含まれる。
 まだ入力センサ15とペアリングしていない状態のペンPは、上記x電極又はy電極との静電結合を通じてアップリンク信号を受信すると、その中からローカルIDを取り出して取得するとともに、アップリンク信号の受信タイミングに応じたタイミングでダウンリンク信号を送信する。この段階でペンPが送信するダウンリンク信号は、無変調の搬送波信号である位置信号のみによって構成される。入力センサ15は、この位置信号を入力センサ15内の複数のx電極及び複数のy電極のそれぞれで受信し、各電極での受信強度に基づいてペンPの位置を検出する(グローバルスキャン)とともに、次以降のアップリンク信号を用いてペンPとのペアリングを実行する。
 入力センサ15との間にペアリングを確立したペンPは、入力センサ15から周期的に受信されるアップリンク信号に応じて、上記位置信号と、筆圧などの送信データによって変調された搬送波信号であるデータ信号とを含むダウンリンク信号を送信する処理を行う。入力センサ15は、こうして送信された位置信号を前回検出した位置の近傍の各所定数本のx電極及びy電極で受信することによってペンPの位置を更新する(ローカルスキャン)とともに、データ信号を受信することによりペンPが送信したデータを取得する。そして、そのペンPに割り当てたローカルIDとともに、更新後の位置及び取得したデータをプロセッサ10に供給する。これによりオペレーティングシステム30は、ペンPごとに、位置と筆圧等のデータとを逐次取得することが可能になる。
 次に検出対象がユーザの指である場合について説明すると、入力センサ15は、複数のx電極及び複数のy電極のいずれか一方に所定の指検出用信号を供給し、複数のx電極及び複数のy電極のいずれか他方により受信する処理を周期的に実行するよう構成される。x電極とy電極の交点に指が接近していると、指とx電極及びy電極の間に発生する静電容量を通じて、入力センサ15により受信される指検出用信号の受信強度が小さくなる。入力センサ15は、この受信強度の変化を検出することにより、ユーザの指の位置を周期的に検出する。
 ここで、入力センサ15は、検出した指の位置を追跡するトラッキング処理を実行するよう構成される。具体的に説明すると、入力センサ15は、新たに指の位置を検出すると、その位置に対して指IDを付与し、検出した位置とともにプロセッサ10に供給するよう構成される。次のタイミングで前回検出した位置から所定範囲内の位置に指を検出した場合には、検出した位置に同じ指IDを付与し、検出した位置とともにプロセッサ10に供給する。これによりオペレーティングシステム30は、複数の指の位置が検出されている場合であっても、指IDによって各指の軌跡を個別に取得することが可能になる。
 計算機1のオペレーティングシステム30は、以上のようにして自機の入力センサ15から位置及びその他のデータ(ペンPから受信されたデータ、ローカルID、指IDを含む)が供給されると、供給された位置及びデータを含むレポートデータを生成し、通信装置12を介して計算機2に対して送信する処理を行う。これにより、計算機1の入力センサ15のセンサ面上でユーザが行った操作の内容が計算機2のオペレーティングシステム30に供給されることになる。
 図2(a)は、ペンPに関して計算機1のオペレーティングシステム30が生成するレポートデータRのフォーマットを示す図である。同図に示すように、ペンPに関して生成されるレポートデータRは、検出された位置を示す位置データPDと、ペンPから受信された筆圧を示す筆圧データPREと、上述したローカルID(LID)とを含んで構成される。筆圧データPREは、ペンPがセンサ面に接触している場合には0より大きい値となり、ペンPがセンサ面に接触していない場合には0となる。
 ペンPに関して生成されるスタートレポートSRは、位置データPD、筆圧データPRE、及びローカルIDに加え、ペンPがセンサ面に接触したことを示すペンダウン情報PenDownを含むレポートデータRである。プロセッサ10は、筆圧データPREが0から0より大きい値に変化したことに応じてスタートレポートSRを生成するよう構成される。
 また、ペンPに関して生成されるエンドレポートERは、位置データPD、筆圧データPRE、及びローカルIDに加え、ペンPがセンサ面から離脱したことを示すペンアップ情報PenUpを含むレポートデータRである。プロセッサ10は、筆圧データPREが0より大きい値から0に変化したことに応じてエンドレポートERを生成するよう構成される。
 図2(b)は、ユーザの指に関してプロセッサ10が生成するレポートデータRのフォーマットを示す図である。同図に示すように、ペンPに関して生成されるレポートデータRは、検出された位置を示す位置データPDと、上述した指ID(FID)とを含んで構成される。
 指に関して生成されるスタートレポートSRは、位置データPD及び指IDに加え、指の追跡を開始したことを示す追跡開始情報Finger Track Startを含んで構成される。プロセッサ10は、入力センサ15により新たな指のトラッキング処理が開始されたことに応じてスタートレポートSRを生成するよう構成される。
 指に関して生成されるエンドレポートERは、指IDに加え、トラッキング処理により一連の位置として追跡されていた指の動きが検出されなくなったことを示すロスト情報Finger Track Lossを含んで構成される。位置データPDは、指に関して生成されるエンドレポートERには含まれない。プロセッサ10は、入力センサ15が指のトラッキング処理を終了したことに応じてエンドレポートERを生成するよう構成される。
 図1に戻る。入力センサ15のセンサ面上でユーザが行う操作には、ピンチアウト、ピンチイン、ドラッグ、ローテーション、スワイプなど各種のジェスチャが含まれ得る。ただし、ピンチアウトは、センサ面に触れた2本の指の間隔を広げていくことにより、表示されている画像を拡大する操作であり、ピンチインは、センサ面に触れた2本の指の間隔を狭めていくことにより、表示されている画像を縮小する操作であり、ドラッグは、指示体をセンサ面上で摺動させることにより、表示されている画像を移動させる操作であり、ローテーションは、指示体をセンサ面上で摺動させることにより、表示されている画像を回転させる操作であり、スワイプは、指示体をセンサ面上で摺動させることにより、画面をスクロールさせる操作である。これらのジェスチャの検出は、計算機2のオペレーティングシステム30又は描画アプリケーション31により、計算機1から受信される一連のレポートデータRに基づいて実行される。
 描画アプリケーション31は、生成した画像に対し、上述のようにして検出されたジェスチャにより示される内容及び量の変形を付与することにより、変形画像を生成する機能を有している。こうして画像に付与される変形には、拡大、縮小、移動、回転、スクロールなどが含まれる。描画アプリケーション31によって生成された変形画像は、計算機2のデスクトップウインドウマネージャ30aを通じ、映像信号として計算機1に供給される。計算機1のデスクトップウインドウマネージャ30aは、こうして供給された映像信号により計算機1のディスプレイ14の表示を更新する。これにより計算機1のユーザは、自身の操作の結果として生成された変形画像を視認することが可能になる。また、計算機2のデスクトップウインドウマネージャ30aは、変形画像の映像信号を自機のディスプレイ14にも供給する。これにより計算機2のユーザも、計算機1のユーザと同様に変形画像を視認することが可能になる。
 図3は、計算機2のオペレーティングシステム30の機能ブロックを示す略ブロック図である。同図に示すように、オペレーティングシステム30は機能的に、上述したデスクトップウインドウマネージャ30aの他、それぞれFIFO(First In First Out)形式のキューである受信バッファ30b及び送信バッファ30cを有して構成される。このうち受信バッファ30bには、計算機1から受信されたレポートデータR(スタートレポートSR及びエンドレポートERを含む)が通信装置12を介して書き込まれる。
 描画アプリケーション31は、まず初めに、計算機1,2それぞれのディスプレイ14に表示する画像PICを生成し、送信バッファ30cの末尾に書き込む。その後、計算機1のユーザによる操作の結果を示すレポートデータRが受信バッファ30bに書き込まれるようになると、古い物から順にレポートデータRを読み出し、それまでに読み出した過去のレポートデータRを含む一連のレポートデータRに基づいてジェスチャの検出を行う。そして、検出したジェスチャに基づいて最新の画像PICを変形し、その結果を示す画像PICを送信バッファ30cの末尾に書き込む。
 デスクトップウインドウマネージャ30aは、送信バッファ30cから順次画像PICを読み出し、その都度、読み出した画像PICに基づいて映像信号を生成し、通信装置12及びディスプレイ14に供給する処理を行う。通信装置12は、供給された映像信号を計算機1に対して送信する。図示していないが、こうして送信された映像信号を受信した計算機1のデスクトップウインドウマネージャ30aは、受信した映像信号により計算機1のディスプレイ14の表示を更新する。これにより計算機1のユーザは、画像PICに操作の結果が反映されていく様子を視認できるようになる。また、デスクトップウインドウマネージャ30aから映像信号の供給を受けた計算機2のディスプレイ14は、供給された映像信号により表示中の画像を更新する。これにより計算機2のユーザも、計算機1において他のユーザが行った操作の結果が画像PICに反映されていく様子を視認できるようになる。
 ここで、以上の処理によれば、計算機1の入力センサ15上でユーザがジェスチャを行った後、そのジェスチャによる変形が計算機1のディスプレイ14上に表示される画像に反映されるまでには、計算機1と計算機2の間の通信を経る必要があることから、相当程度の処理遅延が発生する。この処理遅延のため、ユーザは、実際には十分な量のジェスチャを行っているにもかかわらず、まだジェスチャが足りていないと誤認し、余分なジェスチャを行ってしまう場合がある。そうすると、あたかも慣性が働いているかのように、過剰に画像が変形してしまうことになる。
 そこで本実施の形態による描画アプリケーション31は、計算機1から受信したレポートデータRがエンドレポートERであったことに応じて、画像の変形を打ち消す処理を実行する。具体的には、図3に示しているように、デスクトップウインドウマネージャ30aに対し、送信バッファ30cに蓄積されている1以上の画像PICのうちの少なくとも一部の送信を停止するよう指示する。この指示を受けたデスクトップウインドウマネージャ30aは、送信停止の対象となった画像PICを送信バッファ30cから破棄することにより、その送信を停止する。これにより、一連のジェスチャのうち最後の数回分に基づく変形を取り消すことができるので、画像が過剰に変形されてしまうことを防止できる。
 図4は、描画アプリケーション31によって実行される画像変形処理の処理フローを示す図である。以下、この図4も参照しながら、画像の変形を打ち消す処理について、より詳しく説明する。
 描画アプリケーション31は、まず前提として、計算機1,2のディスプレイ14に表示するための画像を生成し(ステップS1)、生成した画像を送信バッファ30cに書き込む(ステップS2)。その後、描画アプリケーション31は、受信バッファ30bからレポートデータRの取得を試み(ステップS3)、レポートデータRを取得できたか否かを判定する(ステップS4)。描画アプリケーション31は、ステップS4で取得できなかったと判定した場合にはステップS3を繰り返す一方、取得できたと判定した場合には、取得したレポートデータRをメモリ11に一時的に記憶したうえで(ステップS5)、取得したレポートデータRがエンドレポートERであるか否かを判定する(ステップS6)。
 ステップS6においてエンドレポートERでないと判定した場合、描画アプリケーション31は、それまでに取得した一連のレポートデータRに基づいてジェスチャの検出を試み(ステップS7)、ジェスチャを検出できたか否かを判定する(ステップS8)。その結果、ジェスチャを検出できなかった場合にはステップS3に戻って処理を繰り返す一方、ジェスチャを検出できた場合には、検出したジェスチャにより示される内容及び量の変形を画像に付与する(ステップS9)。ここで変形の対象となる画像は、描画アプリケーション31が前回送信バッファ30cに書き込んだ画像となる。ステップS9において変形画像を生成した描画アプリケーション31は、生成した変形画像を送信バッファ30cに書き込み(ステップS10)、ステップS3に戻る。
 ステップS6においてエンドレポートERであると判定した描画アプリケーション31は、予めメモリ11内に設定されている打ち消し画像数nを参照し、n=0であるか否かを判定する(ステップS11)。打ち消し画像数nの詳細については、後ほど図5~図8を参照して詳しく説明する。
 ステップS11でn=0であると判定した描画アプリケーション31は、処理をステップS3に戻す。この場合、画像の変形を打ち消す処理は行われないことになる。一方、ステップS11でn=0でないと判定した描画アプリケーション31は、n個前以降の画像の送信を停止するようデスクトップウインドウマネージャ30aを制御する(ステップS12)。これにより、エンドレポートERから遡ってn個のレポートデータR分の画像が送信バッファ30cから削除され、計算機1,2のディスプレイ14上に反映されなくなる。
 続いて描画アプリケーション31は、デスクトップウインドウマネージャ30aの制御が間に合ったか否かを判定する(ステップS13)。つまり、nの値が大きいと、ステップS11の実行時点で既にn個前以降の数個の画像が送信されてしまっていることがあり得る。このような場合、描画アプリケーション31は、デスクトップウインドウマネージャ30aの制御が間に合わなかったと判定する。ステップS13で間に合ったと判定した描画アプリケーション31は、処理をステップS3に戻す。一方、ステップS13で間に合わなかったと判定した描画アプリケーション31は、メモリ11に記憶しておいた一連のレポートデータRに基づいてn+1個前の画像(ジェスチャが行われなかったとした場合にディスプレイ14に表示されるべき巻き戻し画像)を再生成し、送信バッファ30cに書き込む(ステップS14)。これにより、ディスプレイ14上に表示されている画像が一旦は過剰に変形されてしまうものの、その直後に、過剰な変形を受けていない画像に戻すことが可能になる。
 図5は、上述した打ち消し画像数nをメモリ11に設定するために描画アプリケーション31が行う打ち消し画像数設定処理の処理フローを示す図である。この処理を開始した描画アプリケーション31は、同図に示すように、まず初めに環境情報を取得する(ステップS20)。
 環境情報は計算機1の環境を示す情報であり、例えば、計算機1のディスプレイ14のサイズ、及び、計算機1が指示体の位置を検出してから、該位置に対応する画像が計算機1のディスプレイ14に表示されるまでに要する時間T_delayのいずれか1つを含んで構成される。描画アプリケーション31は、計算機1からディスプレイ14のサイズを示す情報を受信することによって、計算機1のディスプレイ14のサイズを取得すればよい。また、描画アプリケーション31は、計算機1のオペレーティングシステム30に時間T_delayを測定させ、その結果を計算機1から受信することによって、時間T_delayを取得すればよい。時間T_delayについては、後ほど図6を参照して詳しく説明する。
 次に描画アプリケーション31は、取得した環境情報に基づいて打ち消し画像数nを決定する(ステップS21)。一例では、計算機1のディスプレイ14のサイズが十分小さい場合にはn=0とし(すなわち、画像の変形を打ち消す処理を実行しないこととし)、ディスプレイ14のサイズが大きくなるほどnを大きくすればよい。画像の過剰な変形は、それが表示されるディスプレイ14のサイズが大きいほど目立つことから、このようにして打ち消し画像数nを決定することにより、画像の過剰な変形を目立たない範囲に留めることが可能になる。
 図6は、時間T_delayと打ち消し画像数nとの関係を説明する図である。同図に示すように、計算機1においてユーザがジェスチャを入力した時刻t1から、対応する変形画像が計算機1のディスプレイ14に表示される時刻t2までの間には、時間T_delay分の遅延が発生する。そこで描画アプリケーション31は、図6に示すように、エンドレポートERから遡って時間T_delay分のレポートデータR分のジェスチャを取り消すこととなるよう、打ち消し画像数nを決定すればよい。このようにして打ち消し画像数nを決定することにより、時間T_delayに応じて最適な量の打ち消しを実行することが可能になる。
 図5に戻る。打ち消し画像数nを決定した描画アプリケーション31は、決定した打ち消し画像数nをメモリ11に設定する(ステップS22)。これ以後、描画アプリケーション31は、ステップS22で設定した打ち消し画像数nを図4のステップS11,S12において参照することになる。
 図7は、打ち消し画像数nをメモリ11に設定するために描画アプリケーション31が行う打ち消し画像数設定処理の他の例による処理フローを示す図である。この処理を開始した描画アプリケーション31は、同図に示すように、まず初めにテスト用インターフェイスを計算機1に対して送信する(ステップS30)。
 図8は、ステップS30で送信されるテスト用インターフェイスの一例であるウインドウ画像40を示す図である。同図に示すように、ウインドウ画像40は、描画エリア41と、描画エリア41内に配置されたテスト画像42と、スライダ43と、決定ボタン44とを有して構成される。テスト画像42は、ユーザが行うジェスチャにより変形可能に構成された画像である。例えば、ユーザがテスト画像42の上でピンチアウトを行うと、テスト画像42が拡大表示される。スライダ43は、ユーザ操作により打ち消し画像数nを調整するためのコンポーネントであり、0から所定の数値(図8の例では10)までの任意の整数を選択可能に構成される。スライダ43において0を選択することは、画像の変形を打ち消す処理を実行しないことを意味する。また、スライダ43において1以上の値を選択することは、画像の変形を打ち消す処理の度合いを設定することを意味する。決定ボタン44は、打ち消し画像数nをスライダ43に設定されている値に確定させるためのボタンである。
 図7に戻る。描画アプリケーション31は、スライダ43の現在位置に基づき、打ち消し画像数nを仮決定する(ステップS31)。そして、仮決定した打ち消し画像数nを用い、ユーザ操作に基づいて画像変形処理を実行する(ステップS32)。ステップS32の処理は、具体的には図4に示した画像変形処理であり、図7に示した処理のバックグラウンドで実行される。描画アプリケーション31は、ステップS31,S32を実行している間、決定ボタン44の状態を監視する(ステップS33)。そして、決定ボタン44が押下(クリック又はタップ)されたことに応じ、スライダ43の現在位置に基づいて打ち消し画像数nを決定する処理を行い(ステップS34)、決定した打ち消し画像数nをメモリ11に設定する(ステップS35)。以上の処理により、計算機1のユーザは、実際の変形の状況を確認しながら、打ち消し画像数nの最適値を選択することが可能になる。
 以上説明したように、本実施の形態による画像処理方法によれば、エンドレポートERに応じて画像の変形が打ち消されるので、ジェスチャによる画像の変形が処理遅延のために過剰になってしまうことを防止可能となる。
 また、計算機1のディスプレイ14のサイズや、計算機1が指示体の位置を検出してから、該位置に対応する画像が計算機1のディスプレイ14に表示されるまでに要する時間T_delayなどに基づいて打ち消し画像数nを設定するので、環境に応じて打ち消し画像数nを最適化することが可能になる。
 さらに、ユーザが行うジェスチャにより変形可能に構成されたテスト画像と、打ち消し画像数nを選択するためのスライダとを含むテスト用インターフェイスを計算機1のディスプレイに表示しているので、計算機1のユーザは、実際の変形の状況を確認しながら、打ち消し画像数nの最適値を選択することが可能になる。
 なお、本実施の形態では描画アプリケーション31が画像の変形を行うものとして説明したが、デスクトップウインドウマネージャ30aが画像の変形を行うこととしてもよい。
 図9は、本実施の形態の変形例による計算機2のオペレーティングシステム30の機能ブロックを示す略ブロック図である。本変形例によれば、描画アプリケーション31が生成した画像PICは、デスクトップウインドウマネージャ30aにより送信バッファ30cに書き込まれる。そしてデスクトップウインドウマネージャ30aは、受信バッファ30bからレポートデータRを順次読み出し、それまでに読み出した過去のレポートデータRを含む一連のレポートデータRに基づいてジェスチャの検出を行い、検出したジェスチャに基づいて最新の画像PICを変形し、その結果を示す画像PICを送信バッファ30cの末尾に書き込む処理を行う。この場合における画像の変形を打ち消す処理は、デスクトップウインドウマネージャ30aの内部処理として実行される。このようにしても、計算機1,2のディスプレイ14にユーザが行った操作の結果を反映させた画像PICを表示し、かつ、画像PICが過剰に変形されてしまうことを防止可能となる。
 また、本実施の形態では計算機1のディスプレイ14のサイズに基づいて打ち消し画像数nを設定する例を説明したが、計算機1における指示体の移動速度に基づいて打ち消し画像数nを設定することとしてもよい。なお、移動速度は単位時間あたりに指示体が移動する距離とし、距離の単位は、センサメートルなどの長さであってもよいし、画素数であってもよい。この場合、描画アプリケーション31は、指示体の移動速度の平均値を計算機1に取得させ、取得された平均値が小さいほど打ち消し画像数nを小さくすることが好ましい。指示体の移動速度が小さいほど画像の過剰な変形が目立たなくなるので、このようにしても、最適な量だけ画像変形の打ち消しを行うことが可能になる。
 次に、本発明の第2の実施の形態による画像処理方法について説明する。本実施の形態による画像処理方法を実行する計算機1,2のシステム構成は、図1と同様である。本実施の形態による画像処理方法は、計算機2において画像変形の打ち消し処理を実行することに代え、計算機1から送信するレポートデータRをデータサイズの小さいデータ(具体的には、キーボード又はマウス用のレポートデータ)に置き換えて送信する点で、第1の実施の形態による画像処理方法と相違する。以下、相違点に着目して説明する。
 図10は、計算機1のオペレーティングシステム30によって実行されるレポートデータ送信処理の処理フローを示す図である。同図に示すように、本実施の形態による計算機1のオペレーティングシステム30は、入力センサS40から位置及びデータを受信すると(ステップS40)、受信した位置及びデータをメモリ11に一時的に記憶する(ステップS41)。そして、それまでに受信した一連の位置及びデータに基づいてジェスチャの検出を試み(ステップS42)、ジェスチャを検出できたか否かを判定する(ステップS43)。ステップS41~S43の処理は、図4に示したステップS5,S7,S8の処理を計算機1内で実行していることに他ならない。
 ステップS43においてジェスチャを検出できたと判定した場合、計算機1のオペレーティングシステム30は、検出したジェスチャが後述する対応テーブルに格納されている既定のジェスチャに該当するか否かを判定する(ステップS44)。対応テーブルの詳細については、図11を参照しながら後述する。ステップS44において既定のジェスチャに該当すると判定した計算機1のオペレーティングシステム30は、検出したジェスチャに対応するキー操作及びマウス操作を対応テーブルから取得し、取得した操作を示すキーボード又はマウス用のレポートデータ(入力センサ15とは異なる種別のデバイスのためのレポートデータ)を計算機2に対して送信する(ステップS46)。一方、ステップS43においてジェスチャを検出できなかったと判定した場合、及び、ステップS44において既定のジェスチャに該当しないと判定した場合、計算機1のオペレーティングシステム30は、入力センサ15用のレポートデータを計算機2に対して送信する(ステップS47)。ステップS47で送信されるレポートデータは、第1の実施の形態で説明したレポートデータと同じものである。
 図11(a)及び図11(b)はそれぞれ、ジェスチャの種類と、描画アプリケーション31に登録されているコマンドとを対応付ける対応テーブルの例を示す図である。コマンドは、キー操作及びマウス操作のいずれか一方又はこれらの組み合わせにより構成される。計算機1のオペレーティングシステム30は、図10のステップS45においてこの対応テーブルを参照することにより、検出したジェスチャに対応するキー操作又はマウス操作を取得する。
 各対応テーブルの例について具体的に説明すると、まず図11(a)の例では、ピンチアウトに「コントロール」キーと「+」キーの同時押下が対応付けられ、ピンチインに「コントロール」キーと「-」キーの同時押下が対応付けられる。したがって、計算機1のオペレーティングシステム30は、例えばステップS42で検出したジェスチャがピンチアウトであった場合、ステップS44において、検出したジェスチャに対応するキー操作又はマウス操作として「コントロール」キーと「+」キーの同時押下を取得し、ステップS46において、「コントロール」キーと「+」キーの同時押下を示すレポートデータを送信することになる。
 次に図11(b)の例では、ピンチアウトに「左クリック」及び「マウスホイール上スクロール」の組み合わせが対応付けられ、ピンチインに「左クリック」及び「マウスホイール下スクロール」の組み合わせが対応付けられ、スワイプに「左クリック」及び「移動方向」の組み合わせが対応付けられる。したがって、計算機1のオペレーティングシステム30は、例えばステップS42で検出したジェスチャがスワイプであった場合、ステップS44において、検出したジェスチャに対応するキー操作又はマウス操作として「左クリック」及び「移動方向」の組み合わせを取得し、ステップS46において、「左クリック」及び「移動方向」を示すレポートデータを送信することになる。なお、「移動方向」の具体的な内容は、入力センサ15から入力された一連の位置(ペンP又は指の位置)により示される指示体の移動方向に基づいて決定すればよい。
 以上説明したように、本実施の形態による画像処理方法によれば、ペンP又は指によって実行されたジェスチャをデータサイズの小さいデータ(具体的には、キーボード又はマウス用のレポートデータ)に置き換えて送信することができる。したがって処理遅延を小さくすることができるので、第1の実施の形態と同様に、ジェスチャによる画像の変形が処理遅延のために過剰になってしまうことを防止可能となる。
 以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
1,2     計算機
10      プロセッサ
11      メモリ
12      通信装置
13      入力デバイス
14      ディスプレイ
15      入力センサ
30      オペレーティングシステム
30a     デスクトップウインドウマネージャ
30b     受信バッファ
30c     送信バッファ
31      描画アプリケーション
40      ウインドウ画像(テスト用インターフェイス)
41      描画エリア
42      テスト画像
43      スライダ
44      決定ボタン
ER      エンドレポート
FID     指ID
Finger Track Start 追跡開始情報
Finger Track Loss ロスト情報
LID     ローカルID
P       ペン
PD      位置データ
PenDown ペンダウン情報
PenUp   ペンアップ情報
PIC     画像
PRE     筆圧データ
R       レポートデータ
SR      スタートレポート

Claims (19)

  1.  オペレーティングシステムを実行し、リモート計算機のディスプレイに表示される画像を生成するホスト計算機と、
     センサ面を有する入力センサ、及び、前記ディスプレイを備え、前記ホスト計算器から供給される前記画像を前記ディスプレイに表示するリモート計算機と、
     を含むシステムにおいて実行される画像描画方法であって、
     前記リモート計算機は、前記センサ面上における指示体の位置を前記入力センサを用いて所定のサンプリングレートで逐次検出し、前記指示体の位置を検出する都度、検出した位置を含むレポートデータを前記ホスト計算機に逐次送信し、
     前記ホスト計算機は、前記リモート計算機から受信される一連のレポートデータに基づいてジェスチャを検出し、検出したジェスチャにより示される内容及び量の変形を前記画像又は前回送信した変形画像に対して付与してなる変形画像を生成して前記リモート計算機に送信し、
     前記ホスト計算機は、前記リモート計算機から受信した前記レポートデータが前記指示体の前記センサ面からの離脱を示すエンドレポートであったことに応じて、前記変形を打ち消す処理を実行する、
     画像描画方法。
  2.  前記打ち消す処理は、前記エンドレポートから遡って、前記リモート計算機が前記指示体の位置を検出してから該位置に対応する前記画像が前記ディスプレイに表示されるまでに要する時間分のレポートデータによる変形を打ち消す処理である、
     請求項1に記載の画像描画方法。
  3.  前記ホスト計算機は、
      生成した1以上の前記変形画像を蓄積する送信バッファと、
      前記送信バッファに蓄積されている1以上の前記変形画像を順次読み出して送信する送信部と、を有し、
     前記打ち消す処理は、前記リモート計算機から受信した前記レポートデータが前記指示体の前記センサ面からの離脱を示すエンドレポートであったことに応じて、前記送信バッファに蓄積されている1以上の前記変形画像のうちの少なくとも一部の送信を停止する処理である、
     請求項1に記載の画像描画方法。
  4.  前記送信バッファに蓄積されている1以上の前記変形画像のうちの少なくとも一部の送信を停止する処理は、送信停止対象の前記変形画像を前記送信バッファから破棄する処理である、
     請求項3に記載の画像描画方法。
  5.  前記打ち消す処理は、前記ジェスチャが行われなかったとした場合に前記ディスプレイに表示されるべき巻き戻し画像を生成して前記リモート計算機に送信する処理を含む、
     請求項1乃至4のいずれか一項に記載の画像描画方法。
  6.  前記打ち消す処理は、前記エンドレポートから遡って所定数のレポートデータ分の変形を打ち消す処理であり、
     前記所定数は前記ホスト計算機のメモリに予め設定される、
     請求項1乃至5のいずれか一項に記載の画像描画方法。
  7.  前記所定数は前記リモート計算機の環境を示す環境情報に基づいて決定される、
     請求項6に記載の画像描画方法。
  8.  前記ホスト計算機は、前記リモート計算機の環境を示す環境情報に応じて、前記打ち消す処理の実行の有無を設定可能に構成される、
     請求項1乃至7のいずれか一項に記載の画像描画方法。
  9.  前記環境情報は、前記ディスプレイのサイズ、及び、前記リモート計算機が前記指示体の位置を検出してから該位置に対応する前記画像が前記ディスプレイに表示されるまでに要する時間のいずれか1つを含む、
     請求項7又は8に記載の画像描画方法。
  10.  前記ホスト計算機は、前記打ち消し処理のテスト用インターフェイスを前記ディスプレイに表示させ、
     前記テスト用インターフェイスは、前記ジェスチャによる変形の対象となるテスト画像と、前記打ち消し処理の有無を設定するコンポーネントとを含み、
     前記ホスト計算機は、前記コンポーネントにおける設定に応じて、前記打ち消す処理の実行の有無を切り替える、
     請求項1乃至8に記載の画像描画方法。
  11.  前記コンポーネントは、前記打ち消し処理の度合いを設定可能に構成された部品を含み、
     前記ホスト計算機は、前記コンポーネントにおける設定に応じて、前記打ち消す処理の度合いを切り替える、
     請求項10に記載の画像描画方法。
  12.  前記ジェスチャは、ピンチアウト、ピンチイン、ドラッグ、ローテーションのいずれかである、
     請求項1乃至11のいずれか一項に記載の画像描画方法。
  13.  前記変形は、拡大、縮小、移動、回転のいずれかである、
     請求項1乃至12のいずれか一項に記載の画像描画方法。
  14.  前記変形は、前記オペレーティングシステム上で動作するアプリケーション、又は、前記オペレーティングシステムに含まれるデスクトップウインドウマネージャのいずれかによって実行される、
     請求項1乃至13のいずれか一項に記載の画像描画方法。
  15.  前記指示体は指であり、
     前記リモート計算機は、指の位置を追跡するトラッキング処理を実行するよう構成され、
     前記エンドレポートは、前記トラッキング処理により一連の位置として追跡されていた指の動きが検出されなくなったことを示す情報を含むデータである、
     請求項1乃至14のいずれか一項に記載の画像描画方法。
  16.  前記指示体は、筆圧を検出し、前記リモート計算機に対して送信可能に構成されたペンであり、
     前記エンドレポートは、前記筆圧が0より大きい値から0に変化したことを示すペンアップ情報を含むデータである、
     請求項1乃至14のいずれか一項に記載の画像描画方法。
  17.  オペレーティングシステムを実行し、リモート計算機のディスプレイに表示される画像を生成するホスト計算機と、
     センサ面を有する入力センサ、及び、前記ディスプレイを備え、前記ホスト計算器から供給される前記画像を前記ディスプレイに表示するリモート計算機と、
     を含むシステムにおいて実行される画像描画方法であって、
     前記リモート計算機は、
      前記センサ面上における指示体の位置を前記入力センサを用いて所定のサンプリングレートで逐次検出し、検出した位置により示される前記指示体の動きが既定のジェスチャに該当するか否かを判定し、
      前記指示体の動きが既定のジェスチャに該当しないと判定した場合には、前記入力センサ用のレポートデータを生成して前記ホスト計算機に送信し、
      前記指示体の動きが既定のジェスチャに該当すると判定した場合には、前記入力センサとは異なる種別のデバイスのためのレポートデータを生成して前記ホスト計算機に送信する、
     画像描画方法。
  18.  前記ジェスチャは、ピンチアウト、ピンチイン、スワイプのいずれかであり、
     前記異なる種別のデバイスはマウスであり、
     前記異なる種別のデバイスのためのレポートデータは、前記マウスのホイールスクロール及びクリックの少なくとも一方を含む、
     請求項17に記載の画像描画方法。
  19.  前記リモート計算機は、前記ジェスチャの種類と、前記ホスト計算機で実行されているアプリケーションに登録されているコマンドとを対応付けるテーブルを予め記憶しており、
     前記既定のジェスチャは、前記テーブルに記憶されている種類のジェスチャである、
     請求項17又は18に記載の画像描画方法。
PCT/JP2022/001733 2021-02-05 2022-01-19 画像描画方法 WO2022168603A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022579426A JPWO2022168603A1 (ja) 2021-02-05 2022-01-19
EP22749479.6A EP4290826A1 (en) 2021-02-05 2022-01-19 Image drawing method
US18/362,820 US20230377222A1 (en) 2021-02-05 2023-07-31 Image drawing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-017152 2021-02-05
JP2021017152 2021-02-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/362,820 Continuation US20230377222A1 (en) 2021-02-05 2023-07-31 Image drawing method

Publications (1)

Publication Number Publication Date
WO2022168603A1 true WO2022168603A1 (ja) 2022-08-11

Family

ID=82740601

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/001733 WO2022168603A1 (ja) 2021-02-05 2022-01-19 画像描画方法

Country Status (4)

Country Link
US (1) US20230377222A1 (ja)
EP (1) EP4290826A1 (ja)
JP (1) JPWO2022168603A1 (ja)
WO (1) WO2022168603A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016189127A (ja) 2015-03-30 2016-11-04 日本電気株式会社 仮想マシン及びリモートデスクトップシステム
JP2017525223A (ja) * 2014-06-19 2017-08-31 グーグル インコーポレイテッド メディアレコメンデーションのタイムリーな提供
JP2019145090A (ja) * 2017-05-16 2019-08-29 アップル インコーポレイテッドApple Inc. デジタルアシスタントサービスの遠距離拡張

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017525223A (ja) * 2014-06-19 2017-08-31 グーグル インコーポレイテッド メディアレコメンデーションのタイムリーな提供
JP2016189127A (ja) 2015-03-30 2016-11-04 日本電気株式会社 仮想マシン及びリモートデスクトップシステム
JP2019145090A (ja) * 2017-05-16 2019-08-29 アップル インコーポレイテッドApple Inc. デジタルアシスタントサービスの遠距離拡張

Also Published As

Publication number Publication date
US20230377222A1 (en) 2023-11-23
EP4290826A1 (en) 2023-12-13
JPWO2022168603A1 (ja) 2022-08-11

Similar Documents

Publication Publication Date Title
JP6009454B2 (ja) コンピューティング装置の動きを利用するコンピューティング装置と相互作用するときに発生する入力イベントの解釈の強化
US9013438B2 (en) Touch input data handling
KR101183381B1 (ko) 플릭 제스쳐
US8847978B2 (en) Information processing apparatus, information processing method, and information processing program
EP2652579B1 (en) Detecting gestures involving movement of a computing device
US7986307B2 (en) Mechanism for allowing applications to filter out or opt into tablet input
KR100636184B1 (ko) 정보 처리 장치의 표시 화면에 표시되는 표시 윈도우의위치 제어 방법 및 위치 제어 장치
US10599317B2 (en) Information processing apparatus
US20060267958A1 (en) Touch Input Programmatical Interfaces
JP2014241139A (ja) 仮想タッチパッド
EP2551759A2 (en) Gesture recognition method and touch system incorporating the same
KR20120135694A (ko) 디바이스에서 제스처를 이용한 웹브라우저 인터페이스 제공 장치 및 방법
WO2010032268A2 (en) System and method for controlling graphical objects
US20160195975A1 (en) Touchscreen computing device and method
US11550409B2 (en) Sensor system
KR20080066416A (ko) 터치 스크린을 갖는 이동 단말기의 사용자 인터페이스 방법
JP2000276281A (ja) マウスポインタ座標制御方法及び装置
WO2009119716A1 (ja) 情報処理システム、情報処理装置、方法及びプログラム
WO2022168603A1 (ja) 画像描画方法
EP3433713B1 (en) Selecting first digital input behavior based on presence of a second, concurrent, input
JP2014160416A (ja) 閲覧システム及びプログラム
EP4177702A1 (en) Apparatus and method for supporting touch input events
CN114327147A (zh) 一种触屏系统
KR101429581B1 (ko) 사용자 제스쳐를 검출하여 사용자 인터페이스를 제어하는 방법 및 그 단말
JP2014115825A (ja) 情報処理装置及びその制御方法、並びにプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22749479

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022579426

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022749479

Country of ref document: EP

Effective date: 20230905