1. Field of the Invention
The present invention relates to an information processing system and an information processing method.
2. Description of the Related Art
There is available an electronic bulletin board system (to be simply referred to as an electronic bulletin board hereinafter) which controls the registration and reading of information by many users. The electronic bulletin board is widely used for the transmission of various types of information and communication among users. When using such an electronic bulletin board, the user transmits, via an information terminal, information which he/she wants to register in the electronic bulletin board to a server connected to a network. The server registers the received information in the electronic bulletin board which is managed by the server. The information terminal reads out the registered information and displays it on the display unit of the information terminal. Some electronic bulletin boards can handle not only comments as text information but also images such as photos (see Japanese Patent Laid-Open No. 2001-101114).
There is also available an approximate image detection technique of detecting specific patterns in images. This technique is designed to compare a plurality of feature points of arbitrary images with each other by using a technique of detecting points representing features of images (feature points) and checking the approximation degree between them to detect whether they match each other. It is possible to determine to which registered image an input image is approximate, by registering a plurality of images as search targets in advance and comparing an input image with all of the registered images to check the approximation degrees between them. This technique can be applied to not only an overall image, but also part of the image. Registering a captured image of an object in advance, therefore, enables to check whether a target object exists in the captured image. There is also available a technique of registering, as registered images, both an image of a target object and an image of an object located near the target object upon detection of the object in advance, thereby allowing detection of the target object even if the object does not exist in the captured image (see Japanese Patent Laid-Open No. 2012-63850).
When registering information handwritten on a paper material in the electronic bulletin board disclosed in Japanese Patent Laid-Open No. 2001-101114, the user images the paper material including the handwritten information and registers the captured image in the electronic bulletin board. In this case, when the user additionally inputs information (electronic comment) via an information terminal to add a comment to the information of the handwritten portion (handwritten comment) depicted in the image registered in the electronic bulletin board, the electronic comment is added to the above image. However, an image may include the information of a plurality of handwritten portions (a plurality of handwritten comments). In this case, when referring to an electronic comment and the image thereafter, it is difficult to identify the additionally input electronic comment as a comment corresponding to a specific handwritten portion in the image. That is, even if the user adds a comment to a handwritten portion on a paper material, since the information handwritten on the paper material is not handled as an independent object, it is not possible to manage the input electronic comment in association with the portion to which the comment is directed, that is, the information (handwritten comment) of the handwritten portion instead of the image. As a consequence, when referring to the comment, it is difficult for the user to grasp the relationship between the handwritten comment in the image and the electronic comment.
The present invention has been made in consideration of the related art described above, and provides an information processing system, a method of controlling the information processing system, and an information processing apparatus which can accessibly display and obtain an electronic comment concerning part of the image obtained by imaging a paper medium in association with the target.
The present invention has the following arrangement. According to an aspect of the present invention, an information processing system comprises: a handwritten comment input unit configured to input handwritten comment information to a printed material obtained by printing an original image, together with coordinate information of the handwritten comment information; an electronic comment input unit configured to input electronic comment information to the handwritten comment information based on user designation; a thread management unit configured to manage handwritten comment information input by the handwritten comment input unit and electronic comment information input by the electronic comment input unit, as thread information, in association with each other; a feature pattern management unit configured to detect feature pattern information of a pattern existing near the thread information in the original image and manage the feature pattern information and the thread information in association with each other; and a thread display unit configured to perform thread display of thread information managed by the thread management unit on an image obtained by imaging the printed material, wherein the thread display of the thread information is displayed from a position of a start point of the thread information toward the pattern.
According to the present invention, it is possible to collectively and intuitively refer to information input by handwriting and information input from an information terminal. The word “intuitively” means that even if, for example, a feature pattern as a trigger for superimposition display of an electronic comment is spaced apart from a handwritten comment, the user can properly perform superimposition display of the electronic comment without making the user conscious of it.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
The embodiments for carrying out the present invention will be described below with reference to the accompanying drawings.
(System Arrangement)
The communication terminal 200 extracts the locus information (handwritten comment locus information) of the electronic pen 100 at the time of additional handwriting from the received electronic pen locus information and transmits the extracted information to the server 400.
The server 400 generates handwritten comment information based on the received handwritten comment locus information. The server 400 receives electronic comment information and reference file information from the information terminal 300. In this embodiment, original data, handwritten comment information, electronic comment information, and reference file information will be collectively referred to as electronic bulletin board information and stored and managed in the server 400.
The information terminal 300 displays the electronic bulletin board information managed by the server 400 on the display unit. The information terminal 300 transmits, to the server 400, electronic comment information and reference file information input by the user to the electronic bulletin board information displayed on the display unit. The information terminal 300 includes an image sensing unit such as a camera. This image sensing unit images the paper material 10 and displays the captured image of the paper material 10 on the display unit. At this time, the information terminal 300 can superimpose and display the electronic bulletin board information on the captured image displayed on the display unit. If the information terminal 300 includes no image sensing unit, the terminal may use an image sensing unit such as a camera externally connected via a USB (Universal Serial Bus) cable or the like.
(Electronic Pen)
(Communication Terminal)
(Server)
A control unit 402 comprehensively controls the respective units and is implemented by causing the CPU to execute program codes stored in the storage unit 403.
The control unit 402 further includes a comment type determination unit 411, a handwritten comment input unit 412, a thread management unit 413, a print layout unit 414, a feature extraction unit 415, and a feature pattern management unit 416.
The comment type determination unit 411 determines whether the comment information received from the network communication unit 401 belongs to one of these respective types: handwritten comment information, electronic comment information, and reference file information. In this embodiment, the server 400 and the information terminal 300 communicate by HTTP protocol and so do the server 400 and the communication terminal 200. When transmitting and receiving comment information, they also transmit and receive the identifier (comment identifier) of a comment type. The comment type determination unit 411 determines the comment type of received comment information by referring to the identifier of the comment type.
If the comment type determination unit 411 determines that the received comment information belongs to the comment type of handwritten comment information, the received comment information is handwritten comment locus information. For this reason, the handwritten comment input unit 412 bitmaps the handwritten comment locus information to generate handwritten comment information, and stores the handwritten comment information in the storage unit 403. The thread management unit 413 manages the generated handwritten comment information.
If the comment type determination unit 411 determines that the received comment information belongs to the comment type of electronic comment information or reference file information, the received comment information is electronic comment information or reference file information. The thread management unit 413 manages these pieces of electronic comment information or reference file information.
The thread management unit 413 generates thread information associated with each of handwritten comment information, electronic comment information, and reference file information and stores the thread information in the storage unit 403. As will be described later with reference to
Upon receiving a print request for electronic bulletin board information from the information terminal 300, the print layout unit 414 generates print data having the print layout of the electronic bulletin board information. In this embodiment, the print layout unit 414 handles, as a print target, the electronic bulletin board display result obtained by superimposing and displaying thread information stored in the storage unit 403 on original data 700 (to be described later). Printing is implemented by issuing a print instruction to a printer (not shown) connected to the information terminal 300 by using the printer driver installed in the information terminal 300. That is, the information terminal 300 includes a print instruction unit which issues a print instruction for electronic bulletin board information and prints the electronic bulletin board information.
The feature extraction unit 415 extracts a feature pattern such as a text pattern or graphic pattern from the original data 700. This embodiment uses a known feature point detection technique and feature amount extraction technique for feature pattern extraction. For example, the feature extraction unit 415 detects feature points from an image around a designated comment. If the number of feature points is larger than a predetermined threshold, the feature extraction unit 415 extracts a rectangular region including these feature points as a feature pattern. At the same time, the feature extraction unit 415 calculates a feature amount. The position of this feature pattern is defined as the coordinates of the upper left end of the rectangular region including the feature amounts. Note that a feature pattern detection method to be used is not limited to the above method, and other methods may be used.
The feature pattern management unit 416 generates a feature pattern information table and stores it in the storage unit 403. The feature pattern information table is a data table which holds a list of feature pattern information representing information for identifying the position of the feature pattern and the feature points themselves, as will be described with reference to
(Information Terminal)
A display unit 304 is implemented by a display device typified by a display (including a touch panel), which displays electronic bulletin board information, the image captured by the image sensing unit 306, and the like. An input unit 305 is implemented by an input device typified by a touch panel, a mouse, a keyboard, and the like, which accepts input operation from the user. An image sensing unit 306 is implemented by an image sensor typified by a camera or the like, which obtains a captured image of a paper material.
The control unit 302 comprehensively controls the respective units and is implemented by causing the CPU to execute program codes stored in the storage unit 303.
The control unit 302 further includes an electronic bulletin board display unit 311, an electronic comment input unit 312, a reference file input unit 313, a search unit 314, and a superimposition processing unit 315.
The electronic bulletin board display unit 311 displays the electronic bulletin board information obtained from the server 400 on the display unit 304. The electronic bulletin board display unit 311 displays an electronic input form for the acceptance of the input of an electronic comment from the user.
The electronic comment input unit 312 obtains the character string (electronic comment) input to the electronic input form by the user using the input unit 305, and transmits the obtained information as electronic comment information to the server 400. The reference file input unit 313 obtains a path to the reference file (reference file path) input to the electronic input form by the user using the input unit 305, and transmits the obtained information as reference file information to the server 400. The search unit 314 performs search processing based on the search key input to the electron input form by the user using the input unit 305.
The superimposition processing unit 315 displays the image of the paper material imaged by the image sensing unit 306 on the display unit 304 and also superimposes and displays electronic bulletin board information on the image of the paper material.
(Handwritten Comment Input)
In this embodiment, the coordinate system on the paper surface is expressed by (Xpaper, Ypaper). A receiver which implements the electronic pen data reception unit 204 is placed in the middle of the upper portion of the paper material 10, and a paper surface origin 260 is set to (0, 0) to match with an electronic bulletin board whose coordinate origin is set to the middle of the upper portion of the original data 700 (to be described later). The paper material 10 is a rectangle whose vertices are set to positions (−Xp, 0), (Xp, 0), (−Xp, Yp), and (Xp, Yp) in the coordinate system on the paper surface. For this reason, when inputting a handwritten comment, the user places a paper material on a flat surface such as a plate, and places the receiver in the middle of the upper portion of the flat surface.
When starting to handwrite a comment on the paper material 10 with the electronic pen 100, the user checks a handwritten comment start region 251. The user writes “ABC” as a handwritten comment.
Points 211 to 216 correspond to pressurization start points on “ABC” which are detected by the writing pressure detection unit 104. Positions 221 to 226 correspond to pressurization end points on “ABC” which are detected by the writing pressure detection unit 104.
Assume that the user checks a handwritten comment end region 252 after the completion of handwriting of a comment.
In step S1001, the control unit 102 of the electronic pen 100 determines whether the writing pressure detection unit 104 has detected the start of pressurization. If the control unit 102 has detected the start of pressurization, the process advances to step S1002. The control unit 102 performs control to transmit a pressurization start signal from the electronic pen data transmission unit 101 by infrared light. The control unit 102 then transmits an ultrasonic signal in step S1003. In step S1004, the control unit 102 keeps transmitting ultrasonic signals in a predetermined cycle until the writing pressure detection unit 104 detects the end of pressurization. Upon detecting the end of pressurization, the control unit 102 performs control to transmit a pressurization end signal from the electronic pen data transmission unit 101 by infrared in step S1005. Ultrasonic signals transmitted from the instant a pressurization start signal is transmitted to the instant a pressurization end signal is transmitted are a series of electronic pen locus information.
In step S2001, the control unit 202 determines whether the electronic pen data reception unit 204 has received a pressurization start signal by infrared light. If the electronic pen data reception unit 204 has received a pressurization start signal, the process advances to step S2002.
In step S2002, the control unit 202 determines whether the electronic pen data reception unit 204 has received an ultrasonic signal. If the control unit 202 determines that no ultrasonic signal has been received, the process advances to step S2004.
Upon determining that an ultrasonic signal has been received, the control unit 202 calculates the on-paper coordinates of the electronic pen from the difference in reception time between the ultrasonic signals received by two ultrasonic reception sensors and the distance between the two ultrasonic sensors in step S2003. Note that on-paper coordinates will be described later with reference to
In step S2004, the control unit 202 then determines whether the electronic pen data reception unit 204 has received an infrared pressurization end signal. If the control unit 202 determines that no pressurization end signal has been received, the process returns to step S2002. Upon determining that no pressurization end signal has been received, the control unit 202 terminates the obtainment of a series of pen locus information from the start of pressurization to the end of pressurization. That is, the control unit 202 sequentially calculates the information of on-paper coordinates indicating the moving locus of the electronic pen from continuously received electronic pen locus information by executing the processing procedure shown in
In step S2011, the control unit 202 obtains electronic pen locus information including the information of the on-paper coordinates of the electronic pen calculated in the processing procedure in
In step S2012, the control unit 202 determines whether the handwritten comment start flag is ON. The handwritten comment start flag is stored in the storage unit 203. The initial value of this flag is set to OFF.
Upon determining in step S2012 that the handwritten comment start flag is OFF, the control unit 202 determines in step S2013 whether the on-paper coordinates of the electronic pen indicated by the pen locus information fall within the handwritten comment start region 251. If the on-paper coordinates of the electronic pen do not fall within the handwritten comment start region 251, the process returns to step S2011. If the on-paper coordinates of the electronic pen fall within the handwritten comment start region 251, the control unit 202 sets the handwritten comment start flag ON in step S2014, the process returns to step S2011.
Upon determining in step S2012 that the handwritten comment start flag is ON, the control unit 202 determines in step S2015 whether the on-paper coordinates of the electronic pen indicated by electronic pen locus information fall within the handwritten comment end region 252. If the on-paper coordinates do not fall within the handwritten comment end region 252, the control unit 202 stores the electronic pen locus information as part of the handwritten comment locus information in the storage unit 203 in step S2016. The process returns to step S2011. If the on-paper coordinates of the electronic pen fall within the handwritten comment end region 252, the control unit 202 sets the handwritten comment start flag OFF in step S2017. In step S2018, the control unit 202 transmits, to the server 400, the series of electronic pen locus information from the start of the handwritten comment to the end of the handwritten comment, which are stored in the storage unit 203 in step S2016, as one piece of handwritten comment locus information (for example, “ABC”). In addition, when transmitting this information, the control unit 202 includes, in the handwritten comment locus information, a handwritten comment identifier indicating that the handwritten comment locus information is of a type belonging to handwritten comment information.
In this embodiment, the coordinate system on the electronic bulletin board is expressed by (Xbbs, Ybbs), and a middle point on the upper portion of the original data 700 is expressed as an electronic bulletin board origin 701 (0,0). The electronic bulletin board origin 701 of the original data 700 corresponds to the paper surface origin 260 on the paper material 10. The original data 700 is expressed by four points, namely (−Xo, 0), (Xo, 0), (−Xo, Yo), and (Xo, Yo), in the electronic bulletin board coordinate system.
The storage unit 403 stores the original data 700.
In step S4001, the handwritten comment input unit 412 receives the handwritten comment locus information 240 and handwritten comment identifier transmitted from the communication terminal 200 in step S2018. The handwritten comment locus information 240 includes the coordinate information of the handwritten comment expressed by the on-paper coordinates (Xpaper, Ypaper).
In step S4002, the handwritten comment input unit 412 converts the coordinate information of the handwritten comment expressed by the on-paper coordinates included in the handwritten comment locus information 240 into information in the coordinate system (Xbbs, Ybbs) on the electronic bulletin board. Conversion processing is implemented by determining conversion coefficients in advance based on the size of the paper material 10 and the size of the original data 700.
In step S4003, the handwritten comment input unit 412 calculates the size of a minimum rectangle 720 incorporating the coordinates of the coordinate-converted handwritten comment locus information, thereby obtaining upper left coordinates (−Xw1, Yw1) of the minimum rectangle and lower right coordinates (Xw2, Yw2) of the minimum rectangle.
In step S4004, the handwritten comment input unit 412 colors the image data at the coordinates of the coordinate-converted handwritten comment locus information and draws the resultant data as a bitmap. The handwritten comment input unit 412 then generates a bitmap 721 of the rectangle 720 by bitmapping the handwritten comment, and stores the bitmap in the storage unit 403. The handwritten comment input unit 412 transmits a file path to the bitmap 721 stored in the storage unit 403, upper left coordinates (−Xw1, Yw1) of the bitmap, and the handwritten comment identifier received in step S4001, as handwritten comment information, to the thread management unit 413.
In step S4061, the feature pattern management unit segments the original data in a cross shape, centered on an origin 716, with origin being the central position of the first comment of the designated thread, as shown in
In step S4062, the feature pattern management unit enlarges the rectangular region 717 by increasing each of search distances Ws and Hs by a predetermined size. This unit performs the same processing for the four search regions.
In step S4063, the feature pattern management unit transfers the image in each search region to the feature extraction unit 415 and determines whether each region includes the feature pattern.
If the feature pattern management unit detects no feature pattern in step S4063, the unit detects in step S4064 whether it has checked the original to its end. If YES in step S4064, the feature pattern management unit terminates the processing. If NO in step S4064, the process shifts to step S4062. Note that since the repeat count of this process until the search reaches an end of each region may vary, the feature pattern management unit may continue the search only in a region where the search has not reached the end of the origin.
Upon detecting a feature pattern in step S4063, the feature pattern management unit additionally writes the information of the feature pattern as feature pattern information (to be described later) in the feature pattern information table in step S4065. The x-direction relative positions of feature pattern information 2601 in
(Electronic Input Form)
In this case, when the user selects and designates, via the input unit 305, coordinates in the region where the electronic bulletin board information displayed on the display unit 304 is displayed, the electronic bulletin board display unit 311 displays an electronic input form 730.
The electronic input form 730 includes a character string input region (character string input portion) 731, an electronic comment addition button 732, a keyword search button 733, an image search button 734, a moving image search button 735, and a reference file attachment button (attachment portion) 736.
In step S3013, the electronic comment input unit 312 determines whether the user has input characters to the character string input region 731 via the input unit 305. Upon determining that the user has input characters, the electronic comment input unit 312 stores the input character string in the storage unit 303.
In step S3014, the electronic comment input unit 312 determines whether the user has pressed the electronic comment addition button 732. Upon determining in step S3014 that the user has pressed the electronic comment addition button 732, the electronic comment input unit 312 transmits in step S3015, to the server 400, the coordinates of the electronic input form 730 stored in the storage unit 303 and the character string input to the character string input region 731 as electronic comment information. When transmitting this electronic comment information, the electronic comment input unit 312 includes an electronic comment identifier indicating that the transmitted comment information is the information of a type belonging to electronic comment information.
Upon determining that in step S3014 that the user has not pressed the electronic comment addition button 732, the electronic comment input unit 312 determines in step S3016 whether the user has pressed the keyword search button 733, the image search button 734, or the moving image search button 735.
If the electronic comment input unit 312 determines that the user has pressed any one of the search buttons, the search unit 314 searches, in step S3017, for the character string input to the character string input region 731 by using the Web search engine assigned to the corresponding search type. Since a known search technique is used to search for this character string, a detailed description of the technique will be omitted.
At this time, the electronic bulletin board display unit 311 displays, on the input unit 305, the input character string search result obtained by using the search engine selected by the user by button selection. In this case, in step S3018, the search unit 314 stores the search processing result obtained in step S3017 in the storage unit 303. The electronic bulletin board display unit 311 can hide a search engine window when the user presses a hide button on the search engine window.
Upon determining in step S3013 that the user has input characters to the character string input region 731, the electronic bulletin board display unit 311 determines in step S3019 whether the user has pressed the reference file attachment button 736. Upon determining that the user has pressed the reference file attachment button 736, the electronic bulletin board display unit 311 displays the reference file path input window (see
The reference file input unit 313 also calculates the coordinates of the position at which a reference file access button for referring to a reference file (the coordinates of the reference file access button) should be displayed based on the coordinates of the position at which the electron input form is displayed. The coordinates concretely calculated in this embodiment are the coordinates of the position obtained by shifting the coordinates of the electronic input form by (Δx2, 0).
The reference file input unit 313 then transmits the reference file path and the information of the coordinates of the reference file access button as reference file information to the server 400. When transmitting this reference file information, the reference file input unit 313 includes a reference file identifier indicating that the transmitted file information is the information of a type belonging to reference file information. The description so far is about the processing in step S3020. Note that the reference file access button is an image object selected by user designation for reference to the reference file.
In step S3021, upon detecting that an input end event, that is, pressing of the electronic comment addition button, attachment button, or search button, the electronic bulletin board display unit 311 hides the electronic input form 730.
In step S3022, the electronic bulletin board display unit 311 displays the input result at the coordinates at which the electronic input form 730 is displayed. Assume that the handwritten comment 721 is selected by user designation and the electronic input form 730 is displayed. In this case, if the content input to the electronic input form is an electronic comment, the electronic bulletin board display unit 311 displays the comment data 741 (see
(Thread Information)
Thread header information 801 includes the following information.
Thread ID: A thread ID is information for uniquely specifying a thread and is a thread identifier.
First comment ID: A first comment ID indicates the comment ID of the first comment information of the thread.
Thread coordinate (Xthread): A thread coordinate (Xthread) indicates the Xthread coordinate of the thread information displayed in the electronic bulletin board coordinate system (Xbbs, Ybbs).
Thread coordinate (Ythread): A thread coordinate (Ythread) indicates the Ythread coordinate of the thread information displayed in the electronic bulletin board coordinate system.
Thread size (XSIZEthread): A thread size (XSIZEthread) indicates the Xbbs-axis direction size of the thread displayed in the electronic bulletin board coordinate system.
Thread size (YSIZEthread): A thread size (YSIZEthread) indicates the Ybbs-axis direction size of the thread displayed in the electronic bulletin board coordinate system.
Comment information 802 includes the following information.
Comment ID: A comment ID is information for uniquely specifying a comment.
Parent comment ID: A parent comment ID is the comment ID of comment information which is the parent node of the comment. If the comment is the first comment, there is no parent node.
Child comment ID: A child comment ID is the comment ID of comment information which is a child node of the comment. Parent comment information can have a plurality of pieces of child comment information. A parent comment ID and child comment IDs can be collectively called comment parent-child information indicating the parent-child relationship between the comments.
Reference file ID: A reference file ID is the reference file ID of a reference file associated with the comment information. Comment information can have a plurality of pieces of reference file information. If the value of this ID is null, it can indicate that the file has no reference file information. A reference file ID can therefore be regarded as reference file presence/absence information indicating the presence/absence of a reference file.
Type: A type is the identifier of a comment type which indicates whether the type of the comment information is a bitmap as a handwritten comment or a character string as an electronic comment.
Data: Data is a bitmap file name if the type is handwritten comment information and character string data if the type is electronic comment information.
Comment coordinate (Xcom): A comment coordinate (Xcom) indicates the Xbbs-coordinate of the comment information displayed in the electronic bulletin board coordinate system.
Comment coordinate (Ycom): A comment coordinate (Ycom) indicates the Ybbs-coordinate of the comment information displayed in the electronic bulletin board coordinate system.
Comment size (XSIZEcom): A comment size (XSIZEcom) indicates the Xbbs-axis direction size of the comment displayed in the electronic bulletin board coordinate system.
Comment size (YSIZEcom): A comment size (YSIZEcom) indicates the Ybbs-axis direction size of the comment displayed in the electronic bulletin board coordinate system. A comment size (XSIZEcom) and comment size (YSIZEcom) are used when the type of comment information is a bitmap. If the type is a character string, a character string size is calculated from the character size defined on the server 400 side. In this case, comment size information is a comment display size when the comment is displayed.
Superimposition target: Superimposition target information indicates whether the comment information is set as a superimposition display target. Comment information may always be set as a superimposition display target on the server side or information from the first comment ID up to N comments may be set as superimposition targets. This maximum number N may be set by the numerical value input based on user designation. In comment information 805b in
Reference file information 803 includes the following information.
Reference file ID: A reference file ID is information for uniquely specifying reference file information.
Parent comment ID: A parent comment ID is the comment ID of comment information which is a parent node of the reference file information. That is, this can be regarded as associated comment information indicating comment information associated with the reference file information.
Type: A type indicates the type of the reference file information. Types include, for example, moving image information, voice information, document information, drawing information, URL information, and shortcut information. These pieces of information can be reproduced by corresponding applications.
Data: Data indicates the reference file path of reference file information. That is, this data is reference file data.
Access button coordinate (Xacc): An access button coordinate (Xacc) is the Xbbs-coordinate of an access button for the reference file information displayed in the electronic bulletin board coordinate system.
Access button coordinate (Yacc): An access button coordinate (Yacc) is the Ybbs-coordinate of an access button for the reference file information displayed in the electronic bulletin board coordinate system.
Access button size (XSIZEacc): An access button size (XSIZEacc) indicates the Xbbs-coordinate direction size of the access button for the reference file information displayed in the electronic bulletin board coordinate system.
Access button size (YSIZEacc): An access button size (YSIZEacc) indicates the Ybbs-coordinate direction size of the access button for the reference file information displayed in the electronic bulletin board coordinate system. The access button may be a reference file icon. In this case, the coordinates and size can be regarded as reference file icon display coordinates indicating the display position of the reference file icon and reference file icon display size information indicating the display size of the reference file icon, respectively.
A thread 804 is an example of the tree structure of thread information. The thread 804 is formed based on one thread header, five pieces of comment information, and three pieces of reference file information. The comment information with comment ID=3 includes two pieces of child comment information with comment ID=4 and comment ID=5. The comment information with comment ID=4 includes two pieces of reference file information with reference file ID=2 and reference file ID=3.
Thread header information 805a is an example of the thread header of the thread 804. The comment information 805b is an example of a list of comment information of the thread 804. Reference file information 805c is an example of a list of reference file information of the thread 804. In this case, parent comment ID=0 indicates that this comment information is the first comment information having no parent comment information. Child comment ID=0 indicates that this comment information is terminal comment information having no child comment information. Reference file ID=0 indicates that this file has no reference file information. That is, comment information with parent comment ID=0 is the root of the comment tree, and comment information with child comment ID=0 and reference file information are leaves of the comment tree. Superimposition target=1 indicates that the corresponding information is a superimposition target. Superimposition target=0 indicates that the corresponding information is not a superimposition target.
(Feature Pattern Information)
Feature pattern ID: A feature pattern ID is information for uniquely specifying a feature pattern.
Feature point information path: A feature point information path is a path to a file storing feature point information including the feature amount information of the feature points of the feature pattern.
x-direction relative position (Xm): An x-direction relative position is the x-direction relative position information of the feature pattern viewed from the thread linked to this feature point.
y-direction relative position (ym): An y-direction relative position is the y-direction relative position information of the feature pattern viewed from the thread linked to this feature point.
Associated threshold ID: This is the threshold ID of the thread linked to this feature pattern.
A feature pattern information table 2601a is an example of a feature pattern information table including feature pattern information linked to the thread 804 as a record.
(Thread Management)
Upon determining that the addition of a comment has occurred, the thread management unit 413 determines in step S4012 whether it is necessary to generate a new thread. More specifically, if the coordinate information included in comment information is not information indicating the inside of the display region of each piece of comment information 802 in thread information stored in the storage unit 303 or information indicating the inside of the region of the reference file access button of the reference file information 803, the thread management unit 413 determines that it is necessary to generate a new thread. If the coordinate information included in the comment information is information indicating the inside of the display region of each pieces of comment information in the thread information stored in the storage unit 303 or indicating the inside of the region of the reference file access button, the thread management unit 413 determines that it is not necessary to generate a new thread.
Upon determining that it is necessary to generate a new thread, the thread management unit 413 generates a new thread by generating the new thread header 801 in step S4013. Note that the subsequent processing executed by the thread management unit 413 is processing associated with the information of the newly generated thread. If the thread management unit 413 determines that it is not necessary to generate a new thread, the subsequent processing executed by the thread management unit 413 is processing associated with the information of a corresponding existing thread.
The thread management unit 413 then determines in step S4014 whether the input comment information is handwritten comment information. More specifically, the comment type determination unit 411 refers to the comment identifier included in the input comment information to determine whether the comment information is handwritten comment information, and transmits the determination result to the thread management unit 413. The thread management unit 413 determines, based on the received determination result, whether the input comment information is handwritten comment information. If the input comment information is handwritten comment information, the thread management unit 413 converts, in step S4015, the input comment information into a thread information format so as to display the handwritten comment information in the form of a thread.
Upon determining in step S4014 that the input comment information is not handwritten comment information, the thread management unit 413 determines in step S4016 whether the input comment information is electronic comment information. More specifically, the comment type determination unit 411 refers to the comment identifier included in the input comment information to determine whether the comment information is electronic comment information, and transmits the determination result to the thread management unit 413. The thread management unit 413 then determines, based on the received determination result, whether the input comment information is electronic comment information. If the input comment information is electronic comment information, the thread management unit 413 converts, in step S4017, the input comment information into a thread information format to display the comment information as electronic comment information.
If the thread management unit 413 determines in step S4016 that the input comment information is not electronic comment information, it indicates that the input comment information is reference file information. In step S4018, therefore, the thread management unit 413 converts the reference file information into a thread information format to display the information in the form of a thread.
In step S4019, the thread management unit 413 adds the comment information converted into the thread information format (see reference numerals 802 and 803 in
In step S4020, as in step S4012, the thread management unit 413 checks whether the currently processed thread is a new thread.
Upon determining in step S4020 that the thread is a new thread, the thread management unit 413 registers a feature pattern existing near the new thread in step S4021. More specifically, the thread management unit 413 inputs the thread information of the new thread and executes a feature pattern registration procedure in
Note that the information terminal 300 sometimes reads out the thread information managed by the thread management unit 413 from the storage unit 403 of the server 400. In addition, the information terminal 300 sometimes reads out the original data stored in the storage unit 403, adds thread information to the data, and displays the resultant data on the display unit 304. In this case, the server 400 transmits the thread information stored in the storage unit 403 and the original data 700 to the information terminal 300. The control unit 302 of the information terminal 300 displays the original data 700 in the electronic bulletin board coordinate system and superimposes and displays the thread information on the original data 700.
More specifically, the control unit 302 obtains comment information and reference file information which are used to display one thread in accordance with the thread header of the thread information. The control unit 302 then generates a bitmap, a character string, or an image object of a reference file access button based on the obtained comment information and reference file data. The control unit 302 also obtains the coordinate information (comment coordinates and access button coordinates) and size information (a comment size and an access button size) of each of the comment information and the reference file information. The control unit 302 generates an image by combining the image object with the original data 700 to superimpose and display the generated image object on the original data 700, based on the obtained coordinate information and size information. The control unit 302 displays the composite image on the display unit 304. The image data obtained by combining data is an image with the respective pieces of information of the thread information (comment information and reference file information) being held in an input or display positional relationship when they are input, and is displayed as one thread in the form of a thread. This display will be referred to as thread display.
When the thread information (the thread header information 805a, comment information 805b, and reference file information 805c) in
(Superimposition Display)
The electronic bulletin board system of this embodiment converts the handwritten comment input to the paper material 10 into electronic bitmap data. The display unit 304 of the information terminal 300 then displays the bitmapped handwritten comment together with the original data 700. The user who has added a handwritten comment to the handwritten comment or another user can add electronic comment via the information terminal 300.
In this electronic bulletin board system, the user who has additionally handwritten a comment on the paper material 10 sometimes wants to see comments from other users. Alternatively, the user to which the paper material 10 before the addition of a handwritten comment has been distributed sometimes wants to see the handwritten comments or electronic comments which have already been added by other users. When the image sensing unit 306 of the information terminal 300 images the paper material 10 in order to cope with such a use case, the display unit 304 displays an image, with handwritten comments, electronic comments, and the like being superimposed on the captured image, in real time. This processing will be described with reference to
In step S3050, the superimposition processing unit 315 downloads the feature pattern information table 2601a from the server 400 and stores the table in the storage unit 303.
In step S3051, the image sensing unit 306 images the paper material 10 and transmits the captured image (reference numeral 3001 in
In order to detect a specific feature pattern from the captured image 3001, this embodiment uses a known feature point detection technique and feature amount extraction technique (for example, SURF). The superimposition processing unit 315 extracts feature amount information from a captured image by using these known techniques and compares the information with the feature amount information of each feature pattern in the feature pattern information table stored in the storage unit 303, thereby detecting a feature pattern. In this embodiment, a feature amount comparison method to be used is not limited to any specific method. For example, RANSAC may be used.
The superimposition processing unit 315 calculates the enlargement ratio of the feature pattern on the captured image relative to the feature pattern 710 on the original data while detecting the above feature pattern. The enlargement ratio is the size of the feature pattern on the window relative to the size of the feature pattern in the electronic bulletin board coordinate system.
Upon detecting a feature pattern, the superimposition processing unit 315 transmits a thread information obtainment request including the information of the feature pattern (feature pattern information) to the server 400 in step S3052. In addition, the superimposition processing unit 315 stores the position of the detected feature pattern on window coordinates in the storage unit 303.
In step S3053, the superimposition processing unit 315 receives information as a response to the transmission of the ID of the feature pattern information in step S3052 from the server 400.
In step S3054, the superimposition processing unit 315 determines whether the information received in step S3053 includes thread information. That is, the superimposition processing unit 315 determines whether it has received thread information.
Upon determining the reception of thread information, the superimposition processing unit 315 generates an image object for superimposition display by using the received thread information and the position of the feature pattern obtained in step S3051 on the window in step S3055. This processing will be described later with reference to
In step S3056, the superimposition processing unit 315 performs thread display by superimposing the generated image object at a position based on the detected position of the feature pattern on the image captured by the image sensing unit 306. To calculate the thread position on the window, the superimposition processing unit 315 multiplies a relative position (Xm, Ym) of the feature pattern information 2601 by the enlargement ratio obtained in step S3051 to match with the unit of coordinates on the window. The superimposition processing unit 315 then subtracts this relative position (Xm, Ym) from the position of the feature pattern obtains in step S3051.
The superimposition processing unit 315 draws the image object generated in step S3055 at the thread position upon enlarging/reducing the image object to match with the size on the window based on the enlargement ratio.
If the superimposition processing unit 315 determines in step S3054 that it has not received any thread information, the superimposition processing unit 315 generates no image object to be superimposed.
Note that in step S3051, the superimposition processing unit 315 may detect a plurality of patterns having high similarity degrees. In this case, the system may be configured to display a pattern with the highest similarity degree or present the respective pieces of thread information to the user to allow he/she to select which one of the pieces of thread information is superimposed and displayed.
In step S3070, the superimposition processing unit 315 checks, from the signs of the values of the x-direction relative position and y-direction relative position of the feature pattern information 2601, whether the position of the feature pattern is in the upper right direction, lower right direction, upper left direction, or lower left direction relative to the position of the start point (start position) of the thread. If, for example, the x-direction relative position is positive and the y-direction relative position is positive, the superimposition processing unit 315 determines that the position of the feature pattern is in the lower right direction. If the signs of the above values are opposite, the resultant pattern is reversed horizontally and vertically.
In step S3071, the superimposition processing unit 315 recalculates the position of the comment included in the thread information so as to set a positional relationship in which the comment extends toward the feature pattern. As shown in
In step S3072, the superimposition processing unit 315 generates an image object of the comment information 802 as a superimposition display target based on the information of the “superimposition target” included in the comment information 802 for each comment information 802 having recalculated coordinates. If the comment information is not a superimposition display target, the superimposition processing unit 315 draws the first comment of the thread as a processing target as an object having a transparence of 100%. When generating an image object of comment information, the superimposition processing unit 315 generates an image object of the reference file access button with respect to reference file information having, as a parent comment ID, the comment ID of comment information as a superimposition display target. The superimposition processing unit 315 does not generate an image object of the reference file access button with respect to reference file information having, as a parent comment ID, the comment ID of comment information which is not a superimposition display target, and does not handle the file information as a superimposition target. The superimposition processing unit 315 generates an image object in the above manner such that the image object is displayed so as to hold the positional relationship between comment information and file information based on the respective pieces of coordinate information in the thread information. That is, as shown in
Upon receiving the thread information obtainment request, the control unit 402 causes the feature pattern management unit 416 to search, in step S4052, for thread information corresponding to the received feature pattern information by using the feature pattern information table.
In step S4054, the control unit 402 determines whether the region of the nearest thread information exists within a predetermined distance relative to the feature pattern (pattern 710). More specifically, the control unit 402 determines whether the distance between the thread coordinates of the thread header included in the nearest thread information and the coordinates of the region extracted in step S4052 in the electronic bulletin board coordinate system is equal to or less than a predetermined threshold.
Upon determining in step S4054 that the region exists, the control unit 402 determines in step S4055 that it will include the thread information as the search result obtained in step S4052 in information as a response to the thread information obtainment request received in step S4051. Upon determining in step S4054 that the region does not exists, the control unit 402 determines in step S4056 that it will not include the thread information in information as a response to the thread information obtainment request received in step S4051.
In step S4057, the control unit 402 transmits the information as the response to the thread information obtainment request to the information terminal 300 in accordance with the decision made in step S4055 or S4056.
Executing the processing in
Note that the processing procedures in
Note that this can be applied to a case in which many original data and printed materials are used. This can be implemented by preparing a plurality of electronic pens and one-to-one associating printed materials of the respective original data with electronic pens.
With the above arrangement and procedures, by using a portable terminal with a camera, the user superimposes and displays an electronic comment on the paper material image displayed on the display of the portable terminal while imaging the paper material. A handwritten comment is written on the paper material and the corresponding locus information is input. This system detects a feature pattern near the input position of the handwritten comment from the captured image in real time by using the image detection technique, stores/manages the electronic comment input in association with the detected feature pattern, and superimposes/displays the comment. This solves the problem of difficulty in associating with handwritten comments, that is, difficulty in extracting feature points because electronic comments are not directly associated with the handwritten characters of handwritten comments, character colors are thin, and character shapes are round.
Even if, therefore, a handwritten comment to be a trigger for superimposition display is spaced apart from a feature pattern which is used as an actual trigger, since the positional relationship between the feature pattern and the electronic comment is maintained, it is possible to display the electronic comment as desired by the user.
These can solve the problem of difficulty in grasping the relationship between a handwritten comment and an electronic comment in an image when the user refers to the comments afterward.
Although the above embodiment uses the method of inputting handwritten comment information by coordinate calculation using the electronic pen 100 which generates ultrasonic waves, other methods may be used. That is, the following method may be used. The user writes with electronic pen on special paper on which a predetermined dot pattern is written. The image sensing unit attached to the electronic pen then reads the dot pattern corresponding to a locus. The server stores the dot pattern information of the special paper in advance. Based on the locus information transmitted from the electronic pen, the electronic bulletin board coordinate system generates a bitmap of a handwritten comment.
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiments, and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiments. For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (for example, computer-readable medium).
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2012-270706, filed Dec. 11, 2012, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2012-270706 | Dec 2012 | JP | national |