WO2015189964A1 - 手書き情報を共有するためのシステムおよび方法 - Google Patents

手書き情報を共有するためのシステムおよび方法 Download PDF

Info

Publication number
WO2015189964A1
WO2015189964A1 PCT/JP2014/065634 JP2014065634W WO2015189964A1 WO 2015189964 A1 WO2015189964 A1 WO 2015189964A1 JP 2014065634 W JP2014065634 W JP 2014065634W WO 2015189964 A1 WO2015189964 A1 WO 2015189964A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
stroke data
handwriting
stroke
transmitting
Prior art date
Application number
PCT/JP2014/065634
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 JP2016527574A priority Critical patent/JP6208348B2/ja
Priority to PCT/JP2014/065634 priority patent/WO2015189964A1/ja
Publication of WO2015189964A1 publication Critical patent/WO2015189964A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Definitions

  • Embodiment described here is related with the technique for sharing handwritten information.
  • An object of one embodiment of the present invention is to provide a system and method capable of safely sharing handwritten information.
  • the system includes a receiving unit, a transmitting unit, and a processing unit.
  • the receiving means receives first stroke data input by handwriting at the first terminal in the login state and second stroke data input by handwriting at the second terminal in the login state.
  • the transmission means transmits the first stroke data to the second terminal, and transmits the second stroke data to the first terminal.
  • the processing means transmits the first stroke data group input by handwriting before the third terminal logs in to the third terminal to the third terminal. Execute the process for The processing means does not transmit the second stroke data group input by handwriting before logout of the second terminal to the third terminal in the second terminal.
  • FIG. 1 is an exemplary perspective view showing an appearance of an electronic apparatus according to the embodiment.
  • FIG. 2 is an exemplary diagram showing connections between terminals using the handwriting sharing service.
  • FIG. 3 is an exemplary diagram showing a data flow between the electronic device (handwriting collaboration server system) of FIG. 1 and each terminal.
  • FIG. 4 is an exemplary diagram illustrating an example of a screen displaying handwritten information of a plurality of terminals.
  • FIG. 5 is an exemplary diagram illustrating an example of a handwritten document handwritten on the touch screen display of the electronic apparatus of FIG. 1.
  • FIG. 6 is an exemplary diagram showing time-series information (handwritten page data) corresponding to the handwritten document of FIG.
  • FIG. 7 is an exemplary block diagram showing a system configuration of the electronic apparatus of FIG. FIG.
  • FIG. 8 is an exemplary block diagram showing a functional configuration of a handwriting sharing application program executed by the electronic device of FIG.
  • FIG. 9 is an exemplary diagram showing the contents of information stored in the stroke database of the electronic device of FIG.
  • FIG. 10 is an exemplary diagram showing a display style management table generated by the electronic apparatus of FIG.
  • FIG. 11 is an exemplary diagram showing stroke data distribution processing executed when another terminal logs in after logout of a certain terminal.
  • FIG. 12 is an exemplary diagram showing display contents of a plurality of handwriting sharing screens displayed on a plurality of terminals, respectively.
  • FIG. 13 is another exemplary diagram showing display contents of a plurality of handwritten sharing screens displayed on a plurality of terminals, respectively.
  • FIG. 14 is an exemplary block diagram showing a configuration of the handwriting collaboration server system.
  • FIG. 15 is an exemplary flowchart showing a procedure of stroke delivery processing executed by the electronic apparatus of FIG.
  • FIG. 16 is an exemplary diagram showing some policies regarding handling of handwritten information to be shared.
  • FIG. 17 is an exemplary flowchart showing a procedure of stroke non-display control processing executed by the electronic apparatus of FIG.
  • FIG. 1 is a perspective view illustrating an external appearance of an electronic apparatus according to an embodiment.
  • This electronic device is, for example, a pen-based portable electronic device that can be input by handwriting with a pen (stylus) or a finger.
  • This electronic device can be realized as a tablet computer, a notebook personal computer, a smartphone, a PDA, or the like.
  • the tablet computer 10 is a portable electronic device that is also called a tablet or a slate computer.
  • the tablet computer 10 includes a main body 11 and a touch screen display 17.
  • the touch screen display 17 is attached to be superposed on the upper surface of the main body 11.
  • the main body 11 has a thin box-shaped housing.
  • the touch screen display 17 incorporates a flat panel display and a sensor.
  • the sensor is configured to detect a contact position of a pen or a finger on the screen of the flat panel display.
  • the flat panel display may be, for example, a liquid crystal display (LCD).
  • As the sensor for example, a capacitive touch panel, an electromagnetic induction digitizer, or the like can be used. In the following, it is assumed that two types of sensors, a digitizer and a touch panel, are incorporated in the touch screen display 17.
  • the touch screen display 17 can detect not only a touch operation on the screen using a finger but also a touch operation on the screen using the pen 100.
  • the pen 100 may be, for example, an electromagnetic induction pen (digitizer pen).
  • the user can perform a handwriting input operation on the touch screen display 17 using the pen 100.
  • the trajectory of the movement of the pen 100 on the screen that is, the stroke trajectory (handwriting) handwritten by the handwriting input operation is drawn in real time, whereby the trajectory of each stroke is displayed on the screen.
  • the locus of movement of the pen 100 while the pen 100 is in contact with the screen corresponds to one stroke.
  • a set of many strokes corresponding to handwritten characters or figures, that is, a set of many trajectories (handwriting) constitutes a handwritten document.
  • the handwritten document is stored in the storage medium as time series information indicating the coordinate sequence of the trajectory of each stroke and the order relationship between the strokes, not image data. Details of this time-series information will be described later with reference to FIG. 6.
  • This time-series information indicates the order in which a plurality of strokes are handwritten, and includes a plurality of stroke data respectively corresponding to the plurality of strokes.
  • this time-series information means a set of time-series stroke data respectively corresponding to a plurality of strokes.
  • Each stroke data corresponds to a certain stroke, and includes a coordinate data series (time series coordinates) corresponding to each point on the locus of this stroke.
  • the order of arrangement of the stroke data corresponds to the order in which the strokes are handwritten, that is, the stroke order.
  • the tablet computer 10 has an editing function.
  • This editing function deletes or deletes arbitrary strokes or arbitrary handwritten characters in the displayed handwritten document according to the editing operation by the user using the “eraser” tool, range specification tool, and other various tools. Can move. Further, this editing function includes a function for canceling a history of some handwriting operations.
  • the time series information can be managed as one or a plurality of pages.
  • a group of time-series information that fits on one screen may be recorded as one page by dividing the time-series information into area units that fit on one screen.
  • the page size may be variable. In this case, since the page size can be expanded to an area larger than the size of one screen, a handwritten document having an area larger than the screen size can be handled as one page. When one entire page cannot be displayed simultaneously on the display, the page may be reduced, or the display target portion in the page may be moved by vertical and horizontal scrolling.
  • the time series information can be managed as page data, hereinafter, the time series information is also referred to as handwritten page data or simply handwritten data.
  • the tablet computer 10 can also hand-write objects such as characters and figures on Web pages, texts, images, and other various contents.
  • the handwritten stroke can be drawn on the transparent layer set on the displayed content. Thereby, this handwritten stroke can be displayed over the above-mentioned content.
  • the tablet computer 10 has a handwriting collaboration function.
  • the handwriting collaboration function executes a handwriting sharing service for sharing handwritten information (handwriting stroke) between a plurality of terminals and performing collaborative work by handwriting.
  • This handwriting sharing service transmits stroke data input by handwriting at any one of a plurality of terminals to other terminals in real time.
  • the contents of the display screens of the plurality of terminals can be synchronized.
  • strokes input by handwriting by different users can be displayed on the screen of each terminal in different forms (for example, different colors, different thicknesses, different pen types, etc.).
  • Changing the display form of the stroke data for each user makes it possible to identify which stroke is handwritten by which user.
  • FIG. 2 shows a connection example between terminals using the handwriting sharing service.
  • the terminal 10A is a tablet computer used by the user A.
  • Terminal B is a tablet computer used by user B.
  • the terminal 10C is a tablet computer used by the user C.
  • Each of the terminals 10A, 10B, and 10C has a handwriting collaboration function equivalent to the tablet computer 10 of the present embodiment.
  • the terminals 10A, 10B, and 10C are wirelessly connected to each other.
  • any wireless connection standard capable of wirelessly connecting a plurality of terminals to each other can be used.
  • Wi-Fi Direct registered trademark
  • Bluetooth registered trademark
  • Wi-Fi Direct registered trademark
  • Terminals (devices) compatible with Wi-Fi Direct can be connected to each other on a one-to-one basis or a one-to-other basis.
  • Each of the terminals 10A, 10B, and 10C can function as a terminal (device) that supports Wi-Fi Direct (registered trademark).
  • any one of the terminals 10A, 10B, and 10C can function as a server (handwriting collaboration server system) configured to manage the handwriting sharing service.
  • This handwriting collaboration server system can invite each other terminal to a group of handwriting sharing services.
  • the handwriting collaboration server system may transmit an invitation signal for encouraging participation in the handwriting sharing service group to each of the other terminals.
  • the handwriting collaboration server system determines whether or not each terminal requesting participation in the group is permitted to join the group, that is, log in to the handwriting collaboration server system (handwriting sharing service). You can also Only each terminal that receives permission from the handwriting collaboration server system may be permitted to log in to the handwriting sharing service, that is, join the group and connect to other terminals in the group.
  • a method of logging in to the handwriting sharing service using the ID (account) of the terminal itself, or a user using this terminal Any method of logging in to the handwriting sharing service using an ID (account) may be used. That is, the login and logout for the handwriting sharing service may be either login and logout using the ID (account) of the terminal itself or login and logout using the user ID (account).
  • the terminals 10A, 10B, and 10C are logged in to the handwriting sharing service, that is, the terminals 10A, 10B, and 10C are connected to each other.
  • the group of handwritten sharing services including the terminals 10A, 10B, and 10C, the contents of the display screens of these terminals 10A, 10B, and 10C are synchronized.
  • the stroke data handwritten by each of the users A, B, and C is not only displayed on the screen of their own terminal, but also reflected in real time on the screens of the other users' terminals. Thereby, mutual handwritten information (handwritten characters, handwritten figures, etc.) can be exchanged and shared between users participating in the handwriting sharing service group.
  • the terminals 10A, 10B, and 10C participating in the handwriting sharing service group can display the same content such as conference materials on the screen. In this case, stroke data input by handwriting at each terminal is displayed on this content. Users A, B, and C can exchange and share handwritten information (handwritten characters, handwritten figures, etc.) handwritten on the content while viewing the same content among the users A, B, and C.
  • handwritten information handwritten characters, handwritten figures, etc.
  • FIG. 3 shows a data flow between the handwriting collaboration server system and each terminal.
  • the terminal 10A operates as a handwriting collaboration server system.
  • the terminal 10A is one of a plurality of terminals logged into the handwriting sharing service.
  • the handwriting collaboration server system (terminal 10A) has the ability to communicate with each of the terminals 10B and 10C on a one-to-other basis.
  • the handwriting collaboration server system (terminal 10A) is directly connected to the terminal 10B in the login state.
  • the handwriting collaboration server system (terminal 10A) is directly connected to the terminal 10C in the login state.
  • the handwriting collaboration server system receives stroke data input by handwriting on the terminal 10B from the terminal 10B.
  • the handwriting collaboration server system receives stroke data input by handwriting on the terminal 10C from the terminal 10B.
  • the handwriting collaboration server system (terminal 10A) transmits the stroke data input by handwriting on the terminal 10A and the stroke data received from the terminal 10C to the terminal 10B. Furthermore, the handwriting collaboration server system (terminal 10A) transmits stroke data input by handwriting on the terminal 10A and stroke data received from the terminal 10B to the terminal 10C.
  • the handwriting collaboration server system (terminal 10A) stores each of a plurality of stroke data input by handwriting in each terminal in the database 12 in association with a transmission source terminal identifier (terminal ID).
  • the transmission source terminal identifier may be any information as long as the information can identify the terminal.
  • the terminal ID may be existing information such as a MAC address or an IP address, or information set in a handwriting sharing service, and each terminal 10A, 10B, or 10C by a handwriting collaboration server system (terminal 10A). It may be information given to the terminal or information set for each terminal based on a random number.
  • a terminal ID corresponding to the terminal 10B may be added as a transmission source terminal identifier to individual stroke data received from the terminal 10B.
  • Individual stroke data received from the terminal 10B is stored in the database 12 in association with the terminal ID corresponding to the terminal 10B.
  • a terminal ID corresponding to the terminal 10C may be added as a transmission source terminal identifier to individual stroke data received from the terminal 10C.
  • the individual stroke data received from the terminal 10C is stored in the database 12 in association with the terminal ID corresponding to the terminal 10C.
  • individual stroke data input by handwriting on the terminal 10A is stored in the database 12 in association with the terminal ID corresponding to the terminal 10A.
  • a transmission source terminal identifier terminal ID
  • a pen identifier pen ID
  • the terminal can acquire the pen ID of the pen from the pen.
  • the terminal 10A, 10B, 10C can acquire a pen ID of a pen used for handwriting input of stroke data in the terminal
  • the terminal 10A, 10B, 10C can obtain stroke data to which the terminal ID of the terminal and the acquired pen ID are added.
  • each terminal 10A, 10B, 10C transmits the stroke data to which the terminal ID of the terminal is added.
  • the handwriting collaboration server system (terminal 10A), based on the transmission source terminal identifier (terminal ID) added to the received stroke data, converts the received stroke data into the transmission source terminal of the received stroke data. To each other terminal. In other words, the handwriting collaboration server system (terminal 10A) can determine a terminal to which individual stroke data should be distributed based on a terminal ID corresponding to the individual stroke data.
  • FIG. 4 shows an example of a terminal screen (handwriting sharing screen) in a login state.
  • a transparent layer (handwriting layer) 30B capable of handwriting input is set.
  • the stroke data (handwritten stroke) of each user is displayed on the handwritten sharing screen 30A.
  • stroke data (handwriting stroke of the user A) 40 input by the user A using the pen 100A on the handwriting sharing screen 30A of the terminal 10A is displayed.
  • stroke data received from other terminals is displayed on the shared screen 30A of the terminal 10A.
  • Stroke data received from another terminal includes stroke data (handwritten stroke of user B) 42 handwritten by user B and stroke data (handwritten stroke of user C) 44 handwritten by user C. included.
  • stroke data of different users is displayed on the handwriting sharing screen 30A in different forms.
  • which user (terminal) each stroke data corresponds to can be determined based on the terminal ID corresponding to each stroke data. Or you may determine which user (terminal) each stroke data respond
  • FIG. 5 shows an example of a handwritten document (handwritten character string) handwritten on the touch screen display 17 using the pen 100 or the like.
  • the handwritten character string “ABC” is handwritten in the order of “A”, “B”, “C”, and then the handwritten arrow is handwritten in the immediate vicinity of the handwritten character “A”. The case is envisaged.
  • the handwritten character “A” is expressed by two strokes (“ ⁇ ” shape trajectory, “ ⁇ ” shape trajectory) handwritten using the pen 100 or the like.
  • the trajectory of the first “ ⁇ ” -shaped pen 100 handwritten is sampled in real time, for example, at equal time intervals, thereby obtaining the time-series coordinates SD11, SD12,... SD1n of the “ ⁇ ” -shaped stroke.
  • the trajectory of the “ ⁇ ” shaped pen 100 to be handwritten next is also sampled in real time at equal time intervals, thereby obtaining the time series coordinates SD21, SD21,... SD2n of the “ ⁇ ” shaped stroke.
  • the handwritten character “B” is expressed by two strokes handwritten using the pen 100 or the like.
  • the handwritten character “C” is expressed by one stroke handwritten using the pen 100 or the like.
  • the handwritten “arrow” is expressed by two strokes handwritten using the pen 100 or the like.
  • FIG. 6 shows time-series information 200 corresponding to the handwritten document of FIG.
  • the time series information includes a plurality of stroke data SD1, SD2,.
  • these stroke data SD1, SD2,..., SD7 are arranged in time series in the order of handwriting, that is, the order in which a plurality of strokes are handwritten.
  • the first two stroke data SD1 and SD2 indicate two strokes of the handwritten character “A”, respectively.
  • the third and fourth stroke data SD3 and SD4 indicate two strokes constituting the handwritten character “B”, respectively.
  • the fifth stroke data SD5 indicates one stroke constituting the handwritten character “C”.
  • the sixth and seventh stroke data SD6 and SD7 indicate two strokes constituting the handwritten “arrow”, respectively.
  • Each stroke data includes a coordinate data series (time series coordinates) corresponding to one stroke, that is, a plurality of coordinates corresponding to a plurality of points on the trajectory of one stroke.
  • a plurality of coordinates are arranged in time series in the order in which the strokes are written.
  • the stroke data SD1 is a coordinate data series (time series coordinates) corresponding to each point on the locus of the stroke of the “ ⁇ ” shape of the handwritten character “A”, that is, n coordinates.
  • Data SD11, SD12,... SD1n are included.
  • the stroke data SD2 includes coordinate data series corresponding to each point on the locus of the stroke of the “ ⁇ ” shape of the handwritten character “A”, that is, n pieces of coordinate data SD21, SD22,... SD2n. Note that the number of coordinate data may be different for each stroke data.
  • Each coordinate data indicates an X coordinate and a Y coordinate corresponding to one point in the corresponding locus.
  • the coordinate data SD11 indicates the X coordinate (X11) and the Y coordinate (Y11) of the start point of the “ ⁇ ” -shaped stroke.
  • SD1n indicates the X coordinate (X1n) and Y coordinate (Y1n) of the end point of the “ ⁇ ” -shaped stroke.
  • information (Z) indicating writing pressure may be added to each coordinate data.
  • FIG. 7 shows a system configuration of the tablet computer 10.
  • the tablet computer 10 includes a CPU 101, a system controller 102, a main memory 103, a graphics processing unit (GPU) 104, a BIOS-ROM 105, a nonvolatile memory 106, a wireless communication device 107, an embedded controller (EC). 108 and the like.
  • the CPU 101 is a processor that controls the operation of various modules in the tablet computer 10.
  • the CPU 101 executes various programs loaded from the nonvolatile memory 106 that is a storage device to the main memory 103. These programs include an operating system (OS) 201 and various application programs.
  • the application program includes a handwriting sharing application program 202.
  • the handwriting sharing application program 202 is configured to execute the above-described handwriting collaboration function for sharing handwritten information among a plurality of terminals.
  • the CPU 101 also executes a basic input / output system (BIOS) stored in the BIOS-ROM 105.
  • BIOS is a program for hardware control.
  • the system controller 102 is a device that connects between the local bus of the CPU 101 and various components.
  • the system controller 102 also includes a memory controller that controls access to the main memory 103.
  • the system controller 102 also has a function of executing communication with a graphics processing unit (GPU) 104 via a PCI EXPRESS serial bus or the like.
  • GPU graphics processing unit
  • the GPU 104 is a display processor that controls the LCD 17 ⁇ / b> A used as a display monitor of the tablet computer 10.
  • a display signal generated by the GPU 104 is sent to the LCD 17A.
  • the LCD 17A displays a screen image based on the display signal.
  • a touch panel 17B is disposed on the upper surface side of the LCD 17A.
  • a digitizer 17C is disposed on the lower surface side of the LCD 17A.
  • the touch panel 17B is a capacitance-type pointing device for inputting on the screen of the LCD 17A.
  • the touch position on the screen where the finger is touched and the movement of the touch position are detected by the touch panel 17B.
  • the digitizer 17C is an electromagnetic induction type pointing device for inputting on the screen of the LCD 17A.
  • the digitizer 17C detects the contact position on the screen where the pen 100 is touched, the movement of the contact position, and the like.
  • the wireless communication device 107 is a device configured to execute wireless communication.
  • the wireless communication device 107 may be configured to execute wireless communication corresponding to the above-described Wi-Fi Direct (registered trademark).
  • EC108 is a one-chip microcomputer including an embedded controller for power management.
  • the EC 108 has a function of turning on or off the tablet computer 10 in accordance with the operation of the power button by the user.
  • the handwriting sharing application program 202 is a function execution module for sharing handwritten information, such as a handwriting input interface 300, a display processing unit 301, a stroke data generation unit 302, a transmission processing unit 304, a reception processing unit 305, and a processing unit 305. including.
  • the handwriting sharing application program 202 creates, displays, and edits handwritten page data by using stroke data that is input using the touch screen display 17.
  • the digitizer 17C of the touch screen display 17 is configured to detect occurrence of events such as “touch”, “move (slide)”, “release” and the like. “Touch” is an event indicating that the pen has touched the screen. “Move (slide)” is an event indicating that the contact position has been moved while the pen is in contact with the screen. “Release” is an event indicating that the pen is released from the screen.
  • the handwriting input interface 300 is an interface configured to perform handwriting input in cooperation with the digitizer 17C of the touch screen display 17.
  • the handwriting input interface 300 receives a “touch” or “move (slide)” event from the digitizer 17 ⁇ / b> C of the touch screen display 17, thereby detecting a handwriting input operation.
  • the “touch” event includes the coordinates of the contact position.
  • the “movement (slide)” event also includes the coordinates of the contact position of the movement destination. Therefore, the handwriting input interface 300 can receive the coordinate sequence corresponding to the movement locus of the contact position from the touch screen display 17.
  • the display processing unit 301 receives a coordinate string from the handwriting input interface 300, and displays each stroke data input by handwriting by a handwriting input operation using the pen 100 on the screen of the LCD 17A based on the coordinate string. Furthermore, the display processing unit 301 displays stroke data received from another terminal on the screen of the LCD 17A under the control of the processing unit 305.
  • the stroke data generation unit 302 receives the above-described coordinate sequence from the handwriting input interface 300, and generates time-series information having the structure described in detail in FIG. 6 based on the coordinate sequence.
  • the time series information may be stored in the stroke database 12.
  • the transmission processing unit 304 executes processing for transmitting each stroke data in the stroke database 12 to another terminal using the wireless communication device 107 under the control of the processing unit 305.
  • the reception processing unit 305 executes processing for receiving stroke data from another terminal using the wireless communication device 107 under the control of the processing unit 305.
  • the processing unit 305 executes processing for sharing handwritten information among a plurality of terminals.
  • the processing unit 305 includes a pen ID acquisition unit 311, a member management unit 312, a stroke management unit 313, a display style management unit 314, and the like.
  • the pen ID acquisition unit 311 acquires a pen ID from a pen used for handwritten input of stroke data.
  • the pen ID acquisition unit 311 can acquire the pen ID of the pen currently used for handwriting input.
  • the member management unit 312 manages each member (terminal) logged into the handwriting sharing service.
  • the member management unit 312 can determine whether or not to permit login to a terminal that requests login to the handwriting sharing service. In this case, the member management unit 312 may inquire each member as to whether or not to permit login of a new terminal, and permit login of a new terminal on condition that permission is received from all members.
  • the terminal that has received permission from the member management unit 312 is permitted to log in to the handwriting sharing service, and is thereby connected to other terminals that are logged in to the handwriting sharing service.
  • the function of the member management unit 312 may be executed only in a terminal that operates as a handwriting collaboration server system.
  • the stroke management unit 313 manages stroke data received from each terminal participating in the handwriting sharing service, that is, each terminal in the login state, using the stroke database 12.
  • the stroke management unit 313 may be executed only in a terminal that operates as a handwriting collaboration server system.
  • the display style management unit 314 manages the relationship between the terminal ID or pen ID and the stroke data display mode for each logged-in terminal (user).
  • the display style management unit 314 of the terminal that operates as the handwriting collaboration server system generates a display style management table that is form information that defines the relationship between the terminal ID or pen ID and the display form of the stroke data for each terminal.
  • the display style management table can be transmitted to other terminals.
  • each terminal uses the display style management table to determine the form used for displaying individual stroke data.
  • the user C of the terminal 10C reaches a range that the user C of the terminal 10C originally does not intend, that is, the terminal of the user D who newly logs in. There is a possibility that handwritten information will be spread.
  • the logout of the terminal 10C is caused by the occurrence of an event such as termination of the handwriting sharing application program of the terminal 10C, explicit logout operation by the user C, power off of the terminal 10C, for example.
  • the processing unit 305 has a security function for making it possible to prevent a stroke group input by handwriting on a terminal that has already logged out from being displayed on a terminal that has newly logged in. Details of this security function will be described with reference to FIG.
  • FIG. 9 shows the contents of the stroke database 12 of the handwriting collaboration server system (terminal 10A).
  • the stroke database 12 includes a large number of records (a large number of storage areas) each assigned a record ID.
  • One stroke data (one stroke) is assigned to one record.
  • a terminal ID device ID
  • stroke data coordinate sequence
  • a user ID and a pen ID corresponding to the stroke data may be stored in each record.
  • FIG. 10 shows a display style management table 400 generated by the display style management unit 314 of the terminal that operates as a handwriting collaboration server system.
  • the display style management table 400 defines the relationship between the terminal ID or pen ID and the display mode (color, thickness, etc.) of the stroke data for each terminal.
  • terminal 10A A
  • a pen having no pen ID is used for handwriting input
  • the display style management table 400 includes a record (storage area) corresponding to each user who logs in to the handwriting sharing service.
  • Each record includes a “terminal ID” field, a “pen ID” field, a “stroke color” field, a “stroke thickness” field, and an “other” field.
  • the “terminal ID” field stores the terminal ID of the corresponding user (terminal).
  • the “pen ID” field stores the pen ID of the pen used at the time of login by the corresponding user (terminal).
  • the “stroke color” field stores information indicating the color to be used to display the corresponding user stroke.
  • the “stroke thickness” field stores information indicating the thickness to be used for displaying the stroke of the corresponding user.
  • terminal ID “A” is stored in the “terminal ID” field
  • pen ID “PEN1” is stored in the “pen ID” field
  • color “black” is “stroke color”.
  • the terminal ID “B” is stored in the “terminal ID” field
  • the pen ID “none” is stored in the “pen ID” field
  • the color “red” is the “stroke color” field.
  • pen ID “PEN2” is stored in the “pen ID” field instead of pen ID “none”.
  • the terminal ID “C” is stored in the “terminal ID” field
  • the pen ID “PEN3” is stored in the “pen ID” field
  • the color “green” is the “stroke color” field.
  • terminal ID “D” is stored in the “terminal ID” field
  • pen ID “PEN11” is stored in the “pen ID” field
  • color “blue” is the “stroke color” field.
  • the display form (color, thickness, etc.) of the stroke assigned to the terminal ID or pen ID of each user (each terminal) is selected from the forms (color, thickness, etc.) that are not currently used by each user. May be. Or the terminal which operate
  • the display style management table 400 is distributed to each terminal in the login state. Therefore, any terminal can display stroke data written by different users in different forms.
  • This stroke data distribution process incorporates the above-described security function (stroke non-display control process).
  • the terminal 10A functions as a handwriting collaboration server system.
  • terminal 10D newly logs in to the handwriting sharing service after logging out of the terminal 10C.
  • the handwriting collaboration server system terminal 10A
  • terminal 10D has transmitted all the stroke data stored in the stroke database 12 to the terminal 10D
  • the stroke data of user C may be spread.
  • the handwriting collaboration server system (terminal 10A) acquires the stroke group associated with the terminal ID of each terminal other than the logged out terminal 10C from the stroke database 12, and only this acquired stroke group is acquired. Is transmitted to the terminal 10D.
  • the processing unit 305 of the handwriting collaboration server system includes a stroke data group input by handwriting on the terminal 10A before logging in to the terminal 10D and a stroke input by handwriting on the terminal 10B before logging in to the terminal 10D.
  • the data group is transmitted to the terminal 10D.
  • the stroke data group input by handwriting at the terminal 10A before the login of the terminal 10D is a stroke data group in the stroke database 12 associated with the terminal ID of the terminal 10A.
  • the stroke data group input by handwriting on the terminal 10B before the terminal 10D logs in is the stroke data group in the stroke database 12 associated with the terminal ID of the terminal 10B.
  • a terminal ID corresponding to this stroke data may be added to each stroke data transmitted from the processing unit 305 of the handwriting collaboration server system (terminal 10A) to the terminal 10D.
  • each stroke data transmitted from the processing unit 305 of the handwriting collaboration server system (terminal 10A) to the terminal 10D is added with both the terminal ID corresponding to the stroke data and the pen ID corresponding to the stroke data. May be.
  • the processing unit 305 of the handwriting collaboration server system (terminal 10A) does not transmit the stroke data group input by handwriting in the logged out terminal 10C to the terminal 10D.
  • the distribution process including the stroke non-display control process as described above, the past handwritten information of each terminal that is currently logged in can be displayed on the screen of the newly logged-in terminal. It is possible to prevent the stroke data of the user C from being spread to a range not intended by the user C of the terminal 10C who has logged out.
  • the reception processing unit 303 of the handwriting collaboration server system receives stroke data input by handwriting on the terminal 10D.
  • the stroke data received from the terminal 10D is stored in the stroke database 12 in a state associated with the terminal ID of the terminal 10D, and transmitted to the other terminals by the transmission processing unit 304.
  • FIG. 12 shows the display content of the handwriting sharing screen displayed on each of the terminals 10A, 10B, and 10C.
  • On each handwriting shared screen of terminals 10A and 10B all stroke data input by handwriting on terminal 10A and all stroke data input by handwriting on terminal 10B are displayed. Furthermore, on the handwriting sharing screen of each of the terminals 10A and 10B, all stroke data input by handwriting on the terminal 10C before logout of the terminal 10C continues to be displayed.
  • FIG. 13 shows another display content of the handwriting sharing screen displayed on each of the terminals 10A, 10B, and 10C.
  • the information for hiding the stroke data group of the terminal 10C may be any information as long as it can hide the stroke data group of the terminal 10C.
  • the processing unit 305 of the handwriting collaboration server system may execute processing for transmitting a command requesting non-display of the stroke data group of the terminal 10C to the terminal 10B.
  • the processing unit 305 of the handwriting collaboration server system may execute processing for transmitting erase stroke data for erasing each stroke data of the terminal 10C to the terminal 10B.
  • the erase stroke data has the same attribute as the stroke data drawn by the “eraser” tool, that is, the attribute that makes the stroke data overlapping the erase stroke data transparent.
  • the handwritten collaboration server system includes one or more terminals other than the handwritten terminals. It may be realized by a server.
  • the handwriting collaboration server system 2 is realized by one or more servers on the network 1 such as the Internet or an intranet.
  • the handwriting collaboration server system 2 includes a stroke reception processing unit 21, a stroke transmission processing unit 22, and a stroke processing unit 23.
  • the stroke reception processing unit 21 receives stroke data input by handwriting in each of the terminals 10A, 10B, and 10C from each of these terminals 10A, 10B, and 10C.
  • the stroke processing unit 23 stores each received stroke data in the stroke database 12 in association with the terminal ID of the transmission source terminal of the stroke data.
  • the stroke transmission processing unit 22 transmits stroke data received from another terminal other than the first terminal to an arbitrary terminal (first terminal) in the terminals 10A, 10B, and 10C.
  • the stroke transmission processing unit 22 displays the stroke group associated with the terminal ID of each terminal other than the logged out terminal 10C as the stroke database 12. And the acquired stroke group is transmitted to the terminal 10D.
  • the handwriting collaboration server system receives stroke data from terminal B (terminal 10B) in the login state (step S11).
  • the stroke data received from terminal B (terminal 10B) is stroke data input by handwriting on terminal B (terminal 10B).
  • the handwriting collaboration server system (terminal 10A) transmits the stroke data received from terminal B (terminal 10B) to all other terminals in the login state (step S12).
  • the stroke data received from terminal B (terminal 10B) may be broadcast to all other terminals in the login state.
  • the handwritten object handwritten in the terminal B (terminal 10B) is reflected in real time on the screen of each other terminal in units of stroke data.
  • the handwriting collaboration server system receives the stroke data from terminal C (terminal 10C) in the login state (step S13).
  • the stroke data received from the terminal C (terminal 10C) is stroke data input by handwriting in the terminal C (terminal 10C).
  • the handwriting collaboration server system (terminal 10A) transmits the stroke data received from the terminal C (terminal 10C) to all other terminals in the login state (step S14).
  • the stroke data received from terminal C (terminal 10C) may be broadcast to all other terminals in the login state.
  • FIG. 16 shows examples of setting some policies related to the handling of shared handwritten information.
  • This setting may be executed, for example, according to the operation of the user A of the terminal 10A that functions as a handwriting collaboration server system.
  • the flowchart of FIG. 17 shows the procedure of the stroke non-display control process.
  • the processing unit 305 of the handwriting collaboration server system determines whether a terminal that is logged in to the handwriting sharing service has been logged out of the handwriting sharing service (step S21).
  • the processing unit 305 responds to reception of a logout request from a certain terminal or responds to detection that a response from a certain terminal has been interrupted for a threshold time or more, and this certain terminal is logged out. You may decide.
  • step S21 the processing unit 305 of the handwriting collaboration server system (terminal 10A) determines whether or not the option “do not show to existing participants” is valid. (Step S22).
  • the processing unit 305 of the handwriting collaboration server system may use the stroke data of the logged out terminal (for example, terminal 10C). Information for hiding the group is transmitted to each other terminal in the login state (step S23). In step S23, the processing unit 305 of the handwriting collaboration server system (terminal 10A) also executes a process of hiding the stroke data group of the terminal 10C displayed on the handwriting sharing screen of the terminal 10A.
  • step S22 If the option “do not show to existing participants” is not valid (NO in step S22), the processing unit 305 of the handwriting collaboration server system (terminal 10A) does not execute the process in step S23.
  • the processing unit 305 of the handwriting collaboration server system determines whether or not a new terminal has logged into the handwriting sharing service (step S24).
  • step S24 the processing unit 305 of the handwriting collaboration server system (terminal 10A) has the option of “not showing to newly logged in participants”. It is determined whether or not (step S25).
  • step S25 the processing unit 305 of the handwriting collaboration server system (terminal 10A) Only the stroke data group is transmitted to the newly logged-in terminal (step S26).
  • step S26 the processing unit 305 acquires a stroke data group associated with the terminal ID of each terminal other than the logged out terminal from the stroke database 12, and transmits these stroke data groups to the newly logged-in terminal. .
  • step S25 the processing unit 305 of the handwriting collaboration server system (terminal 10A) displays all stroke data, that is, the log-out terminal.
  • the stroke data group and the stroke data group of each other terminal are transmitted to the newly logged-in terminal (step S27).
  • the stroke data group of each terminal other than the logged out terminal is stored in the newly logged-in terminal.
  • the stroke data group of the terminal that has been transmitted and logged out is not transmitted to the newly logged-in terminal. Therefore, the past handwritten information of each terminal that is currently logged in can be displayed on the screen of the newly logged-in terminal. It is possible to prevent the user from displaying on an unexpected terminal (that is, a newly logged-in terminal). Therefore, it is possible to prevent the stroke data group of the user from being spread to a range not intended by the user of the terminal who has already logged out, so that handwritten information can be safely shared.
  • each function of the processing unit 305 of the handwriting collaboration server system (terminal 10A) of the present embodiment can be realized by a computer program, so that the computer program is stored in a computer through a computer-readable storage medium storing the computer program.
  • the effect similar to that of the present embodiment can be easily realized simply by installing and executing the software.
  • the CPU in the computer in which this computer program is installed can function as a processor configured to execute the distribution process including the stroke non-display control process described above.
  • the wireless communication device in the computer in which the computer program is installed can function as a receiving unit configured to receive stroke data input by handwriting in each terminal, and can further receive each received stroke data. It can function as a transmission unit that transmits to each terminal other than the transmission source of the stroke data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

 実施形態によれば、システムは、第1端末において手書き入力される第1ストロークデータおよび第2端末において手書き入力される第2ストロークデータを受信する。システムは、前記第1ストロークデータを前記第2端末に送信し、前記第2ストロークデータを前記第1端末に送信する。前記第2端末のログアウト後に第3端末がログインした場合、システムは、前記第1端末において第3端末のログイン前に手書き入力された第1ストロークデータ群を前記第3端末に送信するための処理を実行する。

