1. Field of the Invention
The disclosures discussed herein relate to a system to which two or more information processing apparatuses having respective display devices with screens aligned in an array to display an image and capable of communicating with one other are connected.
2. Description of the Related Art
Whiteboards are frequently used as a technique for improving intellectual productivity of the conferences and meetings. Such whiteboards allow one or more participants to write and display information. Moreover, to prevent one's ideas and thoughts from being interrupted due to the limited size of the whiteboard, an attempt has been made to make the entire wall of the conference room or the like with writable or paintable materials so as to overcome the limited size of the whiteboard. With the above technique, the participants of the conference or the like may write their ideas and thoughts without being interrupted by using the entire wall of the conference room as a writing and displaying space.
Meanwhile, there are known in the art electronic whiteboards implemented by a touch panel display to overcome the limited size of the whiteboard. In such an electronic white board, the touch panel incorporates content of user's writing on the whiteboard by using positional information detected by the touch panel, the incorporated content being reflected on a screen uniformly formed with the touch panel.
Hence, the user may be able to draw or display characters and the like by using the touch panel as well as allowing the touch panel to electronically incorporate the content of the drawing in a manner similar to the whiteboard. The user may be able to redisplay or reprocess the electronically incorporated content of the writing on the whiteboard by the extensive application of the above technique.
However, the display size of the touch panel is physically limited. Hence, compared to the entire wall of the conference room or the like serving as a writable or paintable whiteboard, the touch panel display may have a functional limitation of not acquiring a full view of the display. It is possible for the user to handle the display size as semi-infinite space by using a screen scroll function. However, the scrolling may physically interrupt the user's thinking.
Japanese Laid-open Patent Publication No. 2003-271118 (hereinafter referred to as “Patent Document 1”), for example, proposes a multi-display technology to acquire a full view with wider area of the display. In this technology, a number of touch panels are aligned in an array to display a full view. Patent Document 1 discloses a method for specifying positions of plural image display devices by receiving an input of each of the positions of the image display devices when a multi-screen display environment is constructed with the image display devices.
In Patent Document 1, a multi-display is implemented by aligning plural touch panels in an array, which provides advantages of allowing the entire wall of a conference room or the like to serves in a whiteboard and allowing the plural touch panels to serves in a whiteboard. Further, in this technology, it is possible to acquire a full view similar to that obtained with the entire wall of the conference room or the like that serves in the whiteboard by increasing the number of touch panels.
However, the related art multi-display technology does not provide an interlocking function between the touch panel displays. Hence, display lag (delay in displaying) is frequently observed across the plural displays that display a drawing object, which may adversely affect the capability of intuitive operations on a touch panel that is otherwise the primary advantage of the touch panel.
Accordingly, it is a general object in one embodiment of the present invention to provide a panel system capable of preventing display lag of an image displayed across plural displays in the panel system having the displays aligned in an array that substantially obviates one or more problems caused by the limitations and disadvantages of the related art.
In one aspect of the embodiment, there is provided a system that includes a plurality of information processing apparatuses each having a display device configured to display an image, at least two of the information processing apparatuses being capable of communicating with each other. In the system, a first information processing apparatus includes a first display controller configured to control a first display device of the first information processing apparatus to display a display target; a specified position detector configured to detect a position specified by a specifying operation with respect to a display surface of the first display device of the first information processing apparatus; a receiver configured to receive movement of a display position of the display target displayed on the first display device of the first information processing apparatus based on the position detected by the specified position detector; a movement information calculator configured to calculate movement information associated with the movement of the display position of the display target received by the receiver; a determiner configured to determine whether to transmit display target information associated with the display target and the movement information of the display target to a second information processing apparatus based on the movement information calculated by the movement information calculator; and a transmitter configured to transmit the display target information and the movement information of the display target to the second information processing apparatus when the determiner has determined to transmit the display target information and the movement information of the display target to the second information processing apparatus; and the second information processing apparatus includes a second display controller configured to control a second display device of the second information processing apparatus to display the display target based on the display target information and the movement information of the display target transmitted by the transmitter.
Other objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings.
In the following, a description is given of embodiments of the present invention with reference to the accompanying drawings.
In
In
In
In
As described above, simply connecting two touch panels 1 and 2 does not allow the touch panel 2 to smoothly display the object without delay or interruption when the touch panel 1 transfers the object to the touch panel 2. For example, as illustrated in
To prevent such latency, the touch panel 2, which is requested by the touch panel 1 to display the object, may be caused to display the object at an end of the touch panel 2 while the touch panel 1 still displays the object. However, in this case, the position of the object may change or the object appears temporarily stopped. Hence, the object does not appear to be transferred smoothly without delay or interruption from the touch panel 1 to the touch panel 2.
Note that the object may be transferred without the above disadvantageous display effect such as delay or interruption when there is a controller configured to control these two touch panels as a whole.
The following embodiments may provide a panel system capable of transferring an object between plural touch panels smoothly without being provided with a controller configured to control the touch panels as a whole to display an image.
It may be particularly important for a user to move the object 14 from the touch panel 1-1 to the touch panel 1-2 smoothly without delay or interruption (with little time lag) when the user moves the object 14 relatively fast (with a relatively high velocity). When the user moves the object 14 slowly, the object 14 appears to move consistently from the touch panel 1-1 to the touch panel 1-2 without delay or interruption, despite the fact that the touch panel 1-2 displays the object 14 at a position where the user has touched with the PD after the object 14 has reached a bezel (also called a “frame” or a “rim”) of the touch panel 11. Moreover, when the object 14 is moved to the touch panel 1-2 against the user's intention to move the object merely within the touch panel 1-1 (i.e., when the user slowly moves the object 14 to the end of the touch panel 1-1), the user may perceive the movement inconsistently.
Accordingly, in the following embodiments, an illustration is given of a case, based on the assumption in which the object 14 that is moving relatively fast is transferred from the touch panel 1-1 to the touch panel 1-2.
The touch panel 1-1 determines to transfer the object 14 in a case where the selected object 14 is within the transfer triggering area 15, and the magnitude (velocity) of the moving vector is the threshold or above. When the touch panel 1-1 has determined to transfer the object 14, the touch panel 1-1 transfers the object 14 to the touch panel 1-2. The moving vector is described later; however, the moving vector is an example of moving object information in the claims.
Thereafter, the touch panel 1-1 continuously draws the object 14 to the end of the touch panel 1-1 as illustrated in
As illustrated in
As described above, in the panel system 500 according to the first embodiment, even though the panel system 500 is not provided with a controller configured to control the touch panels as a whole, the object 14 may be transferred between the touch panels smoothly without delay or interruption by transferring the object 14 within the transfer triggering area 15 to the touch panel 1-2 before the object 14 reaches the end of the touch panel 1-1.
There are many types of the touch panels 100 such as a resistive touch panel, an electrostatic capacitance touch panel, an electromagnetic induction touch panel, an ultrasonic surface-acoustic-wave touch panel, an infrared scanner touch panel, and an infrared radiation shielding triangulation touch panel.
The resistive touch panel is configured to detect an operation position based on electrical conductivity generated from the pressed surface. The resistive touch panel is configured to be handled not only by a user's finger wearing or without wearing a glove but is also configured to be handled by a pen. The electrostatic capacitance touch panel is configured to detect an operation position by generating an electric field over the surface of the panel to detect a change in the surface charge of the touched part. The electrostatic capacitance touch panel is not configured to be handled by a pen or a user's finger wearing a glove. The electromagnetic induction touch panel is configured to detect an operation position based on detected electromagnetic energy generated from a sensor on the panel side when a dedicated pen presses a screen of the touch panel. The electromagnetic induction touch panel is not configured to be handled without the dedicated pen. The ultrasonic surface-acoustic-wave touch panel is configured to detect an operation position based on a change in an acoustic wave on a screen of the touch panel due to absorption in a pressed part of the screen when the acoustic wave is applied to the entire surface of the touch panel. The ultrasonic surface-acoustic-wave touch panel is not configured to be handled by a pen or a user's finger wearing a glove. The infrared scanner touch panel is configured to detect an operation position where light is shield by being pressed with a pen or a user's finger when light emitters and light receivers are disposed around the touch panel. The infrared scanner touch panel is configured to be handled not only by a user's finger wearing or without wearing a glove but also by a pen. The infrared radiation shielding triangulation touch panel is configured to detect an operation position where infrared rays are intercepted by the triangulation. The infrared radiation shielding triangulation touch panel is configured to be handled not only by a user's finger wearing or without wearing a glove but also by a pen.
There are a great number of additional types of the touch panels 100 that are derived from those described above. The touch panel 100 of the first embodiment may be any of the above-described types. Moreover, it is not necessary that the position detection methods of the touch panels that form the panel system 500 are identical.
The bracket 12 includes I/Fs 11 for attaching connectors of the touch panels 100 to respective places of the bracket 12. Each of the I/Fs 11 is provided with a unique I/F number in advance, and the I/Fs 11 are electrically connected to one another via wired or wireless communications.
Each of the touch panels 100 attached to the corresponding place of the bracket 12 via the IF reads a corresponding one of I/F numbers of the IFs. Each I/F number may include positional information in the panel system 500, and may be represented by the number enclosed by brackets “( )” as illustrated in
The bracket 12 connects between the touch panels in a “one vs n” configuration or in a bus configuration. For example, the touch panel 1-1 may be in communication with the touch panels 1-2, 1-3, 2-1, 2-2, and 2-3. Likewise, each of the touch panels 1-2, 1-3, 2-1, 2-2, and 2-3 is connected to other touch panels in the “one vs n” configuration. Note that each of the touch panels is not necessarily connected in the “one vs n” configuration. Each of the touch panels may be connected only to the touch panels to which that touch panel may possibly transfer the object. For example, from the view point of the touch panel 1-1, the touch panels 1-2, 2-1, and 2-2 are those to which the touch panel 1-1 may have possibility of transferring the object 14.
As illustrated in
The touch panels 100 exchange their IDs with one another via wireless communications. Examples of specifications of the wireless communications are as follows.
Wireless LAN (infrastructure mode)
Wireless LAN (ad-hoc mode)
Bluetooth (registered trademark), etc.
In the infrastructure mode, six touch panels 100 connected to an access point form one network. The six touch panels 100 are manually or automatically provided with non-overlapped (i.e., unique) IP addresses. Hence, each of the touch panels 100 is capable of acquiring IP addresses and MAC addresses of other touch panels 100 by sending a Ping command to the touch panels 100 having the same network address (i.e., connected to the same access point). Thus, the IP addresses and MAC addresses may be used as identifiers IDs in this case. Further, any numbers, the alphabet, symbols, and characters may be combined to form an identifier ID. For example, a touch panel having an identifier ID called “A” may be able to detect touch panels 100 having respective identifiers IDs B, C, D, E, and F.
In the ad-hoc mode, a pair of touch panels 100 forms one network. Likewise, each of the touch panels 100 is manually or automatically provided with a non-overlapped (i.e., unique) IP address, each of the pair of the touch panels may mutually acquire its counterpart IP address and MAC address. Thus, the IP addresses and MAC addresses may be used as the identifiers IDs similar to those described the above. For example, the touch panel 100 having the identifier “A” may be able to detect the presence of the touch panel 100 having an identifier “B” by communicating with the touch panel 100 having the identifier “B”. Subsequently, the touch panel 100 having the identifier “A” may be able to detect the presence of the touch panels 100 having respective identifiers IDs C, D, E, and F by communicating with the touch panels 100 having the respective identifiers IDs C, D, E, and F. Likewise, the touch panel 100 having the identifier “A” may be able to detect the presence of other touch panels 100 by communicating with the other touch panels 100 via the ad-hoc mode communications.
In the Bluetooth case, once pairing is performed, one of the touch panels 100 serving as a master and the other five touch panels 100 serving as slaves may form a piconet. Each slave is identified by a logical address. Hence, the touch panel 100 serving as a master may be able to detect the presence of other touch panels 100 identified by the logical addresses.
Hence, even though each of the touch panels 100 may be able to detect the presence of other touch panels 100 by the respective identifiers ID, the touch panels 100 fail to detect the disposed positions of the touch panels 100 themselves. Thus, each of the touch panels 100 is configured to detect its disposed place as follows.
Initially, each of the touch panels 100 displays the disposed pattern that the user has selected from
Each of the touch panels 100 may be able to specify a disposed position (disposed place) of itself in the bracket 12. That is, the touch panel having the identifier ID “A” is specified as being disposed at a place indicated by “1-1”, the touch panel having the identifier ID “B” is specified as being disposed at a place indicated by “1-2”, the touch panel having the identifier ID “C” is specified as being disposed at a place indicated by “1-3”, the touch panel having the identifier ID “D” is specified as being disposed at a place indicated by “2-1”, the touch panel having the identifier ID “E” is specified as being disposed at a place indicated by “2-2”, and the touch panel having the identifier ID “F” is specified as being disposed at a place indicated by “2-3”.
The touch panel 100 includes a CPU 101 configured to control operations of the entire touch panel 100, a ROM 102 storing programs such as initial program loader (IPL), a RAM 103 serving as a work area of the CPU 101, a flash memory 104 storing various types of data such as mobile terminal programs 130 and map data, a solid state drive (SDD) 105 configured to control reading or writing of various types of data with respect to a flash memory 104 based on the control of the CPU 101, a medium drive 107 configured to control reading or writing (storing) of data with respect to a recording medium 106 such as flash memory, an operations button 108 configured to receive various operations with respect to the touch panel 100, a power supply switch 109 configured to switch ON/OFF of the power supply of the touch panel 100, and a network interface (I/F) 111 for transmitting data via a wired or wireless communications network.
The touch panel 100 further includes a built-in camera 112 configured to acquire image data by imaging a subject based on the control of the CPU 101, an image sensor I/F 113 configured to control driving of the built-in camera 112, a built-in microphone 114 configured to input sound or voice, a built-in speaker 115 configured to output sound or voice, an audio input-output I/F 116 configured to process input and output of audio signals between the microphone 114 and the speaker 115 based on the control of the CPU 101, a display I/F 117 configured to transmit image data to a display 200 based on the control of the CPU 101, an external apparatus connecting I/F 118 configured to connect various types of external apparatuses, a GPS receiver 119 configured to receive radio waves from a GPS satellite to detect a position, an acceleration sensor 120 configured to detect acceleration generated in the touch panel 100, a LTE communications part 121 configured to perform audio communications and data communications via a mobile telephone network, and a bus line 122 such as an address bus or data bus for connecting the above-described components illustrated in
The display 200 is made of liquid crystal or organic EL, and serves in a drawing area for a user to draw by his/her inputting coordinates with PD as well as serving as a display area to display the drawn content. The display 200 is configured to display a menu or the like as a whiteboard. The display I/F 117 includes a coordinates detector 123 configured to detect coordinates of the position of the PD that has touched the display 200.
The camera 112 includes lenses or a solid-state image sensor configured to convert an image (video) of a subject into electronic data by converting light into electric charges. Examples of the solid-state image sensor include a complementary metal oxide semiconductor (CMOS) or a charge coupled device (CCD).
Various external devices and apparatuses may be attached to the external apparatus connecting I/F 118 via a universal serial bus (USB) cable and the like. For example, the external apparatus connecting I/F 118 may be used for connecting to the I/F 11 and a close range wireless communications device such as Bluetooth.
Further, the flash memory 104 stores programs 130. The programs 130 may also be called “applications (APP)”. The programs 130 may be downloaded from a not-illustrated server via the network I/F 111.
Note that the recording medium 106 is configured to be removable from the touch panel 100. Further, when the programs 130 is stored in nonvolatile memory configured to read or write data based on the control of the CPU 101, the programs 130 may be recorded in the recording medium 106 and distributed in a form of the recording medium 106.
The kernel layer is configured to implement an OS basic function such as a device driver. The kernel layer includes a data transfer driver 23. The data transfer driver 23 is configured to control the I/F 11s to perform data transfer or perform communications with an adjacent touch panel 100. Note that examples of the OS include Linux (registered trademark), Unix (registered trademark), Android (registered trademark), IOS (registered trademark), and Windows (registered trademark).
The HAL layer is a program configured to absorb the difference between hardware platforms. In this embodiment, the HAL layer is configured to bridge a gap (difference) between the library layer and the kernel layer. The library layer is configured to incorporate a library that controls hardware.
The application framework layer is configured to implement subordinate processes of the applications, and includes an object resource manager 21 and a screen display manager 22. The object resource manager 21 is configured to manage a position of the object 14 (an operation target) on the screen, and update data in the data storage part 29.
The application layer is configured to implement applications. For example, the application layer is configured to display a menu or receive settings for operating the touch panel 100.
The object resource manager 21 includes an object selection receiver 24 configured to receive selection of the object 14, a moving vector calculator 25 configured to calculate a moving vector (position, moving velocity, moving direction) of the object 14, a transfer determiner 26 configured to determine to transfer the calculated vector when the moving velocity is greater than or equal to a threshold, and a transfer destination determiner 27 configured to determine a touch panel serving as a transfer destination of the object 14 based on the position and the moving direction of the object 14. The screen display manager 22 is configured to manage a screen display of the object 14 serving as the operation target.
The object resource manager 21 is configured to report to the data transfer driver 23 the transfer destination touch panel 100, the moving vector, and the object 14 subject to moving. Hence, the data transfer driver 23 is configured to transfer transmission data (described later) in a predetermined format.
The data transfer driver 23 of the transfer destination touch panel 100 receives the transferred transmission data when the data transfer driver 23 determines that the transferred transmission data is addressed to itself (the touch panel 100 itself) by referring to a transmission destination of the transferred transmission data.
Note that the data storage part 29 stores drawn data such as strokes or images. The data storage part 29 is held in each of the touch panels 100. When the object 14 is moved, data of the object 14 in the data storage part 29 of the touch panel 1-1 are stored in the data storage part 29 of the moving destination touch panel 1-2.
Note that the user may be able to display the menu at any desired positions on surfaces of the touch panels. Further, the user may be able to switch ON/OFF the display of the menu.
The pen icon 31 is used by a user to input strokes with a PD (an electronic pen 13 in
The graphic icon 32 is used by the user to display a predetermined standard graphic or shape (a triangle, a circle, a square, etc.). When the user selects the graphic icon 32, the user may further select the color or line width of the graphic. In
The selection/deletion icon 33 is used by the user to select the drawn strokes. When the user presses the selection/deletion icon 33 and moves the PD to enclose the strokes or graphics, the strokes and graphics within the selected area are selected. The selected strokes and graphics may be enclosed with a circumscribed rectangle or displayed with highlight such that the user acknowledges that the strokes and graphics enclosed with a circumscribed rectangle or displayed with highlight have been selected. The object selection receiver 24 is configured to receive the selection of the object 14 such as the selected strokes or a circle. In this embodiment, the selected object 14 serves in a moving target. Note that the strokes or graphics may be selected by allowing the user or PD to touch the strokes or graphics for a predetermined time or more other than by allowing the user or PD to enclose the strokes or graphics.
The new page icon 34 is used by the user to open a new page. The strokes and graphics already drawn are stored. That is, the strokes or graphics already drawn on the six touch panels 100 are stored in the touch panels 100 that display the strokes and graphics, respectively. Data corresponding to one screen stored in each of the touch panels 100 is called “a page”. Note that the touch panel 100 that is specified by the user or that has received the operation of the new page icon 34 may store the strokes or graphics.
The USB memory icon 35 is used by the user to store all the saved pages in a PDF file.
The mail storage icon 36 is used by the user to transmit all the saved pages in a PDF file.
Note that when the user selects an icon of a certain touch panel 100, selection information of the selected icon may be shared with other touch panels 100. For example, after the user presses the pen icon 31 on the touch panel 1-1, the touch panel 100 that has detected the icon transmits the touched icon (information) to all the other touch panels 1-2, 1-3, 2-1, 2-2, and 2-3 such that the user may be able to draw strokes on the touch panels other than the touch panel 1-1. Hence, even though the user starts drawing strokes or the like on any of the touch panels 100, the touch panel 100 on which the strokes or the like are drawn may display the drawn content according to the icon selected by the user. Further, when the user presses the new page icon 34, the touch panels 100 may be able to simultaneously store the page to switch the page into the new page.
Next, an illustration is given of page data stored in the data storage part 29 with reference to
When the later described transmission data are transferred to the transfer destination touch panel 100, the I/F number of the transfer destination touch panel 100 is registered in the “transfer destination”. Subsequently, when the transfer destination touch panel 100 ends drawing the object 14, F is registered in the “drawing”. Hence, the “drawing” and the “transfer destination” may be interlocked; however, the “drawing” and the “transfer destination” are not necessarily updated simultaneously.
Note that in light of moving the graphic data, it may be preferable to record coordinates array data while the graphic is moving in a manner similar to the stroke case. Since the coordinates of the moved graphic may be reproduced by recording the coordinates array data while the graphic is moving, the graphic data may be displayed at the coordinates at which the graphic has passed while moving.
The user may be able to display the object 14 again on any of the touch panels 100 that the object 14 has passed by recording a history of all the touch panels 100 that the object 14 has passed. For example, when a predetermined icon (e.g., an icon by which an immediately preceding touch panel 100 is displayed every time the user presses the icon once) is prepared, the object 14 is displayed sequentially on the touch panels 1-2, 1-3, 1-2, 1-1 in this order every time the user presses the predetermined icon once. Thus, the user may be able to display the object 14 again on a desired one of the touch panels 100.
In addition, since the transmission data includes information about which touch panel 100 has initially created the transferred object 14, the object 14 may be displayed on the touch panel 100 that has initially created the object 14 by pressing and holding the predetermined icon down.
A broken line circle indicates an object 14 at sampling time t−1 of the coordinates of the touch panel 100. At sampling time t−1, the coordinates of the object 14 are x(t−1), y(t−1).
A solid line circle indicates the object 14 at sampling time t of the coordinates of the touch panel 100. At sampling time t, the coordinates of the object 14 are x(t), y(t).
Since the object resource manager 21 detects coordinates of the object 14 for every sampling period, the moving vector calculator 43 calculates the moving velocity v at a sampling time t as follows.
Moving velocity v=√[{x(t)−x(t−1)}2+{y(t)−y(t−1)}2]/sampling period
Further, the moving direction is obtained by a moving distance in an x direction and a moving distance in a y direction. For example, the moving direction is represented by θ based on a horizontal direction as illustrated below.
The moving direction θ=arctan {y(t)−y(t−1)/x(t)−x(t−1)}
The moving line 1:y=θ1*x+b
The moving line 2:y=θ2*x+b
Further, four sides (i.e., upper side, right side, lower side, and left side) of the touch panel 100 may be represented by the following formulas.
The upper side line L1:y=0 0<x<1280
The right side line L2:x=1280 0<y<1024
The lower side line L3:y=1024 0<x<1280
The left side line L4:x=0 0<y<1024
The transfer destination touch panel 100 is determined based on the transfer triggering area 15 in which the object 14 is currently displayed. However, whether the displayed object 14 is actually transferred to the touch panel 100 corresponding to the transfer triggering area 15 may be determined based on whether the moving lines intersect the sides of the touch panel 100 corresponding to the transfer triggering area 15.
For example, since the moving line 1 intersects a side of the touch panel 100 corresponding to the transfer triggering area 15, the transfer destination determiner 27 determines to transfer the object 14 to the adjacent touch panel 100 on the right side. However, the moving line 2 does not intersect the side of the touch panel 100 corresponding to the transfer triggering area 15, and hence, the transfer destination determiner 27 does not determine to transfer the object 14 to the adjacent touch panel 100 on the right side.
Similarly, in a case of the object 14 being in the transfer triggering area 15 in
Further, the distance between the object 14 and the end of the transfer source touch panel 100 may be obtained based on the coordinates x(t), y(t), and the size of the display 200 as noted below. Note that the number of pixels of the display 200 may be the same in all the touch panels 100, or may be obtained from one another via communications.
Distance m=√{(1280−x(t))2+(1024−y(t))2}
The time T at which the displayed object 14 reaches the end of the transfer destination touch panel 100 may be obtained as noted below.
Time T=Distance m/Moving velocity v
Further, since the transmission data include a transmission time, the screen display manager 22 displays the object 14 at the transmission time+the time T. Note that since the moving velocity v is gradually decreased in practice, it is preferable to determine the moving velocity v to be the mean of the moving velocities obtained until the object 14 reaches the end of the touch panel 100, or the moving velocity to be a value corrected by including deceleration.
Moreover, the display position of the object 14 may be specified by the intersection point of the moving line and a side (corresponding to the line L2) acquired by the object resource manager 21 of the transfer destination touch panel 100 based on the moving vector.
Initially, the object selection receiver 24 determines whether the object 14 is being selected (step S10). That is, whether there is the object 14 that the user selects by using the selection/deletion icon 33 is determined. The unselected object 14 will not be transferred. The user may be able to move the object 14 by dragging (moving while in contact with the object 14) or swiping while the object 14 is being selected.
When the object 14 is selected (YES in step S10), the transfer determiner 26 determines whether the position of the object 14 resides within the transfer triggering area 15 (step S20).
When the position of the object 14 resides within the transfer triggering area 15 (YES in step S20), the moving vector calculator 25 calculates the moving vector of the object 14 (step S30). That is, the moving vector calculator 25 calculates the coordinates, the moving velocity v, and the moving direction θ.
The transfer determiner 26 determines whether the moving velocity v is greater than or equal to the threshold (step S40). That is, the transfer determiner 26 calculates the distance d from the object 14 to the corresponding side, determines a threshold based on the distance d, and compares the moving velocity v with the determined threshold. The transfer destination determiner 27 determines whether the moving line obtained based on the moving vector intersects the side corresponding to the transfer triggering area 15 (i.e., whether the moving direction is directed at the corresponding side).
When the moving velocity v is greater than or equal to the threshold (YES in step S40), the object resource manager 21 requests the data transfer driver 23 to transmit the transmission data, and the data transfer driver 23 transmits the transmission data to the transfer destination touch panel 100 (step S50).
Thereafter, the screen display manager 22 of the transfer source touch panel 100 stops displaying the object 14 when the displayed object 14 has reached the end of the transfer source touch panel 100. Further, the screen display manager 22 of the transfer destination touch panel 100 starts displaying the object 14 when the time T at which the displayed object 14 reaches the end of the transfer source touch panel 100 has elapsed.
As described above, the transmission destination touch panel 100 may be able to receive the transmission data of the object 14 in advance by causing the transfer source touch panel 100 to transmit the transmission data of the object 14 while the transfer source touch panel 100 still displays the object 14. The transfer destination touch panel 100 may be able to prepare to display the object such as to estimate a display position of the object 14. Hence, the transfer destination touch panel 100 may be able to display the object 14 smoothly without delay or interruption (at the timing at which the displayed object 14 has reached the end of the transfer source touch panel 100).
Configuration Example of Panel System Other than Touch Panels
A projection surface A of the projector A and a projection surface B of the projector B are linearly aligned in parallel as illustrated in
The coordinates of the PD detected in the projection surface A is input into the projector A, and the coordinates of the PD detected in the projection surface B is input into the projector B. Hence, the projector A detects the coordinates of the PD in the projection surface A, and the projector B detects the coordinates of the PD in the projection surface B. Alternatively, the coordinates of the PD may be detected regardless of the projection surfaces A and B, and the detected coordinates of the PD may be input into either of the projectors A and B. The projectors A and B are capable of determining whether the position of the PD corresponds to their respective projection surfaces based on the detected coordinates.
Hence, even though the panel system 500 is composed of plural projectors 300, the projector A, for example, detects that the object 14 is selected based on the detected coordinates of the PD, and moves the object 14. Accordingly, the object 14 may be able to move from the projection surface A to the projection surface B in a manner similar to the panel system composed of the touch panels 100.
A projection display surface A of the rear projection A and a projection display surface B of the rear projection B are linearly aligned in parallel as illustrated in
Accordingly, even though the panel system 500 is composed of plural rear projections 400, the object 14 may be able to move from the projection display surface A to the projection display surface B in a manner similar to the panel system composed of the touch panels 100.
In the first embodiment, the transfer destination touch panel 100 displays the object 14 by simply causing the transfer source touch panel 100 to transmit the transmission data to the transfer destination touch panel 100.
However, there is a case where the user wishes to stop transferring the object 14 after the transfer source touch panel 100 has just transferred the object 14. Further, when the transfer source touch panel 100 draws the object 14 and the transfer destination touch panel 100 starts displaying the object 14 independently of the transfer source touch panel 100, the timing to stop displaying the object 14 in the transfer source touch panel 100 may fail to match the timing to draw (display) the object 14 in the transfer destination touch panel 100.
Accordingly, in the panel system 500 according to the second embodiment, the transfer source touch panel 100 and the transfer destination touch panel 100 are caused to perform more precise communications such that the object 14 may be transferred more smoothly without delay or interruption.
Note that the panel system 500 according to the second embodiment includes a hardware configuration and a software configuration similar to those of the panel system 500 according to the first embodiment. Further, in the panel system 500 according to the second embodiment, components that are provided with the same reference numbers as those of the panel system 500 according to the first embodiment perform the same functions. Hence, only main components of the second embodiment may be described.
The object selection receiver 24 determines whether the transfer source touch panel 100 is selecting the object 14 (step S110). When there is the object 14 that is being selected, the object selection receiver 24 reports to the data transfer driver 23 that there is a possibility of transferring the object 14.
When there is the object 14 that is being selected (YES in step S110), the data transfer driver 23 determines whether the touch panel A mainly serves in a data transfer role. For example, there is a restriction that the host-side apparatus mainly serves in a data transfer role in the host-device configuration based on the specification of the USB when the I/F 11 is a USB. When the touch panel A is assigned the device role, the touch panel A is unable to control transferring data to the touch panel B. Hence, it may be necessary to negotiate with the touch panel B in compliance with the On The Go (OTG) specification such that the touch panel A itself is assigned the host role. Further, when the I/F 11 is a PCI-Express, any one of the touch panels A and B may mainly serves in the data transfer role in the route-end point configuration. Hence, the determination step in step S120 is no longer necessary (i.e., forcibly proceed with step S140).
When the touch panel A does not mainly serves in the data transfer role (NO in step S120), the data transfer driver 23 negotiates with the touch panel B such that the touch panel A mainly serves in the data transfer role, and sets a configuration necessary for the data transfer role (step S130). For example, when the I/F 11 is a USB, the data transfer driver 23 (the touch panel A) executes protocols such as Session Request Protocol (SRP), and Host Negotiation Protocol (HNP) in compliance with the OTG specification such that the touch panel A itself serves in a host.
When the touch panel A mainly serves in the data transfer role, the transfer determiner 26 determines whether the position of the object 14 resides within the transfer triggering area 15 (step S140).
When the position of the object 14 resides within the transfer triggering area 15 (YES in step S140), the moving vector calculator 25 calculates the moving vector of the object 14 (step S150).
The transfer destination determiner 27 determines whether the moving direction θ of the moving vector is directed at the touch panel B (step S160). That is, the transfer destination determiner 27 determines whether the moving line computed based on the moving vector intersects a side adjacent to the touch panel B that is determined based on the transfer trigger area 15.
When the moving direction θ of the moving vector is not directed at the touch panel B (NO in step S160), the transfer destination determiner 27 determines whether the transmission data of the object 14 have already been transferred to the touch panel B by referring to the transfer destination of the object 14 in the graphic data (step S170). This determination is aimed at detecting that the transmission data of the object should not have been transferred due to the change in the direction of the object 14, despite the fact that the transmission data had been transferred because the transfer condition (e.g., the moving direction θ of the moving vector is directed at the touch panel B, and the moving velocity is greater than or equal to the threshold) is satisfied.
When the transmission data of the object 14 have already been transferred to the touch panel B (YES in step S170), the object resource manager 21 reports to the data transfer driver 23 that the data transfer driver 23 is to transmit a deletion request to the touch panel B to delete the already transferred transmission data (graphic data in this case) (step S180).
When the moving direction θ of the moving vector is directed at the touch panel B (YES in step S140), the transfer determiner 26 determines whether the moving velocity v of the moving vector is greater than or equal to the threshold (step S190).
When the moving velocity v is greater than or equal to the threshold (YES in step S190), the transfer destination determiner 27 determines whether the transmission data of the object 14 have already been transferred to the touch panel B by referring to the transfer destination of the object 14 in the graphic data (step S200). This determination is aimed at preventing the transmission data of the same object 14 from being transmitted again since retransmission is unnecessary.
When the transmission data of the object 14 have not been transferred yet (NO in step S200), the object resource manager 21 requests the data transfer driver 23 to transmit the transmission data, and the data transfer driver 23 transmits the transmission data to the transfer destination touch panel B (step S210).
Subsequently, the screen display manager 22 determines whether the displayed object 14 has been moved to the end of the display 200 of the touch panel A (i.e., the object 14 has disappeared due to being moved to outside the screen of the display 200 of the touch panel A) (step S220).
When the displayed object 14 has been moved to the end of the display 200 of the touch panel A (YES in step S220), the screen display manager 22 reports to the touch panel B via the data transfer driver that the object 14 is displayed on the display 200 based on the already transferred transmission data (step S230).
Subsequently, a process of the transfer destination touch panel B is illustrated with reference to
Initially, the data transfer driver 23 of the touch panel B determines whether the touch panel B mainly serves in a data transfer role (step S310). This determination is aimed at receiving the negotiation from the touch panel A because the touch panel B does not need to mainly serves in the data transfer role.
When the touch panel B mainly serves a data transfer role (YES in step S310), the data transfer driver 23 of the touch panel B conducts polling to determine whether the negotiation report in step S130 is received from the touch panel A (step S320).
When the data transfer driver 23 of the touch panel B has received the negotiation report (YES in step S320), the data transfer driver 23 of the touch panel B negotiates with the touch panel A so as to allow the touch panel A to mainly serves in a data transfer role (step S330).
Subsequently, the transfer destination determiner 27 determines whether the transmission data of the object 14 transferred in step S210 has already been received from the touch panel A by referring to the transfer destination of the graphic data of the maintaining object 14 (step S340).
When the transmission data of the object 14 have not been transferred from the touch panel A yet (NO in step S340), the data transfer driver 23 determines whether the transmission data transfer report has been received from the touch panel A (step S350). That is, the data transfer driver 23 of the touch panel A and the data transfer driver 23 of the touch panel B in the same hierarchical level determine whether the transmission data have been received or transferred.
When the transmission data transfer report has been received from the touch panel A (YES in step S350), the data transfer driver 23 receives the transmission data from the touch panel A, and reports information about the received object 14 to the object resource manager 21 (step S360).
Subsequently, the data transfer driver 23 of the touch panel B conducts polling to determine whether the screen display report of the object 14 in step S230 has been received from the touch panel A (step S370).
When the screen display report of the object 14 has been received from the touch panel A (YES in step S370), the data transfer driver 23 reports receiving the screen display report from the touch panel A to the screen display manager 22, and causes the screen display manager 22 to display the object 14 on the display 200 based on the already transferred transmission data of the object 14 (step S380). Hence, since the touch panel B displays the object 14 when the screen display report of the object 14 has been received from the touch panel A, the touch panel B may be able to display the object 14 at a timing at which the touch panel A has stopped displaying the object 14.
Subsequently, the data transfer driver 23 conducts polling to determine whether a data deletion report of the object 14 in step S180 has been received from the touch panel A (step S390).
When the data deletion report of the object 14 has been received from the touch panel A (YES in step S390), the data transfer driver 23 reports the data deletion of the object 14 to the object resource manager 21, and the object resource manager 21 deletes the already transferred graphic data of the object 14 (step S400). That is, F may be set in the “drawing” of the graphic data, or the entire record itself may be deleted. Moreover, the screen display manager 22 stops displaying the object 14 on the display 200 any longer. Accordingly, even though the object 14 has once been displayed, the touch panel B terminates displaying the object 14 when the data deletion report is received from the touch panel A. This may prevent the object 14 from being displayed, the transmission data of which are yet to be transferred.
Accordingly, the panel system 500 according to the embodiments may be able to reliably determine whether the transfer source touch panel has transmitted the transmission data of the object 14, and transmit the transmission data to the transfer destination touch panel after the transfer source touch panel has transmitted the transmission data. That is, when the transmission data has been accidentally transferred, the transfer destination touch panel may be able to delete the accidentally transferred transmission data of the object 14. Further, the panel system 500 according to the embodiments may be able to display the object 14 on the transfer destination touch panel at a timing at which the transfer source touch panel has stopped displaying the object 14.
The embodiments may provide a panel system having plural displays aligned in an array that is capable of preventing a delay in displaying a drawing object across the plural displays.
The present invention is not limited to the specifically disclosed embodiments, and variations and modifications may be made without departing from the scope of the present invention.
The present application is based on Japanese Priority Application No. 2013-191152 filed on Sep. 13, 2013, the entire contents of which are hereby incorporated herein by reference.
Number | Date | Country | Kind |
---|---|---|---|
2013-191152 | Sep 2013 | JP | national |