Description

手書き情報を共有するためのシステムおよび方法
 ここに記載される実施形態は、手書き情報を共有するための技術に関する。
 近年、タブレット、PDA、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
 また最近では、複数の端末間で表示画面を共有することによって遠隔会議を行うシステムも開発されている。
特開2013-65125号公報
 しかし、従来では、手書き情報を安全に共有するための技術については考慮されていないのが現状である。
 本発明の一形態の目的は、手書き情報を安全に共有することができるシステムおよび方法を提供することである。
 実施形態によれば、システムは、受信手段と、送信手段と、処理手段とを具備する。前記受信手段は、ログイン状態である第1端末において手書き入力される第1ストロークデータおよびログイン状態である第2端末において手書き入力される第2ストロークデータを受信する。前記送信手段は、前記第1ストロークデータを前記第2端末に送信し、前記第2ストロークデータを前記第1端末に送信する。前記処理手段は、前記第2端末のログアウト後に第3端末がログインした場合、前記第1端末において前記第3端末のログイン前に手書き入力された第1ストロークデータ群を前記第3端末に送信するための処理を実行する。前記処理手段は、前記第2端末において前記第2端末のログアウト前に手書き入力された第2ストロークデータ群を前記第3端末に送信しない。
図1は実施形態に係る電子機器の外観を示す例示的な斜視図である。 図2は手書き共有サービスを利用する端末間の接続を示す例示的な図である。 図3は図1の電子機器(手書きコラボレーションサーバシステム)と各端末との間のデータの流れを示す例示的な図である。 図4は複数の端末の手書き情報を表示する画面の例を示す例示的な図である。 図5は図1の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す例示的な図である。 図6は図5の手書き文書に対応する時系列情報(手書きページデータ)を示す例示的な図である。 図7は図1の電子機器のシステム構成を示す例示的なブロック図である。 図8は図1の電子機器によって実行される手書き共有アプリケーションプログラムの機能構成を示す例示的なブロック図である。 図9は図1の電子機器のストロークデータベースに格納される情報の内容を示す例示的な図である。 図10は図1の電子機器によって生成される表示スタイル管理テーブルを示す例示的な図である。 図11はある端末のログアウトの後に別の端末がログインした時に実行されるストロークデータ配信処理を示す例示的な図である。 図12は複数の端末にそれぞれ表示される複数の手書き共有画面の表示内容を示す例示的な図である。 図13は複数の端末にそれぞれ表示される複数の手書き共有画面の表示内容を示す別の例示的な図である。 図14は手書きコラボレーションサーバシステムの構成を示す例示的なブロック図である。 図15は図1の電子機器によって実行されるストローク配信処理の手順を示す例示的なフローチャートである。 図16は共有される手書き情報の取り扱いに関する幾つかのポリシーを示す例示的な図である。 図17は図1の電子機器によって実行されるストローク非表示制御処理の手順を示す例示的なフローチャートである。
 以下、実施の形態について図面を参照して説明する。 
 図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン(スタイラス)または指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、この電子機器がタブレットコンピュータ10として実現されている場合を想定する。タブレットコンピュータ10は、タブレットまたはスレートコンピュータとも称される携帯型電子機器である。タブレットコンピュータ10は、図1に示すように、本体11とタッチスクリーンディスプレイ17とを備える。タッチスクリーンディスプレイ17は、本体11の上面に重ね合わせるように取り付けられている。
 本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、センサとが組み込まれている。センサは、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されている。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を想定する。
 このタッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、ペン100を使用した画面に対するタッチ操作も検出することができる。ペン100は例えば電磁誘導ペン(デジタイザペン)であってもよい。ユーザは、ペン100を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上のペン100の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡(筆跡)がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。ペン100が画面に接触されている間のペン100の動きの軌跡が1ストロークに相当する。手書きされた文字または図形などに対応する多数のストロークの集合、つまり多数の軌跡(筆跡)の集合が手書き文書を構成する。
 本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係とを示す時系列情報として記憶媒体に保存される。この時系列情報の詳細は図6を参照して後述するが、この時系列情報は、複数のストロークが手書きされた順を示し、且つ複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、この時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
 さらに、タブレットコンピュータ10は編集機能を有している。この編集機能は、「消しゴム」ツール、範囲指定ツール、および他の各種ツール等を用いたユーザによる編集操作に応じて、表示中の手書き文書内の任意のストロークまたは任意の手書き文字等を削除または移動することができる。さらに、この編集機能は、幾つかの手書き操作の履歴を取り消す機能も含んでいる。
 本実施形態では、時系列情報は、1つまたは複数のページとして管理されうる。この場合、時系列情報を1つの画面に収まる面積単位で区切ることによって、1つの画面に収まる時系列情報のまとまりを1つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは1つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。1つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
 このように、時系列情報はページデータとして管理することができるので、以下では、時系列情報を手書きページデータあるいは単に手書きデータとも称する。
 さらに、タブレットコンピュータ10は、Webページ、テキスト、画像、他の各種コンテンツ上に文字、図形のようなオブジェクトを手書きすることもできる。この場合、手書きストロークは、表示されているコンテンツ上に設定される透明レイヤ上に描画し得る。これにより、この手書きストロークを上述のコンテンツ上に重ねて表示することができる。
 また、さらに、タブレットコンピュータ10は、手書きコラボレーション機能を有している。手書きコラボレーション機能は、手書き情報(手書きストローク)を複数の端末間で共有して手書きによる協同作業を行うための手書き共有サービスを実行する。この手書き共有サービスは、複数の端末内のいずれかの端末において手書き入力されるストロークデータを他の各端末にリアルタイムに送信する。これによって、これら複数の端末の表示画面の内容を同期させることができる。この場合、異なるユーザによって手書き入力されたストロークは、異なる形態(例えば、異なる色、異なる太さ、異なるペンタイプ、等)で各端末の画面に表示することができる。ストロークデータの表示形態をユーザ毎に変更することは、どのストロークがどのユーザによって手書きされたかを識別することを可能にする。また、各端末の表示画面には、手書き共有サービスにログインしている各端末(各ユーザ)に割り当てられた表示形態を示すガイドを表示してもよい。
 図2は、手書き共有サービスを利用する端末間の接続例を示す。 
 端末10Aは、ユーザAによって使用されるタブレットコンピュータである。端末Bは、ユーザBによって使用されるタブレットコンピュータである。端末10Cは、ユーザCによって使用されるタブレットコンピュータである。端末10A、10B、10Cの各々は、本実施形態のタブレットコンピュータ10と同等の手書きコラボレーション機能を有している。
 端末10A、10B、10Cは互いに無線接続される。この無線接続のための方法としては、複数の端末を互いに無線接続することが可能な任意の無線接続規格を使用し得る。例えば、Wi-Fi Direct(登録商標)、またはBluetooth(登録商標)が、端末間を互いに無線接続するために使用されてもよい。以下では、一例として、Wi-Fi Direct(登録商標)を使用する場合を想定する。
 Wi-Fi Direct(登録商標)に対応する端末(機器)それぞれは、1対1ベーシスで、あるいは1対他ベーシスで、互いに接続することができる。端末10A、10B、10Cの各々は、Wi-Fi Direct(登録商標)に対応する端末(機器)として機能し得る。
 端末10A、10B、10Cのいずれか1つは、手書き共有サービスを管理するように構成されたサーバ(手書きコラボレーションサーバシステム)として機能することができる。この手書きコラボレーションサーバシステムは、他の端末それぞれを手書き共有サービスのグループに招待することができる。この場合、手書きコラボレーションサーバシステムは、手書き共有サービスのグループへの参加を促す招待信号を他の端末それぞれに送信してもよい。また、手書きコラボレーションサーバシステムは、グループへの参加を要求している各端末に、グループに参加すること、つまり手書きコラボレーションサーバシステム(手書き共有サービス)へログインすること、を許可するか否かを決定することもできる。手書きコラボレーションサーバシステムから許可を受け取った各端末だけが、手書き共有サービスにログインすること、つまりグループに参加してグループ内の他の端末に接続することが許可されても良い。
 ここで、各端末が手書きコラボレーションサーバシステム(手書き共有サービス)へログインする方法としては、この端末自体のID(アカウント)を使用して手書き共有サービスにログインする方法、またはこの端末を使用するユーザのID(アカウント)を使用して手書き共有サービスにログインする方法のいずれを使用してもよい。つまり、手書き共有サービスに対するログインおよびログアウトは、端末自体のID(アカウント)を使用したログインおよびログアウト、またはユーザのID(アカウント)を使用したログインおよびログアウトのどちらであってもよい。
 いま、端末10A、10B、10Cが手書き共有サービスにログインしている状態である場合、つまり端末10A、10B、10Cが相互に接続されている場合を想定する。端末10A、10B、10Cを含む手書き共有サービスのグループにおいては、これら端末10A、10B、10Cの表示画面の内容が同期される。
 ユーザA,B,Cの各々が自身の端末において手書き入力したストロークデータは、自身の端末の画面に表示されるだけでなく、他の各ユーザの端末の画面にもリアルタイムに反映される。これにより、手書き共有サービスのグループに参加しているユーザ間で互いの手書き情報(手書き文字、手書き図形等)を交換・共有することができる。
 さらに、手書き共有サービスのグループに参加している端末10A、10B、10Cは、会議資料のような同じコンテンツを画面上に表示することもできる。この場合、各端末において手書き入力されるストロークデータは、このコンテンツ上に表示される。ユーザA,B,Cは、同じコンテンツを見ながら、このコンテンツ上に手書きされる手書き情報(手書き文字、手書き図形等)をユーザA,B,C間で交換・共有することができる。
 図3は、手書きコラボレーションサーバシステムと各端末との間のデータの流れを示す。
 図3では、端末10Aが、手書きコラボレーションサーバシステムとして動作する場合が想定されている。端末10Aは、手書き共有サービスにログインしている複数の端末の一つである。
 手書きコラボレーションサーバシステム(端末10A)は、1対他ベーシスで、端末10B、10Cの各々との通信をする能力を有している。手書きコラボレーションサーバシステム(端末10A)は、ログイン状態である端末10Bに直接的に接続される。さらに、手書きコラボレーションサーバシステム(端末10A)は、ログイン状態である端末10Cに直接的に接続される。
 手書きコラボレーションサーバシステム(端末10A)は、端末10Bにおいて手書き入力されるストロークデータを端末10Bから受信する。また、手書きコラボレーションサーバシステム(端末10A)は、端末10Cにおいて手書き入力されるストロークデータを端末10Bから受信する。
 さらに、手書きコラボレーションサーバシステム(端末10A)は、端末10Aにおいて手書き入力されるストロークデータと端末10Cから受信されたストロークデータとを端末10Bに送信する。またさらに、手書きコラボレーションサーバシステム(端末10A)は、端末10Aにおいて手書きに入力されるストロークデータと端末10Bから受信されたストロークデータとを端末10Cに送信する。
 したがって、端末10Aのディスプレイにおいては、ユーザAの手書きオブジェクトが表示されるだけでなく、ユーザBの手書きオブジェクト、さらにはユーザCの手書きオブジェクトもリアルタイムに表示される。
 同様にして、端末10Bのディスプレイにおいても、ユーザBの手書きオブジェクトが表示されるだけでなく、ユーザAの手書きオブジェクト、さらにはユーザCの手書きオブジェクトがリアルタイムに表示される。
 また同様に、端末10Cのディスプレイにおいても、ユーザCの手書きオブジェクトが表示されるだけでなく、ユーザAの手書きオブジェクト、さらにはユーザBの手書きオブジェクトもリアルタイムに表示される。
 手書きコラボレーションサーバシステム(端末10A)は、各端末において手書き入力される複数のストロークデータの各々を送信元端末識別子(端末ID)に対応付けてデータベース12に格納する。送信元端末識別子(端末ID)は、端末を識別可能な情報であればどのような情報であっても良い。例えば、端末IDは、MACアドレスやIPアドレスのような既存の情報や、手書き共有サービスにおいて設定される情報であっても良く、また手書きコラボレーションサーバシステム(端末10A)によって各端末10A,10B,10Cに付与される情報であっても良く、乱数に基づいて端末ごとに設定される情報であっても良い。
 例えば、端末10Bから受信される個々のストロークデータには、端末10Bに対応する端末IDが送信元端末識別子として付加されていても良い。端末10Bから受信される個々のストロークデータは、端末10Bに対応する端末IDに対応付けてデータベース12に格納される。同様に、端末10Cから受信される個々のストロークデータには、端末10Cに対応する端末IDが送信元端末識別子として付加されていても良い。端末10Cから受信される個々のストロークデータは、端末10Cに対応する端末IDに対応付けてデータベース12に格納される。さらに、端末10Aにおいて手書き入力される個々のストロークデータは、端末10Aに対応する端末IDに対応付けてデータベース12に格納される。
 なお、各ストロークデータには、送信元端末識別子(端末ID)だけでなく、そのストロークデータの手書き入力に使用されたペンを識別可能なペン識別子(ペンID)も付加されていても良い。手書き入力に使用されるペンがこのペンの固有のペンIDを端末に送信する機能を有している場合には、端末は、ペンからこのペンのペンIDを取得することができる。各端末10A,10B,10Cは、当該端末におけるストロークデータの手書き入力に使用されるペンのペンIDが取得可能な場合、当該端末の端末IDと取得されたペンIDとが付加されたストロークデータを送信する。一方、当該端末におけるストロークデータの手書き入力に使用されるペンのペンIDが取得できない場合、各端末10A,10B,10Cは、当該端末の端末IDが付加されたストロークデータを送信する。
 手書きコラボレーションサーバシステム(端末10A)は、受信されたストロークデータに付加されている送信元端末識別子(端末ID)に基づいて、この受信されたストロークデータを、この受信されたストロークデータの送信元端末以外の他の各端末に送信する。換言すれば、手書きコラボレーションサーバシステム(端末10A)は、個々のストロークデータが配信されるべき端末を、個々のストロークデータに対応する端末IDに基づいて決定することができる。
 図4は、ログイン状態である端末の画面(手書き共有画面)の例を示している。各端末の手書き共有画面30Aの表示領域においては、手書き入力可能な透明のレイヤ(手書きレイヤ)30Bが設定される。この手書き共有画面30A上に、各ユーザのストロークデータ(手書きストローク)が表示される。
 例えば、端末10Aの手書き共有画面30Aにおいては、端末10Aの手書き共有画面30A上でペン100Aを使用してユーザAによって手書き入力されるストロークデータ(ユーザAの手書きストローク)40が表示される。さらに、端末10Aの共有画面30A上においては、他の端末から受信されるストロークデータが表示される。他の端末から受信されるストロークデータには、ユーザBによって手書き入力されたストロークデータ(ユーザBの手書きストローク)42と、ユーザCによって手書き入力されたストロークデータ(ユーザCの手書きストローク)44とが含まれる。
 上述したように、異なるユーザのストロークデータは異なる形態で手書き共有画面30A上に表示される。この場合、各ストロークデータがどのユーザ(端末)に対応するかは、各ストロークデータに対応する端末IDに基づいて判定することができる。あるいは、各ストロークデータがどのユーザ(端末)に対応するかは、各ストロークデータに対応するペンIDに基づいて判定してもよい。
 次に、図5および図6を参照して、ユーザによって手書き入力されるストロークデータ(手書き文字、手書きマーク、手書き図形、手書き表など)と時系列情報との関係について説明する。図5は、ペン100などを使用してタッチスクリーンディスプレイ17上に手書きされる手書き文書(手書き文字列)の例を示している。
 図5においては、「ABC」の手書き文字列が「A」、「B」、「C」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「A」のすぐ近くに手書きされた場合が想定されている。
 手書き文字「A」は、ペン100などを使用して手書きされる2つのストローク(「∧」形状の軌跡、「-」形状の軌跡)によって表現される。最初に手書きされる「∧」形状のペン100の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標SD11、SD12、…SD1nが得られる。同様に、次に手書きされる「-」形状のペン100の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「-」形状のストロークの時系列座標SD21、SD21、…SD2nが得られる。
 手書き文字「B」は、ペン100などを使用して手書きされた2つのストロークによって表現される。手書き文字「C」は、ペン100などを使用して手書きされた1つのストロークによって表現される。手書きの「矢印」は、ペン100などを使用して手書きされた2つのストロークによって表現される。
 図6は、図5の手書き文書に対応する時系列情報200を示している。時系列情報は、複数のストロークデータSD1、SD2、…、SD7を含む。時系列情報200内においては、これらストロークデータSD1、SD2、…、SD7は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べている。
 時系列情報200において、先頭の2つのストロークデータSD1、SD2は、手書き文字「A」の2つのストロークをそれぞれ示している。3番目と4番目のストロークデータSD3、SD4は、手書き文字「B」を構成する2つのストロークをそれぞれ示している。5番目のストロークデータSD5は、手書き文字「C」を構成する1つのストロークを示している。6番目と7番目のストロークデータSD6、SD7は、手書き「矢印」を構成する2つのストロークをそれぞれ示している。
 各ストロークデータは、一つのストロークに対応する座標データ系列(時系列座標)、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「A」に関しては、ストロークデータSD1は、手書き文字「A」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)、つまりn個の座標データSD11、SD12、…SD1nを含む。ストロークデータSD2は、手書き文字「A」の「-」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりn個の座標データSD21、SD22、…SD2nを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
 各座標データは、対応する軌跡内のある1点に対応するX座標およびY座標を示す。例えば、座標データSD11は、「∧」形状のストロークの始点のX座標(X11)およびY座標(Y11)を示す。SD1nは、「∧」形状のストロークの終点のX座標(X1n)およびY座標(Y1n)を示す。
 さらに、各座標データには、筆圧を示す情報(Z)を追加してもよい。
 図7は、タブレットコンピュータ10のシステム構成を示す。 
 タブレットコンピュータ10は、図7に示されるように、CPU101、システムコントローラ102、主メモリ103、グラフィクスプロセッシングユニット(GPU)104、BIOS-ROM105、不揮発性メモリ106、無線通信デバイス107、エンベデッドコントローラ(EC)108等を備える。
 CPU101は、タブレットコンピュータ10内の各種モジュールの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ106から主メモリ103にロードされる様々なプログラムを実行する。これらプログラムには、オペレーティングシステム(OS)201、および様々なアプリケーションプログラムが含まれている。アプリケーションプログラムには、手書き共有アプリケーションプログラム202が含まれている。この手書き共有アプリケーションプログラム202は、手書き情報を複数の端末間で共有するための上述の手書きコラボレーション機能を実行可能に構成されている。
 また、CPU101は、BIOS-ROM105に格納された基本入出力システム(BIOS)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
 システムコントローラ102は、CPU101のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスプロセッシングユニット(GPU)104との通信を実行する機能も有している。
 GPU104は、本タブレットコンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示プロセッサである。このGPU104によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて画面イメージを表示する。このLCD17Aの上面側にはタッチパネル17Bが配置されている。LCD17Aの下面側にはデジタイザ17Cが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル17Bによって検出される。デジタイザ17CはLCD17Aの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン100が接触される画面上の接触位置および接触位置の動き等はデジタイザ17Cによって検出される。
 無線通信デバイス107は、無線通信を実行するように構成されたデバイスである。無線通信デバイス107は、上述のWi-Fi Direct(登録商標)に対応する無線通信を実行するように構成されていてもよい。
 EC108は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。EC108は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ10を電源オンまたは電源オフする機能を有している。
 次に、図8を参照して、手書き共有アプリケーションプログラム202の機能構成について説明する。
 手書き共有アプリケーションプログラム202は、手書き情報を共有するための機能実行モジュールとして、手書き入力インタフェース300、表示処理部301、ストロークデータ生成部302、送信処理部304、受信処理部305、および処理部305等を含む。
 手書き共有アプリケーションプログラム202は、タッチスクリーンディスプレイ17を用いて入力されるストロークデータを使用することによって、手書きページデータの作成、表示、編集等を行う。タッチスクリーンディスプレイ17のデジタイザ17Cは、「タッチ」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上にペンが接触したことを示すイベントである。「移動(スライド)」は、画面上にペンが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からペンが離されたことを示すイベントである。
 手書き入力インタフェース300は、タッチスクリーンディスプレイ17のデジタイザ17Cと協同して手書き入力を行うように構成されたインタフェースである。手書き入力インタフェース300は、タッチスクリーンディスプレイ17のデジタイザ17Cから「タッチ」または「移動(スライド)」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントにも、移動先の接触位置の座標が含まれている。したがって、手書き入力インタフェース300は、タッチスクリーンディスプレイ17から、接触位置の動きの軌跡に対応する座標列を受信することができる。
 表示処理部301は、手書き入力インタフェース300から座標列を受信し、この座標列に基づいて、ペン100を使用した手書き入力操作によって手書き入力される各ストロークデータをLCD17Aの画面上に表示する。さらに、表示処理部301は、処理部305の制御の下、他の端末から受信されたストロークデータをLCD17Aの画面上に表示する。
 ストロークデータ生成部302は、手書き入力インタフェース300から上述の座標列を受信し、この座標列に基づいて、図6で詳述したような構造を有する時系列情報を生成する。この場合、時系列情報はストロークデータベース12に格納されてもよい。
 送信処理部304は、処理部305の制御の下、無線通信デバイス107を使用してストロークデータベース12内の各ストロークデータを他の端末に送信するための処理を実行する。受信処理部305は、処理部305の制御の下、無線通信デバイス107を使用して他の端末からストロークデータを受信するための処理を実行する。
 処理部305は、複数の端末間で手書き情報を共有するための処理を実行する。この処理部305は、ペンID取得部311、メンバ管理部312、ストローク管理部313、および表示スタイル管理部314等を含む。
 ペンID取得部311は、ストロークデータの手書き入力に使用されるペンからペンIDを取得する。ペンIDを有するペンつまりペンIDを送信可能なペンを使用している端末においては、ペンID取得部311は、手書き入力に現在使用されているペンのペンIDを取得することができる。メンバ管理部312は、手書き共有サービスにログインしているメンバ(端末)それぞれを管理する。メンバ管理部312は、手書き共有サービスへのログインを要求している端末に、ログインすることを許可するか否かを決定することができる。この場合、メンバ管理部312は、新たな端末のログインを許可するか否かを各メンバに問い合わせ、全てのメンバから許可を受け取ることを条件に、新たな端末のログインを許可してもよい。メンバ管理部312から許可を受け取った端末は、手書き共有サービスにログインすることが許可され、これによって手書き共有サービスにログインしている他の各端末と接続される。メンバ管理部312の機能は、手書きコラボレーションサーバシステムとして動作する端末においてのみ実行されても良い。
 ストローク管理部313は、手書き共有サービスに参加している各端末つまりログイン状態である各端末から受信されるストロークデータを、ストロークデータベース12を使用して、管理する。ストローク管理部313は、手書きコラボレーションサーバシステムとして動作する端末においてのみ実行されても良い。
 表示スタイル管理部314は、ログインした端末(ユーザ)毎に、端末IDまたはペンIDとストロークデータの表示の形態との関係を管理する。手書きコラボレーションサーバシステムとして動作する端末の表示スタイル管理部314は、端末IDまたはペンIDとストロークデータの表示の形態との関係を端末毎に規定する形態情報である表示スタイル管理テーブルを生成し、この表示スタイル管理テーブルを他の各端末に送信することができる。手書き共有サービスの実行中は、各端末は、表示スタイル管理テーブルを使用して、個々のストロークデータの表示に使用する形態を決定する。
 ところで、手書き共有サービスを会議等を実行するためのツールとして有用なものとするためには、図3で説明したようにユーザA,B,Cの三人が手書き共有サービスにログインしている状態で、新たにユーザDがこの手書き共有サービスにログインした際に、既にユーザA,B,Cの各端末に表示されている手書き情報をユーザDの端末の画面上に反映できるようにする同期機能が必要とされる。
 しかし、一方で、手書き共有サービスをビジネス環境で利用する場合には、セキュリティが重要な要素になってくる。もし端末10A,端末10B,端末10Cに現在表示されている内容の全てが、後からログインしたユーザDの端末に無条件に表示されてしまったならば、セキュリティ性が損なわれる可能性がある。
 例えば、端末10Cのログアウト後にユーザDの端末が新たにログインするというケースを想定すると、端末10CのユーザCが本来意図しない範囲にまで、つまり新たにログインしたユーザDの端末にまで、ユーザCの手書き情報が拡散されてしまう可能性がある。
 端末10Cのログアウトは、例えば、端末10Cの手書き共有アプリケーションプログラムの終了、ユーザCによる明示的なログアウト操作、端末10Cの電源オフ、のようなイベントの発生によって引き起こされる。
 本実施形態では、処理部305は、既にログアウトした端末において手書き入力されたストローク群が新たにログインした端末において表示されるのを防止することを可能にするためのセキュリティ機能を有している。このセキュリティ機能の詳細は、図11以降で説明する。
 図9は、手書きコラボレーションサーバシステム(端末10A)のストロークデータベース12の内容を示す。ストロークデータベース12は、レコードIDがそれぞれ割り当てられた多数のレコード(多数の記憶領域)を含む。1つのレコードには1つのストロークデータ(1画)が割り当てられる。各レコードにおいては、端末ID(デバイスID)、およびストロークデータ(座標列)、等が格納される。さらに、ストロークデータに対応するユーザIDおよびペンID等を各レコードに格納しても良い。
 図9においては、レコードID=1、レコードID=2、…、レコードID=102の各レコードには、端末10A(端末ID=A)において手書き入力されたストロークデータが格納されている。レコードID=3のレコードには、端末10B(端末ID=B)において手書き入力されたストロークデータが格納されている。レコードID=4、…、レコードID=100、レコードID=101の各レコードには、端末10C(端末ID=C)において手書き入力されたストロークデータが格納されている。
 図10は、手書きコラボレーションサーバシステムとして動作する端末の表示スタイル管理部314によって生成される表示スタイル管理テーブル400を示す。
 表示スタイル管理テーブル400は、上述したように、端末IDまたはペンIDとストロークデータの表示の形態(色、太さ、その他)との関係を端末毎に規定する。
 図10においては、端末10A、10B、10C、10Dが手書き共有サービスにログインしている場合が想定されている。
 ここでは、端末10A(端末ID=A)においてはペンID=PEN1のペンが手書き入力のために使用され、端末10B(端末ID=B)においてはペンIDを持たないペンが手書き入力のために使用され、端末10C(端末ID=C)においてはペンID=PEN3のペンが手書き入力のために使用され、端末10D(端末ID=D)においてはペンID=PEN11のペンが手書き入力のために使用されている場合が想定されている。
 表示スタイル管理テーブル400は、手書き共有サービスにログインしているユーザそれぞれに対応するレコード(記憶領域)を含む。各レコードは、「端末ID」フィールド、「ペンID」フィールド、「ストロークの色」フィールド、「ストロークの太さ」フィールド、「その他」フィールドを含む。「端末ID」フィールドは、対応するユーザ(端末)の端末IDを格納する。「ペンID」フィールドは、対応するユーザ(端末)がログイン時に使用したペンのペンIDを格納する。「ストロークの色」フィールドは、対応するユーザのストロークを表示するために使用すべき色を示す情報を格納する。「ストロークの太さ」フィールドは、対応するユーザのストロークを表示するために使用すべき太さを示す情報を格納する。
 例えば、ユーザAに対応するレコードに関しては、端末ID「A」が「端末ID」フィールドに格納され、ペンID「PEN1」が「ペンID」フィールドに格納され、色「黒」が「ストロークの色」フィールドに格納されている。
 ユーザBに対応するレコードに関しては、端末ID「B」が「端末ID」フィールドに格納され、ペンID「なし」が「ペンID」フィールドに格納され、色「赤」が「ストロークの色」フィールドに格納されている。なお、端末10B(端末ID=B)においてペンID=PEN2のペンがログイン時に使用された場合には、ペンID「なし」の代わりに、ペンID「PEN2」が「ペンID」フィールドに格納される。
 ユーザCに対応するレコードに関しては、端末ID「C」が「端末ID」フィールドに格納され、ペンID「PEN3」が「ペンID」フィールドに格納され、色「緑」が「ストロークの色」フィールドに格納されている。
 ユーザDに対応するレコードに関しては、端末ID「D」が「端末ID」フィールドに格納され、ペンID「PEN11」が「ペンID」フィールドに格納され、色「青」が「ストロークの色」フィールドに格納されている。
 各ユーザ(各端末)の端末IDまたはペンIDに割り当てられるストロークの表示形態(色、太さ、等)は、各ユーザが、現在使用されていない形態(色、太さ、等)から選択しても良い。あるいは、手書きコラボレーションサーバシステムとして動作する端末が、各ユーザ(各端末)に割り当てるべきストロークの形態を決定してもよい。
 本実施形態においては、上述したように、表示スタイル管理テーブル400は、ログイン状態である各端末に配信される。したがって、どの端末も、異なるユーザによって書かされたストロークデータを異なる形態で表示することができる。
 次に、図11を参照して、処理部305によって実行されるストロークデータ配信処理を説明する。このストロークデータ配信処理には、上述のセキュリティ機能(ストローク非表示制御処理)が組み込まれている。
 図11においては、図3で説明したように、端末10A、端末10B、および端末10Cが手書き共有サービスにログインしている場合が想定されている。端末10Aは、手書きコラボレーションサーバシステムとして機能する。
 いま、端末10Cのログアウト後に端末10Dが手書き共有サービスに新たにログインする場合を想定する。この場合、もし手書きコラボレーションサーバシステム(端末10A)がストロークデータベース12に格納されている全てのストロークデータを端末10Dに送信したならば、ログアウトした端末10CのユーザCが意図していない端末10Dにまで、ユーザCのストロークデータが拡散されてしまう可能性がある。
 このため、本実施形態では、手書きコラボレーションサーバシステム(端末10A)は、ログアウトした端末10C以外の各端末の端末IDに関連付けられているストローク群をストロークデータベース12から取得し、この取得したストローク群のみを端末10Dに送信する。
 より詳しくは、手書きコラボレーションサーバシステム(端末10A)の処理部305は、端末10Dのログイン前に端末10Aにおいて手書き入力されたストロークデータ群と、端末10Dのログイン前に端末10Bにおいて手書き入力されたストロークデータ群とを、端末10Dに送信する。端末10Dのログイン前に端末10Aにおいて手書き入力されたストロークデータ群は、端末10Aの端末IDが関連付けられた、ストロークデータベース12内のストロークデータ群である。同様に、端末10Dのログイン前に端末10Bにおいて手書き入力されたストロークデータ群は、端末10Bの端末IDが関連付けられた、ストロークデータベース12内のストロークデータ群である。手書きコラボレーションサーバシステム(端末10A)の処理部305から端末10Dに送信される各ストロークデータには、このストロークデータに対応する端末IDが付加されていてもよい。あるいは、手書きコラボレーションサーバシステム(端末10A)の処理部305から端末10Dに送信される各ストロークデータには、このストロークデータに対応する端末IDとこのストロークデータに対応するペンIDの双方が付加されていてもよい。
 手書きコラボレーションサーバシステム(端末10A)の処理部305は、ログアウトした端末10Cにおいて手書き入力されたストロークデータ群を端末10Dに送信しない。
 以上のようなストローク非表示制御処理を含む配信処理(同期処理)により、現在ログイン状態である各端末の過去の手書き情報を、新たにログインした端末の画面に表示することができ、さらに、既にログアウトした端末10CのユーザCが意図していない範囲にまで、このユーザCのストロークデータが拡散されてしまうことを防ぐことができる。
 また、端末10Dのログイン後においては、手書きコラボレーションサーバシステム(端末10A)の受信処理部303は、端末10Dにおいて手書き入力されるストロークデータを受信する。端末10Dから受信されたストロークデータは端末10Dの端末IDに対応付けられた状態でストロークデータベース12に格納されると共に、送信処理部304によって他の各端末に送信される。
 図12は、端末10A、10B、10Cにそれぞれ表示される手書き共有画面の表示内容を示す。端末10A、10Bの各々の手書き共有画面においては、端末10Aにおいて手書き入力された全てのストロークデータおよび端末10Bにおいて手書き入力された全てのストロークデータが表示される。さらに、端末10A、10Bの各々の手書き共有画面においては、端末10Cのログアウト前に端末10Cにおいて手書き入力された全てのストロークデータも表示され続ける。
 一方、端末10Cのログイン直後の端末10Cの手書き共有画面においては、端末10Cのログイン前に端末10Aにおいて手書き入力された全てのストロークデータと、端末10Cのログイン前に端末10Bにおいて手書き入力された全てのストロークデータが表示される。しかし、ログアウトした端末10Cのどのストロークデータも端末10Cの手書き共有画面に表示されない。
 図13は、端末10A、10B、10Cにそれぞれ表示される手書き共有画面の別の表示内容を示す。
 図13においては、端末10A、10Bの各々の手書き共有画面においても、ログアウトした端末10Cの全てのストロークデータが非表示となる。この場合、端末10Cのログアウトの直後に、手書きコラボレーションサーバシステム(端末10A)の処理部305は、端末10の手書き共有画面上の端末10Cのストロークデータ群を非表示にすると共に、端末10Cのストロークデータ群を非表示にするための情報を端末10Bに送信するための処理を実行する。
 端末10Cのストロークデータ群を非表示にするための情報は、端末10Cのストロークデータ群を非表示にできる情報であればどのような情報であってもよい。例えば、手書きコラボレーションサーバシステム(端末10A)の処理部305は、端末10Cのストロークデータ群の非表示を要求するコマンドを、端末10Bに送信するための処理を実行しても良い。あるいは、手書きコラボレーションサーバシステム(端末10A)の処理部305は、端末10Cの各ストロークデータを消去するための消去ストロークデータを端末10Bに送信するための処理を実行しても良い。消去ストロークデータは、「消しゴム」ツールによって描画されるストロークデータと同様の属性、つまりこの消去ストロークデータと重なるストロークデータを透明にする属性を有する。
 なお、以上の説明では、手書き共有サービスにログインしている複数の手書き可能端末の1つが手書きコラボレーションサーバシステムとして機能する場合を例示したが、手書きコラボレーションサーバシステムは、手書き可能端末以外の1以上のサーバによって実現されても良い。
 図14においては、手書きコラボレーションサーバシステム2は、インターネット、イントラネットのようなネットワーク1上の1以上のサーバによって実現されている。手書きコラボレーションサーバシステム2は、ストローク受信処理部21、ストローク送信処理部22、およびストローク処理部23を備える。ストローク受信処理部21は、端末10A,10B,10Cの各々において手書き入力されるストロークデータをこれら端末10A,10B,10Cの各々から受信する。ストローク処理部23は、受信された各ストロークデータを当該ストロークデータの送信元端末の端末IDに対応付けてストロークデータベース12に格納する。ストローク送信処理部22は、端末10A,10B,10C内の任意の端末(第1の端末)に、第1の端末以外の他の端末から受信されたストロークデータを送信する。
 ある端末(例えば端末10C)のログアウト後に端末10Dが新たにログインした場合には、ストローク送信処理部22は、ログアウトした端末10C以外の各端末の端末IDに関連付けられているストローク群をストロークデータベース12から取得し、この取得したストローク群を端末10Dに送信する。
 図15のフローチャートを参照して、本実施形態の配信処理の手順を示す。以下では、手書きコラボレーションサーバシステムが端末10Aによって実現されている場合を想定する。
 手書きコラボレーションサーバシステム(端末10A)は、ログイン状態である端末B(端末10B)からストロークデータを受信する(ステップS11)。端末B(端末10B)から受信されるストロークデータは、端末B(端末10B)において手書き入力されるストロークデータである。手書きコラボレーションサーバシステム(端末10A)は、端末B(端末10B)から受信されるストロークデータを、ログイン状態である他の全ての端末に送信する(ステップS12)。ステップS12では、端末B(端末10B)から受信されるストロークデータが、ログイン状態である他の全ての端末にブロードキャストされても良い。ステップS11、S12の処理により、端末B(端末10B)において手書きされる手書きオブジェクトは、ストロークデータ単位で、他の各端末の画面にリアルタイムに反映される。
 手書きコラボレーションサーバシステム(端末10A)は、ログイン状態である端末C(端末10C)からストロークデータを受信する(ステップS13)。端末C(端末10C)から受信されるストロークデータは、端末C(端末10C)において手書き入力されるストロークデータである。手書きコラボレーションサーバシステム(端末10A)は、端末C(端末10C)から受信されるストロークデータを、ログイン状態である他の全ての端末に送信する(ステップS14)。ステップS14では、端末C(端末10C)から受信されるストロークデータが、ログイン状態である他の全ての端末にブロードキャストされても良い。ステップS13、S14の処理により、端末C(端末10C)において手書きされる手書きオブジェクトも、ストロークデータ単位で、他の各端末の画面にリアルタイムに反映される。
 図16は、共有される手書き情報の取り扱いに関する幾つかのポリシーの設定例を示す。
 本実施形態のポリシー設定においては、ログアウトしたユーザ(参加者)の手書きストロークを非表示にする機能を有効にするか否かを設定することができる。この設定は、例えば、手書きコラボレーションサーバシステムとして機能する端末10AのユーザAの操作に応じて実行されても良い。
 ログアウトしたユーザ(参加者)の手書きストロークを非表示にする機能が有効にされた場合には、「新たにログインした参加者に見せない」というオプションを有効にするか否かを設定することもできる。なお、このオプションは、ログアウトしたユーザ(参加者)の手書きストロークを非表示にする機能が有効にされた場合に自動的に有効になっても良い。
 また、ログアウトしたユーザ(参加者)の手書きストロークを非表示にする機能が有効にされた場合には、「既存の参加者に見せない」というオプションを有効にするか否かを設定することもできる。
 図17のフローチャートは、ストローク非表示制御処理の手順を示す。 
 手書きコラボレーションサーバシステム(端末10A)の処理部305は、手書き共有サービスにログイン状態のある端末が手書き共有サービスからログアウトされたか否かを判定する(ステップS21)。ステップS21においては、処理部305は、ある端末からのログアウト要求の受信に応答して、あるいはある端末からのレスポンスが閾値時間以上途絶えたことの検出に応答して、このある端末がログアウトされたと決定しても良い。
 ある端末がログアウトされたならば(ステップS21のYES)、手書きコラボレーションサーバシステム(端末10A)の処理部305は、「既存の参加者に見せない」というオプションが有効であるか否かを判定する(ステップS22)。
 「既存の参加者に見せない」というオプションが有効であるならば(ステップS22のYES)、手書きコラボレーションサーバシステム(端末10A)の処理部305は、ログアウトされた端末(例えば端末10C)のストロークデータ群を非表示にするための情報を、ログイン状態である他の各端末に送信する(ステップS23)。ステップS23では、手書きコラボレーションサーバシステム(端末10A)の処理部305は、端末10Aの手書き共有画面に表示されている端末10Cのストロークデータ群を非表示にする処理も実行する。
 「既存の参加者に見せない」というオプションが有効でないならば(ステップS22のNO)、手書きコラボレーションサーバシステム(端末10A)の処理部305は、ステップS23の処理を実行しない。
 次いで、手書きコラボレーションサーバシステム(端末10A)の処理部305は、新たな端末が手書き共有サービスにログインしたか否かを判定する(ステップS24)。
 新たな端末が手書き共有サービスにログインしたならば(ステップS24のYES)、手書きコラボレーションサーバシステム(端末10A)の処理部305は、「新たにログインした参加者に見せない」というオプションが有効であるか否かを判定する(ステップS25)。
 「新たにログインした参加者に見せない」というオプションが有効であるならば(ステップS25のYES)、手書きコラボレーションサーバシステム(端末10A)の処理部305は、ログアウトした端末以外の他の各端末のストロークデータ群のみを、新たにログインした端末に送信する(ステップS26)。ステップS26では、処理部305は、、ログアウトした端末以外の他の各端末の端末IDに関連付けられたストロークデータ群をストロークデータベース12から取得し、これらストロークデータ群を新たにログインした端末に送信する。
 「新たにログインした参加者に見せない」というオプションが有効でないならば(ステップS25のNO)、手書きコラボレーションサーバシステム(端末10A)の処理部305は、全てのストロークデータを、つまりログアウトした端末のストロークデータ群と他の各端末のストロークデータ群とを新たにログインした端末に送信する(ステップS27)。
 以上説明したように、本実施形態においては、ある端末のログアウト後に別の端末が新たなログインした場合には、ログアウトした端末以外の他の各端末のストロークデータ群が、新たにログインした端末に送信され、ログアウトした端末のストロークデータ群は、新たにログインした端末に送信されない。したがって、現在ログイン状態である各端末の過去の手書き情報を、新たにログインした端末の画面に表示することができ、さらに、既にログアウトした端末において手書き入力されたストローク群が、既にログアウトした端末のユーザが予期しない端末(つまり新たにログインした端末)において表示されるのを防止することができる。よって、既にログアウトした端末のユーザが意図しない範囲にまでこのユーザのストロークデータ群が拡散されてしまうことを防ぐことができるので、手書き情報を安全に共有することが可能となる。
 なお、本実施形態の手書きコラボレーションサーバシステム(端末10A)の処理部305の各機能はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
 このコンピュータプログラムがインストールされたコンピュータ内のCPUは上述のストローク非表示制御処理を含む配信処理を実行するように構成されたプロセッサとして機能し得る。また、このコンピュータプログラムがインストールされたコンピュータ内の無線通信デバイスは、各端末において手書き入力されるストロークデータを受信するように構成された受信部として機能し得、さらに、受信された各ストロークデータを、このストロークデータの送信元以外の他の各端末に送信する送信部として機能し得る。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (15)

  1.  ログイン状態である第1端末において手書き入力される第1ストロークデータおよびログイン状態である第2端末において手書き入力される第2ストロークデータを受信する受信手段と、
     前記第1ストロークデータを前記第2端末に送信し、前記第2ストロークデータを前記第1端末に送信する送信手段と、
     前記第2端末のログアウト後に第3端末がログインした場合、前記第1端末において前記第3端末のログイン前に手書き入力された第1ストロークデータ群を前記第3端末に送信するための処理を実行する処理手段とを具備し、
     前記処理手段は、
     前記第2端末において前記第2端末のログアウト前に手書き入力された第2ストロークデータ群を前記第3端末に送信しない、システム。
  2.  前記第2端末のログアウトの後に、前記処理手段は、前記第2ストロークデータ群を非表示にするための情報を前記第1端末に送信するための処理を実行する請求項1記載のシステム。
  3.  前記処理手段は、
     ログアウトした端末のストロークデータを非表示にするための第1機能が有効であるか否かを判定し、
     前記第1機能が有効である場合に、前記第1端末において前記第3端末のログイン前に手書きによって入力された第1ストロークデータ群を前記第3端末に送信するための処理を実行し、
     前記第1機能が無効である場合に、前記第1端末において前記第3端末のログイン前に手書きによって入力された第1ストロークデータ群と、前記第2端末において前記第2端末のログアウト前に手書きによって入力された第2ストロークデータ群とを前記第3端末に送信するための処理を実行する請求項1記載のシステム。
  4.  前記受信手段は、前記第3端末のログイン後に前記第3端末において手書き入力される第3ストロークデータを受信し、
     前記送信手段は、前記第3ストロークデータを前記第1端末に送信する請求項1記載のシステム。
  5.  前記第1ストロークデータは、前記第1端末、前記第2端末、および前記第3端末の各々において第1形態で表示され、
     前記第2ストロークデータは、前記第1端末、前記第2端末、および前記第3端末の各々において前記第1形態とは異なる第2形態で表示される請求項1記載のシステム。
  6.  ログイン状態である第1端末において手書き入力される第1ストロークデータおよびログイン状態である第2端末において手書き入力される第2ストロークデータを受信することと、
     前記第1ストロークデータを前記第2端末に送信し、前記第2ストロークデータを前記第1端末に送信することと、
     前記第2端末のログアウト後に第3端末がログインした場合、前記第1端末において前記第3端末のログイン前に手書き入力された第1ストロークデータ群を前記第3端末に送信するための処理を実行することを具備し、
     前記実行することは、
     前記第2端末において前記第2端末のログアウト前に手書き入力された第2ストロークデータ群を前記第3端末に送信しない、方法。
  7.  前記第2端末のログアウトの後に、前記第2ストロークデータ群を非表示にするための情報を前記第1端末に送信するための処理を実行することをさらに具備する請求項6記載の方法。
  8.  前記実行することは、
     ログアウトした端末のストロークデータを非表示にするための第1機能が有効であるか否かを判定することと、
     前記第1機能が有効である場合に、前記第1端末において前記第3端末のログイン前に手書きによって入力された第1ストロークデータ群を前記第3端末に送信するための処理を実行することと
     前記第1機能が無効である場合に、前記第1端末において前記第3端末のログイン前に手書きによって入力された第1ストロークデータ群と、前記第2端末において前記第2端末のログアウト前に手書きによって入力された第2ストロークデータ群とを前記第3端末に送信するための処理を実行することとを含む請求項6記載の方法。
  9.  前記受信することは、前記第3端末のログイン後に前記第3端末において手書き入力される第3ストロークデータを受信することを含み、
     前記送信することは、前記第3ストロークデータを前記第1端末に送信することを含む請求項6記載の方法。
  10.  前記第1ストロークデータは、前記第1端末、前記第2端末、および前記第3端末の各々において第1形態で表示され、
     前記第2ストロークデータは、前記第1端末、前記第2端末、および前記第3端末の各々において前記第1形態とは異なる第2形態で表示される請求項6記載の方法。
  11.  コンピュータによって実行されるプログラムであって、前記プログラムは、
     ログイン状態である第1端末において手書き入力される第1ストロークデータおよびログイン状態である第2端末において手書き入力される第2ストロークデータを受信することと、
     前記第1ストロークデータを前記第2端末に送信し、前記第2ストロークデータを前記第1端末に送信することと、
     前記第2端末のログアウト後に第3端末がログインした場合、前記第1端末において前記第3端末のログイン前に手書き入力された第1ストロークデータ群を前記第3端末に送信するための処理を実行することと
    の機能を実行するように前記コンピュータを制御し、
     前記実行することは、前記第2端末において前記第2端末のログアウト前に手書き入力された第2ストロークデータ群を前記第3端末に送信しない、プログラム。
  12.  前記第2端末のログアウトの後に、前記第2ストロークデータ群を非表示にするための情報を前記第1端末に送信するための処理を実行する機能を実行するように前記コンピュータをさらに制御する請求項11記載のプログラム。
  13.  前記実行することは、
     ログアウトした端末のストロークデータを非表示にするための第1機能が有効であるか否かを判定することと、
     前記第1機能が有効である場合に、前記第1端末において前記第3端末のログイン前に手書きによって入力された第1ストロークデータ群を前記第3端末に送信するための処理を実行することと
     前記第1機能が無効である場合に、前記第1端末において前記第3端末のログイン前に手書きによって入力された第1ストロークデータ群と、前記第2端末において前記第2端末のログアウト前に手書きによって入力された第2ストロークデータ群とを前記第3端末に送信するための処理を実行することとを含む請求項11記載のプログラム。
  14.  前記受信することは、前記第3端末のログイン後に前記第3端末において手書き入力される第3ストロークデータを受信することを含み、
     前記送信することは、前記第3ストロークデータを前記第1端末に送信することを含む請求項11記載のプログラム。
  15.  前記第1ストロークデータは、前記第1端末、前記第2端末、および前記第3端末の各々において第1形態で表示され、
     前記第2ストロークデータは、前記第1端末、前記第2端末、および前記第3端末の各々において前記第1形態とは異なる第2形態で表示される請求項11記載のプログラム。
PCT/JP2014/065634 2014-06-12 2014-06-12 手書き情報を共有するためのシステムおよび方法 WO2015189964A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016527574A JP6208348B2 (ja) 2014-06-12 2014-06-12 手書き情報を共有するためのシステムおよび方法
PCT/JP2014/065634 WO2015189964A1 (ja) 2014-06-12 2014-06-12 手書き情報を共有するためのシステムおよび方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/065634 WO2015189964A1 (ja) 2014-06-12 2014-06-12 手書き情報を共有するためのシステムおよび方法

Publications (1)

Publication Number Publication Date
WO2015189964A1 true WO2015189964A1 (ja) 2015-12-17

Family

ID=54833092

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/065634 WO2015189964A1 (ja) 2014-06-12 2014-06-12 手書き情報を共有するためのシステムおよび方法

Country Status (2)

Country Link
JP (1) JP6208348B2 (ja)
WO (1) WO2015189964A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207841A (ja) * 1997-01-22 1998-08-07 Mitsubishi Electric Corp ペン入力パーソナル情報端末装置
JP2006304066A (ja) * 2005-04-22 2006-11-02 Fuji Xerox Co Ltd 遠隔会議に用いられるサーバ、クライアントコンピュータ、撮像装置、制御方法及びプログラム
JP2010224590A (ja) * 2009-03-19 2010-10-07 Konica Minolta Holdings Inc 情報処理システム、情報処理方法および情報処理装置
JP2014052690A (ja) * 2012-09-05 2014-03-20 Konica Minolta Inc 会議支援システム及び制御装置並びに入力端末

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013121455A1 (ja) * 2012-02-13 2013-08-22 日立コンシューマエレクトロニクス株式会社 プロジェクタ、図形入力・表示装置、携帯端末およびプログラム。

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207841A (ja) * 1997-01-22 1998-08-07 Mitsubishi Electric Corp ペン入力パーソナル情報端末装置
JP2006304066A (ja) * 2005-04-22 2006-11-02 Fuji Xerox Co Ltd 遠隔会議に用いられるサーバ、クライアントコンピュータ、撮像装置、制御方法及びプログラム
JP2010224590A (ja) * 2009-03-19 2010-10-07 Konica Minolta Holdings Inc 情報処理システム、情報処理方法および情報処理装置
JP2014052690A (ja) * 2012-09-05 2014-03-20 Konica Minolta Inc 会議支援システム及び制御装置並びに入力端末

Also Published As

Publication number Publication date
JP6208348B2 (ja) 2017-10-04
JPWO2015189964A1 (ja) 2017-04-20

Similar Documents

Publication Publication Date Title
US10235121B2 (en) Wirelessly communicating configuration data for interactive display devices
US20160191576A1 (en) Method for conducting a collaborative event and system employing same
US9544723B2 (en) System and method to display content on an interactive display surface
US9535595B2 (en) Accessed location of user interface
US20140181683A1 (en) Method and system for controlling external device
US20160321025A1 (en) Electronic apparatus and method
CN111290695B (zh) 基于优先级控制的终端控制方法、装置和终端
US20140152543A1 (en) System, data providing method and electronic apparatus
JP6885416B2 (ja) 電子黒板、電子黒板の画像処理方法、及びプログラム
US10628117B2 (en) Communication terminal, communication system, display control method, and recording medium
US10565299B2 (en) Electronic apparatus and display control method
JP5063455B2 (ja) 情報処理装置及び情報処理方法
US10419230B2 (en) Electronic apparatus and method
JP2014110061A (ja) システムおよびデータ提供方法並びに電子機器
JP6465277B2 (ja) 電子機器、処理方法およびプログラム
JP2016177612A (ja) 情報処理システム、表示位置決定方法、端末装置、情報処理装置及びプログラム
JP6203398B2 (ja) ストロークデータを処理するためのシステムおよび方法
JP6293903B2 (ja) 情報を表示するための電子機器および方法
JP6271728B2 (ja) 手書きのための電子機器および方法
JP6208348B2 (ja) 手書き情報を共有するためのシステムおよび方法
CA2899103A1 (en) Custom input routing using messaging channel of a ucc system
JP2020154660A (ja) 表示装置、及び表示方法
WO2016046902A1 (ja) 手書き情報を共有するためのシステム、方法及びプログラム
JP2017138972A (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: 14894336

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016527574

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14894336

Country of ref document: EP

Kind code of ref document: A1