WO2014054716A1 - ユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体 - Google Patents

ユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体 Download PDF

Info

Publication number
WO2014054716A1
WO2014054716A1 PCT/JP2013/076901 JP2013076901W WO2014054716A1 WO 2014054716 A1 WO2014054716 A1 WO 2014054716A1 JP 2013076901 W JP2013076901 W JP 2013076901W WO 2014054716 A1 WO2014054716 A1 WO 2014054716A1
Authority
WO
WIPO (PCT)
Prior art keywords
character
characters
user
character string
user interface
Prior art date
Application number
PCT/JP2013/076901
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 JP2014539803A priority Critical patent/JP5897725B2/ja
Priority to US14/433,380 priority patent/US10591998B2/en
Publication of WO2014054716A1 publication Critical patent/WO2014054716A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities

Definitions

  • the present invention relates to a user interface device, a user interface method, a program, and a computer-readable information storage medium, and more particularly, to a user interface technique for inputting characters by performing a handwritten gesture in the air.
  • Non-Patent Document 1 A system for inputting characters by performing handwritten gestures in the air has been studied (see Non-Patent Document 1 below).
  • this system when a user wears a wearable camera on the head and performs an operation of writing a character in the air with a finger in front of the eyes, the movement of the hand is analyzed, and the character is identified from the analysis result.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide a user interface device, a user interface method, a program, and a computer readable computer that can easily input a plurality of characters by performing a handwriting gesture in the air.
  • An object is to provide an information storage medium.
  • a user interface device includes a template data storage unit that stores template data indicating a transition of a predetermined writing position when a gesture of writing each of a plurality of characters in the air is performed, and a user Is a position acquisition unit that sequentially acquires the predetermined writing position when performing a gesture of sequentially writing characters in the air, and each time the predetermined writing position is acquired by the position acquisition unit, A degree-of-similarity evaluation information output means for sequentially outputting degree-of-similarity evaluation information indicating the degree of similarity between the evaluation target data consisting of a predetermined number of the predetermined writing positions and the template data relating to each character in order.
  • a character string that determines a character string related to the user's gesture based on the similarity evaluation information related to each character. Including a constant means.
  • it may include a period determining means for determining a character determination period based on the similarity evaluation information relating to each character that is sequentially output. Further, the character string determining means determines one or more of the characters for which the similarity evaluation information satisfying a predetermined criterion is output within the character determination period as characters included in the character string related to the user gesture. It's okay.
  • the character string determination unit when the similarity evaluation information that satisfies the predetermined criterion is continuously output a plurality of times within the character determination period for only one character, the character string determination unit outputs the one character to the user. It may be determined that it is included in the character string related to the gesture.
  • the character string determination means when it is determined that there are a plurality of characters having overlapping periods during which the similarity evaluation information satisfying the predetermined value criterion is continuously output in the character string determination period, It may be determined that one of the plurality of characters is alternatively included in the character string related to the user's gesture.
  • the character string determining means may store related characters that are related to each other. In the character string determination period, when it is determined that there are a plurality of characters having overlapping periods during which the similarity evaluation information satisfying the predetermined criterion is continuously output, the plurality of characters are the related characters. If so, it may be determined that one of the predetermined ones is included in the character string related to the user's gesture.
  • the position acquisition means may sequentially acquire the three-dimensional coordinates of the predetermined writing position, and sequentially acquire the two-dimensional coordinates indicating the projection position with respect to the plane determined by at least three of them.
  • the character string determining means is based on each of the means for determining a plurality of primary character strings formed by concatenating characters selected based on the similarity evaluation information sequentially output, and each of the plurality of primary character strings.
  • the user interface method includes a position acquisition step of sequentially acquiring predetermined writing positions when the user performs a gesture of sequentially writing characters in the air, and the predetermined writing position is acquired in the position acquisition step.
  • a position acquisition step of sequentially acquiring predetermined writing positions when the user performs a gesture of sequentially writing characters in the air, and the predetermined writing position is acquired in the position acquisition step.
  • the template data storage means for storing the template data indicating the transition of the predetermined writing position when making a gesture to write in the air, a predetermined number in order from the newly acquired
  • a similarity evaluation information output step for sequentially outputting similarity evaluation information indicating the similarity between the evaluation target data consisting of the predetermined writing position and the template data relating to each character, and each character sequentially output Character string determination for determining a character string related to the user's gesture based on the similarity evaluation information includes a step, a.
  • the program according to the present invention includes a template data storage means for storing template data indicating a transition of a predetermined writing position when a gesture for writing each of a plurality of characters in the air is performed, and a gesture for the user to sequentially write characters in the air.
  • a position acquisition unit that sequentially acquires the predetermined writing position, and each time the predetermined writing position is acquired by the position acquisition unit, a predetermined number of the predetermined writing positions are sequentially acquired from the newly acquired position.
  • Similarity evaluation information output means for sequentially outputting similarity evaluation information indicating the similarity between the evaluation target data and the template data relating to each character, and the similarity evaluation information relating to each character sequentially output
  • the computer to function as a character string determining means for determining a character string related to the user's gesture. It is a program for. This program may be stored in a computer-readable information storage medium.
  • FIG. 1 is an external perspective view of a user interface device according to an embodiment of the present invention. It is a figure which shows an example of the user interface image displayed on a screen. It is a functional block diagram of a user interface device concerning an embodiment of the present invention. It is a flowchart which shows a character recognition process. It is a figure explaining the measurement of the three-dimensional coordinate sequence which shows the locus
  • FIG. 1 is an external perspective view of a user interface device according to an embodiment of the present invention.
  • the user interface device 10 includes a display device 12 such as a television receiver or a monitor for a personal computer, a space measurement device 14, and a main body 16.
  • the main body 16 is a computer such as a personal computer or a computer game system, to which the display device 12 and the space measurement device 14 are connected.
  • the space measuring device 14 functions as a moving image camera that captures a front surface in real time and acquires a two-dimensional image, and information on the distance to each position of the two-dimensional image (frame image) displayed by the moving image camera (distance image). And a function as a distance sensor (depth sensor).
  • the distance sensor for example, irradiates a front side with a specific two-dimensional pattern of infrared light, shoots it with an infrared camera, and displays an image showing the front from the difference between the projected two-dimensional pattern and the original two-dimensional pattern. The distance to each position may be calculated.
  • the space measurement device 14 can acquire a moving image that projects the front and information on three-dimensional coordinates (distance image) of each position that appears in the frame image that constitutes the moving image, by the above two functions.
  • the space measuring device 14 is arranged on the display device 12 in a direction in which the display surface of the display device 12 faces.
  • a moving image and a distance image indicating the state are input to the main body 16.
  • the main body 16 recognizes a three-dimensional coordinate sequence of the position of the dominant hand (here, the right hand) of the user U from these moving images and distance images, as will be described later. Based on, the character written by the user is recognized.
  • FIG. 2 shows an example of a user interface image displayed on the screen of the display device 12.
  • a moving image obtained by horizontally inverting a moving image taken by the space measurement device 14 is displayed on the entire screen as a background.
  • the user U is shown in the moving image.
  • a selection candidate image (candidate for a converted character string) Selection elements) 20 are arranged at substantially equal intervals, and the user U can select the conversion character string indicated by the one selection candidate image 20 by overlapping the display position of the right hand on one of them.
  • the selected conversion character string is passed to another program, for example, and used as a search keyword or the like, or used in a transmission message of a communication tool such as e-mail.
  • the selection element is not limited to the conversion character string candidate as described above, but may be an image or text data indicating another character string.
  • the circle 26 may be a photographic image such as a product handled on an electronic commerce site.
  • a button image 28 for activating a specific function such as an image of a backspace button for deleting a character already input is arranged.
  • the user U can activate a specific function by placing the right hand on the button image 28.
  • the diameter of the circle 26 may be determined as, for example, 80% based on the length when the user U's arm is displayed on the screen. Alternatively, for example, 80% may be determined based on the length when the average person's arm is displayed on the screen.
  • an area (empty writing area) in which the user U operates to write characters with a dominant hand is set inside the circle 26.
  • This empty writing area may be a circular area.
  • the circular region may be concentric with the circle 26 and may have a smaller diameter than the circle 26.
  • the user U writes an arbitrary character with the right hand so that the position 24 where his / her right hand is projected is within the empty writing area.
  • the right hand position 24 is recognized by the main body 16 every predetermined time, and a predetermined number of positions from the newly recognized position are displayed on the screen by an identification image such as a circle (black circle in the figure).
  • an identification image such as a circle (black circle in the figure).
  • the trajectory of the dominant hand position 24 is indicated by a group of images such as circles while displaying the image of the user U reversed left and right, the user U is in the empty writing area. You can easily understand what characters are written from the screen contents. Further, since the user U cannot extend the position 24 of his / her dominant hand on the selection item image 20 or the button image 28 unless the arm is stretched, the selection item image 20 or the button image 28 may be mistakenly displayed while the character is being written. You won't have to make a selection.
  • the main body 16 calculates the three-dimensional position coordinates of the main part of the person appearing in the moving image based on the moving image and the distance image acquired by the space measurement device 14.
  • the main part of the person appearing in the moving image is recognized and the three-dimensional The coordinates are acquired from the moving image and the distance image.
  • a part that does not appear in the moving image can be interpolated from a moving image and a distance image that move back and forth in time, or can be estimated from the three-dimensional position coordinates of the part connected to the same part.
  • This calculation result can be easily used by using, for example, Kinect (trademark) of Microsoft Corporation. Then, by projecting the recognized position onto a projection plane virtually arranged in front of the space measuring device 14, the position 22 of the dominant hand side and the position 24 of the dominant hand are obtained.
  • Kinect trademark of Microsoft Corporation.
  • the right hand of the user U is a writing part for writing a character writing gesture or a selection part for selecting the selection item image 20, and the position 24 is a writing position or a selection position.
  • the left hand may be used as a writing part or a selection part
  • the position of the left hand may be used as a writing position or a selection position.
  • other body parts such as a finger may be used as a writing part or a selection part.
  • the position of the dominant hand is the selected position and the shoulder on the dominant hand side is the reference part, but the part that is on the trunk side of the selected position and has a joint for moving the selected position is selected.
  • the position of the fingertip may be set as the selection position, and the wrist may be used as the reference part.
  • the recognition of the position where the hand is displayed is not limited to the above method.
  • the user U may wear a glove having a specific color, and the position of the specific color may be recognized from the moving image as a writing position or a selection position.
  • the characters may be written with some object (such as a bar-like object resembling a writing instrument) or the selection item image 20 may be selected. In this case, the tip position of the object is the writing position or the selection position.
  • the display position of the tip of the object may be recognized as a writing position or a selection position depending on the color or shape.
  • the space measurement device 14 is not necessarily required, and a moving image camera can be used instead.
  • FIG. 3 is a functional block diagram of the user interface device 10.
  • the user interface device 10 includes a motion acquisition unit 30, a character recognition unit 32, a conversion unit 34, a user interface unit 36, an application unit 38, a character template storage unit 40, a cost table storage unit 42, a basic unit.
  • a dictionary storage unit 44, a converted dictionary storage unit 46, and a character conversion table storage unit 48 are included. These elements are realized by executing a program according to the embodiment of the present invention on the main body 16.
  • This program may be stored in a computer-readable information storage medium such as a CD-ROM or DVD-ROM, and installed from there into the main body 16 or downloaded to the main body 16 via an information communication network such as the Internet and installed. May be.
  • the motion acquisition unit 30 acquires a moving image and a distance image of the user U from the space measurement device 14. Further, based on these images, the three-dimensional coordinates of the dominant hand side of the user U and the dominant hand are calculated.
  • the character recognition unit 32 sequentially recognizes characters written by the user U based on the three-dimensional coordinates of the user's dominant hand.
  • the conversion unit 34 sequentially converts characters sequentially recognized by the character recognition unit 32 into a character string (word or sentence).
  • the user interface unit 36 displays the user interface image shown in FIG. 2 on the screen of the display device 12. For this reason, the character string converted by the conversion unit 34 is acquired and displayed as the selection candidate image 20. Further, the moving image acquired by the motion acquisition unit 30 is displayed as a background, and the position of the dominant hand of the user U is displayed. Further, when the position of the dominant hand is within a predetermined distance from the position of the selection candidate image 20, the application unit 38 is notified that the conversion character string corresponding to the selection candidate image 20 has been selected.
  • the application unit 38 executes predetermined information processing based on the converted character string notified from the user interface unit 36.
  • This information processing may be any process, for example, a process for searching information from the database using the notified conversion character string as a search key, or a transmission message is generated based on the notified conversion character string. It may be a process.
  • the character template storage unit 40 and the cost table storage unit 42 respectively store a character template (see FIG. 9) and a cost table (see FIG. 10) described later. These are used for character recognition processing in the character recognition unit 32.
  • the basic dictionary storage unit 44, the converted dictionary storage unit 46, and the character conversion table storage unit 48 are a basic dictionary (see FIG. 15), a converted dictionary (see FIG. 17), and a character conversion table (see FIG. 16) described later. Is stored. These are used for conversion processing in the conversion unit 34.
  • FIG. 4 is a flowchart showing character recognition processing by the character recognition unit 34, and the processing shown in FIG. 4 is executed at predetermined time intervals.
  • the character recognition unit 34 acquires the latest three-dimensional position coordinates of the dominant hand acquired by the motion acquisition unit 30 (S101).
  • the three-dimensional position coordinates acquired in S101 are projected onto a predetermined projection plane (S102).
  • a projection plane 50 is set between the spatial region where the trajectory 18 of the dominant hand of the user U exists and the position of the spatial measurement device 14.
  • the projection surface 50 is provided in advance in a direction perpendicular to the front direction of the space measuring device 14, and the X axis is set in the left-right direction and the Y axis is set in the up-down direction. Then, as illustrated in FIG. 6, the three-dimensional position 52 of the dominant hand of the user U acquired in S ⁇ b> 101 is vertically projected on the projection plane 50.
  • FIG. 7 shows an example of the locus 18 of the position of the dominant hand of the user U projected on the projection plane 50.
  • FIG. 7 shows a projection when the user U writes the letter “R” in the void area. Surface 50 is shown.
  • the projection plane 50 is set in front of the space measurement device 14 so as to be perpendicular to the front direction of the space measurement direction 14. It does not necessarily write the letters correctly towards the device 14. For example, when the user U writes a character facing sideways, the locus 18 of the dominant hand projected on the projection plane 50 is reduced to the left and right, and it is difficult to determine which character the user U has written. It becomes.
  • the projection plane 50a is not necessarily set perpendicular to the front direction of the space measurement device 14.
  • the projection plane 50a may be a plane including all the coordinates of the selected three-dimensional position 52, or may be a plane including a statistical position such as an average of the selected three-dimensional positions 52. Alternatively, it may be a plane parallel to these planes.
  • the selected three-dimensional position 52 may be selected at random from the trajectory 18 or may be selected so that the acquired time is a predetermined time interval.
  • a plane that passes through the feature points in the trajectory 18 may be the projection plane 50a.
  • the feature point may be determined based on the curvature of each part of the trajectory 18. Or you may calculate the plane which passes the feature point in a locus
  • the character recognition unit 34 subtracts the position coordinate after the projection acquired immediately before from the position coordinate after the projection at each time, and a vector indicating the moving direction of the position where the user U writes the character. Get the data. Furthermore, direction classification data is obtained by classifying this vector data into any of nine types of directions (S103). That is, if the size of the vector data is less than a predetermined value, it is classified as vector data indicating that it has not moved, and direction classification data indicating the same classification is assigned. This classification is indicated by a dot (•) in the accompanying drawings. If the size of the vector data is greater than or equal to a predetermined value, the vector data is classified as vector data indicating one of eight directions depending on the direction of the vector data.
  • the direction of the vector data is -23 degrees or more and less than +22 degrees with respect to the upward direction (Y direction)
  • it is classified as vector data indicating the upward direction
  • direction classification data indicating the same classification is assigned.
  • This classification is indicated by an upward arrow in the accompanying drawings. If it is +22 degrees or more and less than +67 degrees, it is classified as vector data indicating the diagonally upper right direction, and direction classification data indicating the same classification is assigned. This classification is indicated by an arrow pointing upward to the right in the accompanying drawings. If it is +67 degrees or more and less than +112 degrees, it is classified as vector data indicating the right direction, and direction classification data indicating the same classification is assigned. This classification is indicated by a right arrow in the accompanying drawings.
  • a similarity evaluation value (similarity evaluation) between input data (evaluation target data) consisting of a predetermined number of temporally continuous direction classification data with the latest direction classification data as one end, and a template for each character Information).
  • input data evaluation target data
  • evaluation target data consisting of a predetermined number of temporally continuous direction classification data with the latest direction classification data as one end, and a template for each character Information.
  • the template data schematically shown in FIG. 9 contains all characters (here, 23 letters of the alphabet, numbers from 0 to 9, and long sound) in the character template storage unit 40. A total of 34 types of hyphens ("-") are stored.
  • the template shows the transition of the position of the dominant hand when performing the operation of writing each character in the air.
  • the direction classification data described above are arranged in time order.
  • a template of each character can be easily obtained by a person having a standard physique performing an operation of writing the character in the air, and repeatedly applying the processes of S101 to S103 every predetermined time.
  • a plurality of templates may be prepared for each character.
  • the cost table storing cost table data schematically shown in FIG. 10 in the cost table storage unit 42 indicates the cost (separation) between the direction classification data.
  • the cost between the direction classification data is 0, the cost between the direction classification data indicating adjacent directions is 1, and the cost between the direction classification data indicating different directions with a shift of 90 degrees or more and 135 degrees or less is 2.
  • the cost between the direction classification data indicating the opposite directions is 3.
  • the cost between the direction classification data ( ⁇ ) indicating that it is not moving and the other types of direction classification data is 1 in all cases.
  • the character recognition unit 12 can access these data.
  • the direction classification data constituting the input data is arranged in time order on the horizontal axis, and the direction classification data constituting the arbitrary one character template data is also the same.
  • a matrix arranged in order of time on the vertical axis is prepared.
  • the costs are read from the cost table and stored in the corresponding matrix elements in the matrix shown in FIG. To do.
  • the direction classification data obtained at the latest (new) time among the direction classification data constituting the input data and the direction classification data obtained at the latest time among the direction classification data constituting the template data The corresponding matrix element (lower right in the figure) is set as the element of interest, and the cost (0 here) stored therein is acquired.
  • the element of interest is shifted to a matrix element that is located on the upper, diagonally left, or left of the same matrix element, and the cost stored therein is acquired and added to the already acquired cost. In this way, the element of interest is moved to the matrix element corresponding to the direction classification data acquired at the earliest (oldest) time in the uppermost matrix element, that is, the direction classification data constituting the template. Get the sum.
  • a route is selected from among a plurality of routes of the element of interest so as to minimize the total cost.
  • the total cost of the route (that is, the minimum value of the total cost) is used as the similarity evaluation value between the input data and the template of the character.
  • the similarity evaluation value the more similar.
  • the character recognition unit 12 calculates the similarity evaluation value between the input data and the template of each character as described above. According to the DP matching described above, even when there is a difference between the speed of writing a character when the template is generated and the speed of the user U writing the character, it is possible to appropriately recognize the character.
  • the character recognition unit 12 determines whether there is a template having a similarity evaluation value equal to or lower than a predetermined value (S105). If such a template exists, the character and similarity evaluation value corresponding to the template are stored in a buffer prepared in the memory of the main body (S106). The process ends. If there are a plurality of templates of similarity evaluation values equal to or less than a predetermined value, all characters and similarity evaluation values corresponding to the templates are stored in the buffer.
  • the character corresponding to the template of the similarity evaluation value equal to or smaller than the predetermined value is referred to as “detected character”.
  • the conversion unit 34 is activated, and the conversion unit 34 is based on the characters already stored in the buffer and the similarity evaluation value.
  • the candidate character data is output (S107).
  • FIG. 12 is a diagram showing an example of the transition of the similarity evaluation value between the input data and each character template.
  • the horizontal axis indicates time
  • the vertical axis indicates similarity evaluation values.
  • the character recognition unit 12 calculates the similarity evaluation value between the input data and each character template every predetermined time, and the similarity evaluation value is calculated when the user U finishes writing the character.
  • a template that is less than or equal to a predetermined value is generated.
  • the similarity evaluation values corresponding to these characters are sequentially less than or equal to a predetermined value and again exceed the predetermined value. . That is, the characters R, K, and T are detected in order.
  • FIG. 13 is a diagram for explaining a candidate character output method in S107.
  • the detected characters are shown in order from left to right until some character is detected and no character is detected.
  • a period from when any character is detected until no character is detected is defined as a character determination period.
  • the character recognition unit 12 determines that the character and its similarity in S107.
  • the evaluation value is output as candidate character data.
  • the candidate data may take a predetermined format such as ( ⁇ character: similarity evaluation value ⁇ ) (in the case of (a) in the figure, it becomes ( ⁇ A: 1.5 ⁇ )).
  • the similarity evaluation value may be the smallest of the similarity evaluation values for the same character stored in the buffer, or may be a statistical value such as an average value. Further, in the case of FIG.
  • the character recognition unit 12 only determines that character and its similarity evaluation value when one character is detected continuously for a predetermined number of times of 2 or more (for example, 3 times) or more. Is output as candidate character data, and if it is continuously detected less than a predetermined number of times, the candidate character data may not be output. In this way, erroneous recognition can be prevented.
  • one character (here “F”) is continuously detected in the character determination period, and another character (here “E”) is detected from the middle.
  • E another character
  • FIG. 5B shows an example in which “F” is detected while “E” is being written.
  • the character detected previously is included in a part of character detected later, it is restricted to specific character pairs, such as "E” and "F”. Therefore, a pair of such a character (first character) detected first and a character (second character) detected immediately after that may be stored in advance as a related character. Then, in the character determination period, when the pre-stored pre-character is continuously detected and the corresponding post-character is detected from the middle, the post-character and its similarity evaluation value are output as candidate character data. It's okay.
  • one character (here “1”) is continuously detected in the character determination period, and another character (here “H”) is detected from the middle. If another character (here “2”) is detected in the middle of the detection, the second character (here “H”) is written or the first character (here “1”). ”) And the third character (“ 2 "in this case) are written continuously. Therefore, in the case of FIG. 5C, both of the above two possibilities are output as candidate character data.
  • the format may be ( ⁇ character 2: similarity evaluation value 2 ⁇
  • the character recognition unit 12 sets a character determination period from when any character is detected until no character is detected, and generates candidate character data according to the character detection pattern in the character determination period. Yes. In this way, more likely candidate character data can be generated.
  • FIG. 14 schematically shows candidate character data sequentially output from the character recognition unit 12.
  • the situation shown in FIG. 13A occurs, candidate character data for the character A is output, and then the situation shown in FIG. 13B occurs, candidate character data is output for the character E.
  • FIG. 13C shows an example in which the candidate character data is output for the characters H, 1 and 2 due to the situation shown in FIG.
  • the candidate character data are output in order.
  • the conversion unit 34 generates a character string related to the gesture of the user U based on the already output candidate character data each time the candidate character data is output as described above.
  • the basic dictionary storage unit 44, the converted dictionary storage unit 46, and the character conversion table storage unit 48 store the basic dictionary, the converted dictionary, and the character conversion table, respectively. Yes.
  • the basic dictionary stores kana and part of speech associated with each of a large number of words.
  • the character conversion table stores, as shown in FIG. 16, the alphabetical representations of all kana characters in association with each other. Here, at least two alphabetic notations are associated with the characters in the lines “K” to “W”.
  • At least two notations are associated with each other, that is, a Hebon type notation, that is, a notation composed of a consonant followed by a vowel, and a notation composed of only a consonant without a vowel.
  • a Hebon type notation that is, a notation composed of a consonant followed by a vowel, and a notation composed of only a consonant without a vowel.
  • the vowel is omitted for each, and “Sh” "And” S "are also associated with the kana character" shi ".
  • the converted dictionary stores the alphabetical representation of the word in association with each word recorded in the basic dictionary.
  • the converted dictionary is generated by the conversion unit 34 converting the basic dictionary while referring to the character conversion table. Specifically, the reading kana for a certain word is read from the basic dictionary, and each kana character constituting the reading kana is converted into alphabetic notation according to the character conversion table. As described above, many kana characters are associated with a plurality of alphabets, and in the converted dictionary, all combinations of alphabetic representations of kana characters constituting the reading kana are associated with one word. It has been. That is, for one word, ⁇ n (i) alphabetic notations are stored in association in the converted dictionary.
  • n (i) is the number of alphabetic characters associated with the i-th kana character constituting the word reading kana in the character conversion table.
  • indicates a product of i ranging from 1 to N (N: the number of characters in the reading kana).
  • FIG. 18 is a flowchart showing the conversion process by the conversion unit 34. This process is executed every time character candidate data is output from the character recognition unit 32.
  • one of the alphabet character strings generated from the character candidate data already output from the character recognition unit 32 is selected (S201). For example, from the character candidate data shown in FIG. 14, two alphabetic character strings “AEH” and “AE12” are generated, and one of them is selected. That is, the conversion unit 34 generates an alphabet character string by sequentially connecting alphabet characters indicated by the character candidate data.
  • the alphabet characters or characters indicated by the other character candidate data are selectively used.
  • a plurality of alphabet character strings are generated by concatenating with the columns, and one of them is selected.
  • the first score of the alphabet character string selected in S201 is calculated (S202).
  • the first score is calculated by extracting the similarity evaluation value corresponding to each character constituting the alphabet character string from the character candidate data and multiplying them by their reciprocal numbers. Further, a word or a word string corresponding to the alphabet character string selected in S201 is determined, and a graph thereof, that is, data indicating a connected state is generated (see FIG. 19).
  • an alphabetic character string that matches the entire alphabetic character string selected in S201 or a head portion of an arbitrary length is searched from the converted dictionary, and a word (conversion dictionary of the conversion dictionary) associated with the alphabetic character string is searched. Get headword). If an alphabetic character string that matches the first part of the alphabetic character string selected in S201 is stored in the converted dictionary, an alphabetic character string that matches the entire remaining part or the first part of any length is selected. Search from the converted dictionary and obtain a word associated with the alphabet string. In this way, the word or the word string (character string candidate related to the gesture of the user U) corresponding to the alphabet character string selected in S201 is acquired.
  • the conversion unit 34 calculates the second score for all words or word strings corresponding to the alphabet character string selected in S201 (S204). For example, for each word or word string, the second score can be calculated based on the appearance frequency of the word or word string, the likelihood as Japanese, the order of parts of speech of each word, and the like. Further, an overall score (candidate evaluation value) is calculated for all words or word strings corresponding to the alphabet character string selected in S201. The total score can be calculated, for example, by multiplying or adding the first score and the second score. Thereafter, the processing of S201 to S204 is repeated for all alphabetic character strings generated in S201 (S205). Then, a predetermined number of words or word strings are output in descending order of the total score (S206).
  • the user interface unit 36 displays the user interface image shown in FIG. 2 on the screen of the display device 12 based on the word or word string output from the conversion unit 34 and the moving image acquired by the motion acquisition unit 30. To display. Further, the position of the dominant hand of the user U acquired by the motion acquisition unit 30 is displayed.
  • FIG. 20 is a flowchart showing user interface processing by the user interface unit 36.
  • the processing shown in the figure is executed every predetermined time.
  • the latest frame image constituting the moving image output from the motion acquisition unit 30 is drawn as a background in the memory (S301).
  • the position coordinate of the shoulder of the dominant hand side of the user U in the frame image acquired from the motion acquisition unit 30 is acquired (S302).
  • the position coordinates of the dominant hand of the user U in the frame image are acquired (S303).
  • yen 26 centering on the position coordinate of the shoulder of the dominant hand side acquired by S302 is determined (S304).
  • the positions of the selection item images 20 may be set at regular intervals on the circumference of the circle 26, for example. Further, the distance between the position of the dominant hand acquired in S303 and each position determined in S304 is calculated, and each position determined in S303 is sorted according to the calculated distance (S305). Then, the word or the word string output from the conversion unit 34 is arranged at the position determined in S303 so that the higher the overall score is, the closer to the dominant hand position is (S306). Further, the button image 28 for activating the specific function is arranged outside the circle 26 (S307). Further, an identification image such as a circle is placed at the position of the dominant hand of the user U acquired in S303 (S308). As described above, the user interface image shown in FIG. 2 is generated and displayed on the screen of the display device 12.
  • the diameter of the circle 26 may be determined based on the length when the user U's arm is displayed on the screen, or when the average person's arm is displayed on the screen. You may determine on the basis of length.
  • a message requesting the user U to extend the dominant hand is displayed on the screen as shown in FIG. What is necessary is just to acquire the distance with the shoulder position 22 on the dominant hand side.
  • the converted dictionary stores an alphabetic character string including only consonants in association with each headword
  • the user U can obtain the intended character string only by inputting a small number of characters.
  • the user U erroneously selects an alphabet character string including consonants and vowels. Even if it is input, the character string intended by the user U can be obtained.
  • the selection item image 20 that is a selection element is displayed on the screen on the basis of the position of the shoulder on the dominant hand side of the user U, the user U can easily select each selection item image 20. .
  • the selection item image 20 is arranged on the circumference centered on the position of the shoulder of the user U.
  • the selection item image 20 may be arranged on an elliptical arc.
  • the selection item image 20 may be arranged on various curves and straight lines arranged away from the position of the user U's shoulder.
  • the position of the elbow on the dominant hand side may be used as a reference. If the selection item image 20 is arranged at a position separated from the position of the joint, such as the shoulder or the elbow, which is located on the trunk side of the hand, finger, and writing instrument as the writing position and the selection position, The user U can easily select the selection item image 20.
  • the converted dictionary is generated from the basic dictionary and the character conversion table.
  • the generated converted dictionary may be stored in the user interface device 10.
  • an alphabetic character string corresponding to the added headword is generated based on the character conversion table and registered in the converted dictionary. You may make it do.
  • the headword of the converted dictionary is not limited to the headword of the basic dictionary, and may be an arbitrary character string.
  • the converted dictionary may be generated again from the basic dictionary and the character conversion table so as to include only one of an alphabet character string including both consonants and vowels, or an alphabet character string including only consonants.
  • the headword of the converted dictionary may be a language other than Japanese that has a distinction between consonants and vowels.
  • a headword is a full spelling of an English word, and an alphabetic character string containing only consonants corresponding to it and an alphabetic character string containing consonants and at least one vowel can be stored in the converted dictionary in association with the headword.
  • an arbitrary English word can be input to the system by sequentially inputting an alphabet character string including only consonants or an alphabet character string including consonants and at least one vowel in a gesture.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)
  • Position Input By Displaying (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

 空中に手書きジェスチャを行うことにより複数の文字を簡単に入力することができるようにすること。 ユーザインタフェース装置は、複数文字のそれぞれを空中に書くジェスチャをした場合における所定の筆記位置の推移を示すテンプレートデータを記憶するテンプレートデータ記憶手段と、ユーザが空中に文字を順に書くジェスチャをする場合に、前記所定の筆記位置を順次取得する位置取得手段と、前記位置取得手段により前記所定の筆記位置が取得されるごとに、新しく取得されたものから順に所定数の前記所定の筆記位置からなる評価対象データと、前記各文字に係るテンプレートデータと、の類似度を示す類似度評価情報を順次出力する類似度評価情報出力手段と、順次出力される前記各文字に係る前記類似度評価情報に基づいて、前記ユーザのジェスチャに係る文字列を決定する文字列決定手段と、を含む。

Description

ユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体
 本発明はユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体に関し、特に、空中に手書きジェスチャを行うことで文字入力するユーザインタフェース技術に関する。
 空中に手書きジェスチャを行うことで文字入力するシステムが検討されている(下記非特許文献1参照)。このシステムでは、ユーザがウェアラブルカメラを頭部に装着し、眼前にて指で空中に1つの文字を書く動作を行うと、手の動きが解析され、解析結果から文字が特定される。またこのシステムでは、文字を書き始めるタイミング及び書き終わったタイミングにおいて、システムに対して明示的な操作を行って、文字認識の対象を明確化する必要がある。
園田智也,村岡洋一,「空中での手書き文字入力システム」,電子情報通信学会論文誌,一般社団法人電子情報通信学会,2003年7月1日,D-II J86-D-II(7),p. 1015-1025
 上述のように従来技術では、1文字入力する毎に入力開始及び入力終了をシステムに対して知らせる必要がある。このため、入力操作が煩雑であり、複数の文字からなる語や文を入力するのに適さないという問題がある。
 本発明は上記課題に鑑みてなされたものであって、その目的は、空中に手書きジェスチャを行うことにより複数の文字を簡単に入力することができるユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体を提供することにある。
 上記課題を解決するために、本発明に係るユーザインタフェース装置は、複数文字のそれぞれを空中に書くジェスチャをした場合における所定の筆記位置の推移を示すテンプレートデータを記憶するテンプレートデータ記憶手段と、ユーザが空中に文字を順に書くジェスチャをする場合に、前記所定の筆記位置を順次取得する位置取得手段と、前記位置取得手段により前記所定の筆記位置が取得されるごとに、新しく取得されたものから順に所定数の前記所定の筆記位置からなる評価対象データと、前記各文字に係るテンプレートデータと、の類似度を示す類似度評価情報を順次出力する類似度評価情報出力手段と、順次出力される前記各文字に係る前記類似度評価情報に基づいて、前記ユーザのジェスチャに係る文字列を決定する文字列決定手段と、を含む。
 また、本発明の一態様では、順次出力される前記各文字に係る前記類似度評価情報に基づいて文字判定期間を決定する期間決定手段を含んでよい。また、前記文字列決定手段は、所定基準を満たす前記類似度評価情報が前記文字判定期間内に出力される文字のうち、1以上を前記ユーザのジェスチャに係る文字列に含まれる文字として決定してよい。
 この場合、前記文字列決定手段は、1つの文字についてのみ前記所定基準を満たす類似度評価情報が前記文字判定期間内に複数回連続して出力される場合に、該1つの文字を前記ユーザのジェスチャに係る文字列に含まれると判断してよい。
 また、前記文字列決定手段は、前記文字列判定期間内において、前記所定値基準を満たす類似度評価情報が連続して出力される期間が重複する複数の文字があると判断される場合に、前記ユーザのジェスチャに係る文字列に、それら複数の文字のうちいずれかが択一的に含まれると判断してよい。
 また、前記文字列決定手段は、互いに関連する関連文字を記憶してよい。そして、前記文字列判定期間内において、前記所定基準を満たす類似度評価情報が連続して出力される期間が重複する複数の文字があると判断される場合に、それら複数の文字が前記関連文字であれば、予め定められたそのうち1つを前記ユーザのジェスチャに係る文字列に含まれると判断してよい。
 また、前記位置取得手段は、前記所定の筆記位置の3次元座標を順次取得し、そのうち少なくとも3つにより定まる平面に対する投影位置を示す2次元座標を順次取得してよい。
 また、前記文字列決定手段は、順次出力される類似度評価情報に基づいて選択される文字を連結してなる一次文字列を複数決定する手段と、前記複数の一次文字列のそれぞれに基づいて、前記ユーザのジェスチャに係る文字列の候補を1以上決定する手段と、前記各候補の評価値である候補評価値を、該候補に対応する前記一次文字列に含まれる文字に係る類似度評価値に基づいて算出する手段と、算出される候補評価値に基づいて、前記ユーザのジェスチャに係る1以上の文字列を出力する手段と、を含んでよい。
 また、本発明に係るユーザインタフェース方法は、ユーザが空中に文字を順に書くジェスチャをする場合に、所定の筆記位置を順次取得する位置取得ステップと、前記位置取得ステップで前記所定の筆記位置が取得されるごとに、複数文字のそれぞれを空中に書くジェスチャをした場合における前記所定の筆記位置の推移を示すテンプレートデータを記憶するテンプレートデータ記憶手段を参照して、新しく取得されたものから順に所定数の前記所定の筆記位置からなる評価対象データと、前記各文字に係るテンプレートデータと、の類似度を示す類似度評価情報を順次出力する類似度評価情報出力ステップと、順次出力される前記各文字に係る前記類似度評価情報に基づいて、前記ユーザのジェスチャに係る文字列を決定する文字列決定ステップと、を含む。
 また、本発明に係るプログラムは、複数文字のそれぞれを空中に書くジェスチャをした場合における所定の筆記位置の推移を示すテンプレートデータを記憶するテンプレートデータ記憶手段、ユーザが空中に文字を順に書くジェスチャをする場合に、前記所定の筆記位置を順次取得する位置取得手段、前記位置取得手段により前記所定の筆記位置が取得されるごとに、新しく取得されたものから順に所定数の前記所定の筆記位置からなる評価対象データと、前記各文字に係るテンプレートデータと、の類似度を示す類似度評価情報を順次出力する類似度評価情報出力手段、及び順次出力される前記各文字に係る前記類似度評価情報に基づいて、前記ユーザのジェスチャに係る文字列を決定する文字列決定手段としてコンピュータを機能させるためのプログラムである。このプログラムはコンピュータ可読情報記憶媒体に格納されてよい。
本発明の実施形態に係るユーザインタフェース装置の外観斜視図である。 画面に表示されるユーザインタフェース画像の一例を示す図である。 本発明の実施形態に係るユーザインタフェース装置の機能ブロック図である。 文字認識処理を示すフロー図である。 手の軌跡を示す3次元座標列の計測を説明する図である。 3次元座標列の投影を示す図である。 投影面に投影された手の軌跡を示す図である。 投影面の変形例を示す図である。 文字のテンプレートの一例を示す図である。 DPマッチングに用いるコストテーブルの一例を模式的に示す図である。 DPマッチングを説明する図である。 入力データと各文字のテンプレートとの類似度評価値の推移を示す図である。 候補文字の判定基準を説明する図である。 文字認識部から出力される候補文字データを示す図である。 基本辞書を示す図である。 文字変換テーブルを示す図である。 変換済み辞書を示す図である。 変換処理を示すフロー図である。 変換語候補のグラフ構造を示す図である。 ユーザインタフェース処理を示すフロー図である。 腕の長さを入力するためのユーザインタフェース画面の一例を示す図である。
 以下、本発明の実施形態について図面に基づき詳細に説明する。
 図1は、本発明の実施形態に係るユーザインタフェース装置の外観斜視図である。同図に示されるように、ユーザインタフェース装置10は、テレビ受像機やパーソナルコンピュータ用モニタなどの表示装置12と、空間計測装置14と、本体16と、を含んでいる。本体16はパーソナルコンピュータやコンピュータゲームシステムなどのコンピュータであり、表示装置12及び空間計測装置14が接続されている。
 空間計測装置14は、正面をリアルタイムに撮像し、2次元画像を取得する動画カメラとしての機能と、動画カメラにより映し出される2次元画像(フレーム画像)の各位置までの距離の情報(距離画像)を取得する距離センサ(デプスセンサ)としての機能と、を有している。距離センサは、例えば正面側に特定の2次元パターンの赤外光を照射し、それを赤外線カメラで撮影し、映し出される2次元パターンと元の2次元パターンとの相違から、正面を映し出した画像の各位置までの距離を計算するものであってよい。或いは、距離センサからレーザ光を出射し、レーザ光が正面の物体により反射され、再び距離センサまで戻ってくるまでの時間を計測して、その時間から距離をしてもよい。この場合、レーザ光を走査すれば、広範囲について距離情報を得ることができる。他にも、種々の方式の距離センサが知られており、これらを適宜採用することができる。空間計測装置14は、上記2つの機能により、正面を映し出した動画像と、動画像を構成するフレーム画像に表れた各位置の3次元座標の情報(距離画像)と、を取得できる。
 空間計測装置14は、表示装置12の上に、表示装置12の表示面が向く方向に向けて配置されている。ユーザUが表示装置12の前に立つか、又は座って、空中で文字を書く動作(ジェスチャ)をすれば、その様子を示す動画像及び距離画像が本体16に入力される。本体16では、これら動画像及び距離画像から、後述のようにユーザUの利き手(ここでは右手とする)の位置の3次元座標列を認識するようになっており、その手の位置の軌跡18に基づいて、ユーザが書いた文字が認識される。
 図2は、表示装置12の画面に映し出されるユーザインタフェース画像の一例を示している。同図に示されるように、画面には空間計測装置14で撮影された動画像を左右反転させた動画像(鏡像)が背景として全面に表示されている。ここでは動画像にユーザUが映し出されている。
 ユーザUの利き手側の肩、すなわち右肩(基準部位)が映し出された位置22を中心とした仮想的な円26(不可視)の周上には、変換文字列の候補を示す選択候補画像(選択要素)20が略等間隔に配置されており、ユーザUはそれらのうち1つに右手の表示位置を重ねることにより、当該1つの選択候補画像20が示す変換文字列を選択することができる。選択された変換文字列は、例えば他のプログラムに渡され、検索キーワードなどとして用いられたり、メールなどのコミュニケーションツールの送信メッセージに用いられたりする。なお、選択要素としては、上記のような変換文字列の候補を示すものに限らず、他の文字列を示す画像やテキストデータそのものであってもよい。或いは、電子商取引サイトで取り扱う商品などの写真画像であってもよい。円26の外側には、さらに入力済みの文字を削除するためのバックスペースボタンの画像など、特定機能を発動するためのボタン画像28が配置されている。ユーザUは、ボタン画像28に右手を重ねることにより、特定機能を発動させることができる。ここで、円26の径は、ユーザUの腕が画面に表示されたときの長さを基準に、例えばその8割と決定されてよい。或いは、平均的な人の腕が画面に表示されたときの長さを基準として、例えばその8割と決定されてもよい。
 また、円26の内側には、ユーザUが利き手で文字を書く動作をする領域(空書領域)が設定されている。この空書領域は円形領域であってよい。また、該円形領域は円26と同心であってよく、また、円26より小径であってよい。ユーザUは、自分の右手が映し出された位置24が空書領域内に収まるようにして、右手で任意の文字を書く。右手の位置24の所定時間ごとに本体16で認識されており、新しく認識されたものから順に所定数の位置は、画面に丸印等の識別画像により表示される(図中黒丸)。なお、空所領域から右手の位置24が出た場合には、認識された位置24に基づく文字の認識処理を停止してよい。こうすれば、ユーザUが選択候補画像20に右手を重ねる動きを、文字を書く動きと認識せずに済み、処理効率を向上させることができる。
 同図に示されるユーザインタフェースによれば、左右反転したユーザUの画像を表示しつつ、利き手の位置24の軌跡が丸印等の画像群により示されるので、ユーザUは自分が空書領域にどのような文字を書いているかを、画面内容から容易に理解できる。また、ユーザUは腕を伸ばさないと、自分の利き手の位置24を選択項目画像20やボタン画像28に重ねられないので、文字を書いている途中に誤って選択項目画像20やボタン画像28を選択してしまうことが無くなる。
 なお、本体16では、空間計測装置14により取得された動画像及び距離画像に基づき、動画像に表れた人の主要部位の3次元位置座標を計算する。動画像及び距離画像から人の主要部位(左右の肩及び手の位置を含む。)の3次元位置座標を計算するには、例えば動画像に表れた人の主要部位を認識し、その3次元座標を動画像及び距離画像から取得する。また、動画像に表れない部位については、時間的に前後する動画像及び距離画像から補間したり、同部位に連結された部位の3次元位置座標から推定したりできる。この計算結果は、例えばマイクロソフトコーポレーションのキネクト(商標)を用いることで、容易に利用できる。そして、認識された位置を、空間計測装置14の正面に仮想的に配置される投影面に投影することにより、利き手側の肩の位置22及び利き手の位置24を取得する。
 なお、ここではユーザUの右手を、文字を書くジェスチャを書く際の筆記部位や、選択項目画像20を選択するための選択部位とし、その位置24を筆記位置や選択位置としたが、ユーザUの利き手が左の場合には、左手を筆記部位や選択部位とし、左手の位置を筆記位置や選択位置としてよい。また、手以外にも、指などの他の体の部位を筆記部位や選択部位としてよい。また、以上の説明では利き手の位置を選択位置とし、利き手側の肩を基準部位としたが、選択位置よりも体幹側であって、選択位置を動かすための関節が存在する部位を、選択位置の種類に応じて基準部位として適宜選択してよい。例えば、指先の位置を選択位置とし、手首を基準部位としてよい。また、手が表示される位置の認識は、以上の方法に限らない。例えば、特定色の手袋をユーザUが装着し、該特定色の位置を筆記位置や選択位置として動画像から認識してよい。また、手で直接文字を書いたり選択項目画像20を選択しなくても、何らかの物体(筆記具に似せた棒状の物体など)で文字を書いたり選択項目画像20を選択するようにしてよい。この場合、当該物体の先端位置が筆記位置や選択位置となる。例えば、特定色及び/又は特定形状の物体を手に持ってユーザUが文字を書く場合には、色又は形状を頼りに当該物体の先端の表示位置を筆記位置や選択位置として認識してよい。こうした場合、空間計測装置14は必ずしも必要無く、動画カメラで代用できる。
 図3は、ユーザインタフェース装置10の機能ブロック図である。同図に示されるように、ユーザインタフェース装置10は、モーション取得部30、文字認識部32、変換部34、ユーザインタフェース部36、アプリケーション部38、文字テンプレート記憶部40、コストテーブル記憶部42、基本辞書記憶部44、変換済み辞書記憶部46及び文字変換テーブル記憶部48を含んでいる。これらの要素は、本体16に本発明の実施形態に係るプログラムが実行されることにより実現される。このプログラムは、CD-ROMやDVD-ROMなどのコンピュータ可読情報記憶媒体に格納され、そこから本体16にインストールされてもよいし、インターネットなどの情報通信ネットワークを介して本体16にダウンロードされ、インストールされてもよい。
 モーション取得部30は、空間計測装置14からユーザUの動画像及び距離画像を取得する。また、それら画像に基づいて、ユーザUの利き手側の肩及び利き手の3次元座標を計算する。
 文字認識部32は、ユーザの利き手の3次元座標に基づき、ユーザUが書く文字を順次認識する。変換部34は、文字認識部32により順次認識される文字を順次文字列(単語や文)に変換する。ユーザインタフェース部36は、図2に示されるユーザインタフェース画像を表示装置12の画面に表示する。このため、変換部34により変換された文字列を取得し、それを選択候補画像20として表示する。また、モーション取得部30により取得される動画像を背景として表示するとともに、ユーザUの利き手の位置を表示する。さらに、利き手の位置が選択候補画像20の位置から所定距離内にある場合には、同選択候補画像20に対応する変換文字列が選択されたことをアプリケーション部38に通知する。
 アプリケーション部38は、ユーザインタフェース部36から通知される変換文字列に基づき、所定の情報処理を実行する。この情報処理は、どのような処理であってもよいが、例えば通知される変換文字列を検索キーとしてデータベースから情報を検索する処理や、通知される変換文字列に基づいて送信メッセージを生成する処理であってよい。
 文字テンプレート記憶部40及びコストテーブル記憶部42は、後述する文字テンプレート(図9参照)及びコストテーブル(図10参照)をそれぞれ記憶する。これらは、文字認識部32における文字認識処理に用いられる。また、基本辞書記憶部44、変換済み辞書記憶部46及び文字変換テーブル記憶部48は、後述する基本辞書(図15参照)、変換済み辞書(図17参照)及び文字変換テーブル(図16参照)をそれぞれ記憶する。これらは、変換部34における変換処理に用いられる。
 ここで、文字認識部34による文字認識処理を詳細に説明する。図4は、文字認識部34よる文字認識処理を示すフロー図であり、同図に示される処理は所定時間ごとに実行される。同図に示されるように、まず文字認識部34はモーション取得部30により取得される最新の利き手の3次元位置座標を取得する(S101)。次に、S101で取得した3次元位置座標を所定の投影面に投影する(S102)。具体的には、図5に示されるように、ユーザUの利き手の3次元位置の軌跡18が存在する空間領域と、空間計測装置14の位置と、の間に投影面50が設定される。投影面50は、空間計測装置14の正面方向と垂直に予め設けられ、左右方向にX軸が設定され、上下方向にY軸が設定される。そして、図6に示されるように、S101で取得されたユーザUの利き手の3次元位置52は、投影面50に垂直投影される。図7は、投影面50に投影された、ユーザUの利き手の位置の軌跡18の一例を示しており、同図にはユーザUが空所領域に「R」の文字を書いた場合の投影面50が示されている。
 なお、ここでは図5に示されるように、空間計測装置14の前方に、該空間計測方向14の正面方向と垂直となるよう投影面50が設定されるようにしたが、ユーザUが空間計測装置14に正しく向かって字を書くとは限らない。例えば、ユーザUが横を向いて字を書くと、投影面50に投影された利き手の位置の軌跡18は、左右に縮小されてしまい、どの文字をユーザUが書いたかを判別するのが困難となる。
 そこで、図8に示されるように、ユーザUの利き手の軌跡18を構成する3次元位置52のうち、3以上を選択し、それらの3次元位置52から決まる平面を投影面50aとしてもよい。この場合、投影面50aは空間計測装置14の正面方向と垂直に設定されるとは限らない。投影面50aは、選択された3次元位置52の全ての座標を含む平面であってもよいし、選択された3次元位置52の平均などの統計的位置を含む平面であってよい。或いは、それら平面に平行な平面であってよい。また、選択される3次元位置52は、軌跡18からランダムに選択されてもよいし、取得された時間が所定時間間隔となるように選択されてもよい。或いは、選択される3次元位置52の間の距離ができるだけ大きくなるように、互いの距離に従って選択されてもよい。さらに、軌跡18における特徴点を通過する平面を投影面50aとしてもよい。特徴点は、軌跡18の各部の曲率に基づいて判断してよい。或いは、ハフ変換を用いて、軌跡における特徴点を通過する平面を投影面50aとして算出してもよい。このようにすれば、ユーザUがどのような方向を向いて字を書いても、正しく文字を認識することができる。
 図4に戻り、文字認識部34は、次に各時刻における投影後の位置座標から、直前に取得された投影後の位置座標を減算し、ユーザUが文字を書く位置の移動方向を示すベクトルデータを得る。さらに、このベクトルデータを9種類の方向のうちいずれかに分類することにより、方向分類データを得る(S103)。すなわち、ベクトルデータの大きさが所定値未満であれば、移動していない旨を示すベクトルデータであると分類し、同分類を示す方向分類データを割り当てる。この分類を添付図面では点(・)で示す。また、ベクトルデータの大きさが所定値以上であれば、ベクトルデータの向きにより8方向のいずれかを示すベクトルデータであると分類する。すなわち、ベクトルデータの方向が、上方向(Y方向)を基準として-23度以上+22度未満であれば、上方向を示すベクトルデータであると分類し、同分類を示す方向分類データを割り当てる。この分類を添付図面では上方向の矢印で示す。+22度以上+67度未満であれば、右斜め上方向を示すベクトルデータであると分類し、同分類を示す方向分類データを割り当てる。この分類を添付図面では右斜め上方向の矢印で示す。+67度以上+112度未満であれば、右方向を示すベクトルデータであると分類し、同分類を示す方向分類データを割り当てる。この分類を添付図面では右方向の矢印で示す。+112度以上+157度未満であれば、右斜め下方向を示すベクトルデータであると分類し、同分類を示す方向分類データを割り当てる。この分類を添付図面では右斜め下方向の矢印で示す。+157度以上+202度未満であれば、下方向を示すベクトルデータであると分類し、同分類を示す方向分類データを割り当てる。この分類を添付図面では下方向の矢印で示す。+202度以上+247度未満であれば、左斜め下方向を示すベクトルデータであると分類し、同分類を示す方向分類データを割り当てる。この分類を添付図面では左斜め下方向の矢印で示す。+247度以上+292度未満であれば、左方向を示すベクトルデータであると分類し、同分類を示す方向分類データを割り当てる。この分類を添付図面では左方向の矢印で示す。+292度以上+337度未満であれば、左斜め上方向を示すベクトルデータであると分類し、同分類を示す方向分類データを割り当てる。この分類を添付図面では左斜め上方向の矢印で示す。
 次に、最新の方向分類データを一端とする、所定数の時間的に連続する方向分類データからなる入力データ(評価対象データ)と、各文字のテンプレートと、の類似度評価値(類似度評価情報)を計算する。なお、文字認識処理の開始時には、所定数の時間的に連続する方向分類データが存在しないが、その場合にはS104以降の処理は実行せず、処理を終了する。
 類似度評価値の計算のため、文字テンプレート記憶部40には、図9に模式的に示されるテンプレートのデータが全ての文字(ここでは、アルファベット23文字、0から9までの数字、長音を示すハイフン(「-」)の合計34種の文字)について記憶されている。テンプレートは、各文字を空中に書く動作をした場合の利き手の位置の推移を示しており、図9に示されるように、上述した方向分類データを時間順に並べたものとなっている。各文字のテンプレートは、標準的な体格を有する者が空中で該文字を書く動作を行い、それに対してS101乃至S103の処理を所定時間ごとに繰り返して適用することにより容易に得ることができる。なお、テンプレートは各文字について複数用意されてもよい。
 また、コストテーブル記憶部42には、図10に模式的に示されるコストテーブルのデータが記憶されているコストテーブルは、方向分類データ間のコスト(かい離度)を示しており、ここでは、同じ方向分類データ間のコストは0であり、隣り合う方向を示す方向分類データ間のコストは1であり、90度以上135度以下のずれで異なる方向を示す方向分類データ間のコストは2であり、反対方向を示す方向分類データ間のコストは3である。また、移動していない旨の方向分類データ(・)と他の種類の方向分類データとの間のコストは、いずれも1である。類似度評価値の計算のため、文字認識部12はこれらのデータにアクセスすることができるようになっている。
 DPマッチングでは、概念的には、図11に示されるように、入力データを構成する方向分類データを横軸に時刻順に並べられるとともに、任意の1文字のテンプレートデータを構成する方向分類データも同様に縦軸に時刻順に並べられたマトリックスが用意される。そして、入力データを構成する方向分類データと、テンプレートデータを構成する方向分類データとのすべての組み合わせに対し、コストテーブルからコストを読み出し、図11に示されるマトリックスにおける、対応するマトリックス要素にそれぞれ格納する。その後、入力データを構成する方向分類データのうち最も遅い(新しい)時刻に取得された方向分類データと、テンプレートデータを構成する方向分類データのうち最も遅い時刻に取得された方向分類データの組に対応するマトリックス要素(図中右下)を注目要素とし、そこに格納されたコスト(ここでは0)を取得する。次に、同マトリックス要素の上、左斜め上、左のいずれかにあるマトリックス要素に注目要素を推移させ、そこに格納されたコストを取得するとともに、既に取得されたコストに加算する。こうして、注目要素を、最上行のマトリックス要素、すなわち、テンプレートを構成する方向分類データのうち時間的に最も早い(古い)時刻に取得された方向分類データに対応するマトリックス要素まで移動させ、コストの総和を得る。このとき、複数の注目要素の経路のうち、コストの総和を最小化するよう経路を選択する。そして、同経路のコストの総和(つまりコストの総和の最小値)を、入力データと当該文字のテンプレートの類似度評価値とする。なお、ここでは類似度評価値の値が小さいほど類似していることとなる。文字認識部12では、図4のS101において、入力データと各文字のテンプレートとの類似度評価値を上述のようにして計算する。上述のDPマッチングによれば、テンプレートを生成した際の文字を書くスピードと、ユーザUが文字を書くスピードと、にずれがある場合にも、適切に文字認識することができる。
 文字認識部12では、次に所定値以下の類似度評価値のテンプレートが存在するか否かを判断する(S105)。そして、そのようなテンプレートが存在すれば、同テンプレートに対応する文字及び類似度評価値を本体のメモリに用意されたバッファに格納してから(S106)。処理を終了する。なお、所定値以下の類似度評価値のテンプレートが複数存在する場合には、それらに対応する全ての文字及び類似度評価値をバッファに格納する。以下では、所定値以下の類似度評価値のテンプレートに対応する文字を、「検出された文字」と記すことにする。S105において、所定値以下の類似度評価値のテンプレートが存在しないと判断されれば、変換部34を起動し、該変換部34が、バッファに既に格納されている文字及び類似度評価値に基づき、候補文字のデータを出力する(S107)。
 図12は、入力データと各文字のテンプレートとの類似度評価値の推移の一例を示す図である。同図において横軸は時間を示しており、縦軸は類似度評価値を示している。上述のように、文字認識部12は、所定時間ごとに入力データと各文字のテンプレートとの類似度評価値を計算しており、ユーザUが文字を書き終わるタイミングにて、類似度評価値が所定値以下となるテンプレートが発生することになる。ここでは、ユーザUがR、K、Tの文字を順に空中に書いた場合を示しており、これらの文字に対応する類似度評価値が順に、所定値以下となり、再び所定値を超えている。すなわち、R、K、Tの文字が順に検出されている。
 図13は、S107における候補文字の出力方法を説明する図である。同図には、何らかの文字が検出され、どの文字も検出されなくなるまでの間、検出された文字を左から右に順に示している。本実施形態では、何らかの文字が検出され、どの文字も検出されなくなるまでの期間を、文字判定期間としている。
 同図(a)に示されるように、文字判定期間において、1つの文字(ここでは「A」)だけが連続して検出される場合、S107において、文字認識部12は当該文字及びその類似度評価値を、候補文字のデータとして出力する。候補データは、例えば({文字:類似度評価値})のような所定の形式をとってよい(同図(a)の場合、({A:1.5})のようになる。)。また、類似度評価値は、バッファに格納される同文字に対する類似度評価値のうち、最小のものであってもよいし、平均値などの統計値であってもよい。また、文字認識部12は、同図(a)の場合、2以上の所定回数(例えば3回)以上にわたり連続して1つの文字が検出される場合にだけ、その文字及びその類似度評価値を候補文字のデータと出力し、所定回数未満しか連続して検出されない場合には、候補文字のデータを出力しないようにしてよい。こうすれば、誤認識を防止できる。
 また、同図(b)に示されるように、文字判定期間において、1つの文字(ここでは「F」)が連続して検出され、その途中から、別の文字(ここでは「E」)が検出される場合、後に検出された文字についてのみ、文字及びその類似度評価値を候補文字データとして出力してよい。この場合は、後に検出された文字の一部に先に検出された文字が含まれる場合と推定されるからである。同図(b)では、「E」を書く途中で「F」が検出された例を示している。なお、後に検出された文字の一部に先に検出された文字が含まれる場合は、「E」と「F」など特定の文字対に限られる。そこで、こうした先に検出される文字(先文字)とその直後に検出される文字(後文字)の対を関連文字として予め記憶しておいてよい。そして、文字判定期間において、予め記憶された先文字が連続して検出され、その途中から、対応する後文字が検出される場合に、後文字及びその類似度評価値を候補文字データとして出力してよい。
 また、同図(c)に示されるように、文字判定期間において、1つの文字(ここでは「1」)が連続して検出され、その途中から、別の文字(ここでは「H」)が検出され、さらにその途中から、さらに別の文字(ここでは「2」)が検出される場合、2番目の文字(ここでは「H」)を書いたのか、1番目の文字(ここでは「1」)と3番目の文字(ここでは「2」)を連続して書いたのか、不明である。そこで、同図(c)の場合には、上記2つの可能性を両方とも候補文字データとして出力する。例えば、({文字2:類似度評価値2}|{文字1:類似度評価値1}{文字3:類似度評価値3})のような形式であってよい(同図(c)の場合、({H:2.0}|{1:1.3}{2:1.0})のようになる。)。
 このように、文字認識部12では、何らかの文字が検出され、どの文字も検出されなくなるまでの間を文字判定期間とし、該文字判定期間における文字の検出パターンに応じて候補文字データを生成している。このようにすることで、より尤もらしい候補文字データを生成することができるようになる。
 図14は、文字認識部12から順に出力される候補文字データを模式的に示している。同図は、図13(a)の状況が生じてAの文字についての候補文字データが出力され、次に図13(b)の状況が生じてEの文字について候補文字データが出力され、最後に図13(c)の状況が生じてH、1及び2の文字について候補文字データが出力された例を示している。この場合、文字認識部12からは、例えば({A:1.5})({E:1.3})({H:2.0}|{1:1.3}{2:1.0})のように、候補文字データが順に出力される。
 変換部34では、以上のようにして候補文字データが出力される度に、既に出力された候補文字データに基づいて、ユーザUのジェスチャに係る文字列を生成する。変換部34における変換処理のために、上述のように基本辞書記憶部44、変換済み辞書記憶部46及び文字変換テーブル記憶部48は、基本辞書、変換済み辞書、文字変換テーブルをそれぞれ記憶している。基本辞書は、図15に示されるように、多数の単語のそれぞれに関連づけて、読み仮名及び品詞を記憶している。また、文字変換テーブルは、図16にその一部が示されるように、全ての仮名文字について、そのアルファベット表記を関連づけて記憶している。ここで、か行~わ行の文字については、少なくとも2つのアルファベット表記が関連づけられている。すなわち、ヘボン式の表記、つまり子音とそれに続く母音から構成される表記と、母音を省略して子音のみから構成される表記と、の2つの表記が少なくとも関連づけられている。また、仮名文字の「し」のように、ヘボン式では「Shi」と表記されるものの、他の方式(訓令式)で「Si」とも表記される場合、それぞれについて母音を省略し、「Sh」や「S」も、仮名文字「し」に関連づけられている。また、変換済み辞書は、基本辞書に収録される各単語に関連づけて、その単語のアルファベット表記を記憶している。これは、変換済み辞書は、変換部34が文字変換テーブルを参照しながら基本辞書を変換することにより生成されるものである。具体的には、ある単語についての読み仮名を基本辞書から読み出し、読み仮名を構成する各仮名文字を、文字変換テーブルに従ってアルファベット表記に変換する。上述のように、多くの仮名文字には複数のアルファベット表記が関連づけられており、変換済み辞書では、1つの単語に対して、その読み仮名を構成する仮名文字のアルファベット表記のすべての組み合わせが関連づけられている。つまり、1つの単語について、変換済み辞書では、Πn(i)個のアルファベット表記が関連づけて記憶されている。ここでn(i)は、文字変換テーブルにおいて、単語の読み仮名を構成するi番目の仮名文字に関連付けられたアルファベット表記の数である。また、Πは、iが1~N(N:読み仮名の文字数)までの積を示している。
 図18は、変換部34による変換処理を示すフロー図である。この処理は、文字認識部32から文字候補データが出力される度に実行される。まず、既に文字認識部32から出力された文字候補データから生成されるアルファベット文字列のうち1つを選択する(S201)。例えば、図14に示される文字候補データからは、「AEH」と「AE12」の2つのアルファベット文字列が生成されるが、そのうち1つが選択される。つまり、変換部34は、文字候補データにより示されるアルファベット文字を順に連結することによりアルファベット文字列を生成する。また、1つの文字候補データにより複数のアルファベット文字又は文字列が書かれた可能性が示されている場合には、それらを選択的に用いて、他の文字候補データにより示されるアルファベット文字又は文字列と連結することにより、複数のアルファベット文字列(一次文字列)を生成し、そのうち1つを選択する。
 次に、S201で選択されたアルファベット文字列の第1のスコアを算出する(S202)。例えば、アルファベット文字列を構成する各文字に対応する類似度評価値を文字候補データから抽出し、それらの逆数を乗算することにより第1のスコアを算出する。さらに、S201で選択されたアルファベット文字列に対応する単語又は単語列を判断し、それらのグラフ、つまり連結状態を示すデータを生成する(図19参照)。
 具体的には、S201で選択されたアルファベット文字列の全体又は任意の長さの先頭部分に一致するアルファベット文字列を変換済み辞書から検索し、該アルファベット文字列に関連づけられた単語(変換辞書の見出し語)を取得する。S201で選択されたアルファベット文字列の先頭部分に一致するアルファベット文字列が変換済み辞書に記憶されている場合には、残りの部分の全体又は任意の長さの先頭部分に一致するアルファベット文字列を変換済み辞書から検索し、該アルファベット文字列に関連づけられた単語を取得する。こうして、S201で選択されたアルファベット文字列に対応する単語又は単語列(ユーザUのジェスチャに係る文字列の候補)を取得する。
 次に変換部34では、S201で選択されたアルファベット文字列に対応する全ての単語又は単語列について第2のスコアを算出する(S204)。例えば、各単語又は単語列について、それら単語や単語列の出現頻度、日本語としての尤もらしさ、各単語の品詞の並び順などに基づいて、第2のスコアを算出することができる。さらに、S201で選択されたアルファベット文字列に対応する全ての単語又は単語列について、総合スコア(候補評価値)を算出する。総合スコアは、例えば第1のスコアと第2のスコアとを乗算したり、又は加算したりすることにより算出することができる。その後、S201で生成される全てのアルファベット文字列についてS201~S204の処理を繰り返す(S205)。そして、総合スコアの大きいな順から所定個数の単語又は単語列を出力する(S206)。
 ユーザインタフェース部36は、上述したように、変換部34により出力される単語又は単語列、モーション取得部30により取得される動画像に基づき、図2に示されるユーザインタフェース画像を表示装置12の画面に表示する。また、モーション取得部30により取得されるユーザUの利き手の位置を表示する。
 図20は、ユーザインタフェース部36によるユーザインタフェース処理を示すフロー図である。同図に示される処理は、所定時間ごとに実行されるものであり、まずモーション取得部30から出力される動画像を構成する最新のフレーム画像をメモリに背景として描画する(S301)。次に、モーション取得部30から取得される、フレーム画像におけるユーザUの利き手側の肩の位置座標を取得する(S302)。さらに、フレーム画像におけるユーザUの利き手の位置座標を取得する(S303)。そして、S302で取得される利き手側の肩の位置座標を中心とした円26の周上に、選択項目画像20を配置する位置を決定する(S304)。選択項目画像20の位置は、例えば上記円26の周上に等間隔に設定してよい。さらに、S303で取得される利き手の位置と、S304で決定された各位置と、の距離を計算し、S303で決定された各位置を、計算された距離に従ってソートする(S305)。そして、総合スコアが高いほど利き手の位置に近い位置に配置されるよう、変換部34から出力される単語又は単語列をS303で決定された位置に配置する(S306)。さらに、特定機能を発動するためのボタン画像28を円26の外側に配置する(S307)。また、S303で取得されるユーザUの利き手の位置に丸印などの識別画像を配置する(S308)。以上のようにして、図2に示されるユーザインタフェース画像を生成し、これを表示装置12の画面に表示する。
 なお、上述のように円26の径は、ユーザUの腕が画面に表示されたときの長さを基準に決定してもよいし、平均的な人の腕が画面に表示されたときの長さを基準として決定してもよい。ユーザUの腕が画面に表示されたときの長さを基準とする場合には、図21に示されるように利き手を伸ばすようユーザUに要求するメッセージを画面に表示して、利き手の位置24と利き手側の肩の位置22との距離を取得すればよい。
 以上説明したユーザインタフェース装置10では、筆記位置である利き手の位置が取得されるごとに、新しく取得されたものから順に所定数の利き手の位置からなる入力データを生成し、該入力データと各文字に係るテンプレートとの類似度評価値を算出している。そして、筆記位置である利き手の位置が取得されるごとに、類似度評価値に基づいてユーザUのジェスチャに係る文字列を決定している。このため、各文字を書き始めるタイミングや書き終わったタイミングで明示的な操作をしなくても、複数の文字を順に認識させることができ、極めて使い勝手の良いユーザインタフェースを実現できる。
 また、変換済み辞書には、各見出し語に関連付けて、子音のみを含むアルファベット文字列が記憶されているので、ユーザUは少数の文字を入力するだけで、意図した文字列を得ることができる。また、各見出し語に関連づけて、子音のみを含むアルファベット文字列のみならず、子音と母音を含むアルファベット文字列が記憶されているので、ユーザUが誤って子音と母音とを含むアルファベット文字列を入力したとしても、ユーザUが意図した文字列を得ることができる。
 また、ユーザUの利き手側の肩の位置を基準として、選択要素である選択項目画像20を画面に表示するようにしているので、ユーザUは容易に各選択項目画像20を選択することができる。
 なお、本発明は上記実施形態に限定されず、種々の変形実施が可能である。
 例えば、以上の説明では、ユーザUの肩の位置を中心とした円周上に選択項目画像20を配置したが、楕円弧上に選択項目画像20を配置してもよい。また、ユーザUの肩の位置を基準として該位置から離間して配置された種々の曲線や直線上に選択項目画像20を配置してよい。また、利き手側の肩の位置を基準とする代わりに、利き手側の肘の位置を基準としてもよい。筆記位置や選択位置である手、指、筆記具の位置よりも体幹側に位置する、肩や肘などの関節の位置を基準として、そこから離間した位置に選択項目画像20を配置すれば、ユーザUは容易に同選択項目画像20を選択できるようになる。
 また、以上の説明では基本辞書及び文字変換テーブルから変換済み辞書を生成するようにしたが、生成された変換済み辞書のみをユーザインタフェース装置10に記憶しておいてもよい。また、基本辞書の見出し語及び読み仮名をユーザが任意に追加する場合には、追加された見出し語に対応するアルファベット文字列を、文字変換テーブルに基づいて生成し、それらを変換済み辞書に登録するようにしてもよい。また、変換済み辞書の見出し語は、基本辞書の見出し語に限らず、任意の文字列であってよい。
 また、子音のみを用いて文字列の入力を正しく行い、子音と母音とを用いた入力は利用しないユーザも存在する。逆に、子音と母音を用いた入力だけを行い、子音のみを用いた入力を利用しないユーザも存在する。そこで、ユーザUのジェスチャにより入力される文字に基づいて、変換済み辞書の見出し語に対応するアルファベット文字列のうち、子音と母音の両方を含むアルファベット文字列、又は子音のみを含むアルファベット文字列のいずれかを除去するようにしてよい。この場合、変換済み辞書から、それらアルファベット文字列を直接消去してよい。或いは、子音と母音の両方を含むアルファベット文字列、又は子音のみを含むアルファベット文字列の一方のみを含むよう、変換済み辞書を基本辞書及び文字変換テーブルから再度生成してもよい。
 また、以上の説明では、アルファベット、数字及びハイフンをユーザのジェスチャにより入力し、日本語の文字列に変換する例について説明したが、本発明は種々の文字、種々の言語に適用できる。例えば、日本語その他の言語のあらゆる文字からテンプレートを用意する文字を選んでよい。こうすれば、テンプレートが用意された様々な文字を、ユーザUのジェスチャから判断できるようになる。
 また、変換済み辞書の見出し語は、日本語以外の、子音と母音の区別がある言語であってよい。例えば、見出し語を英単語のフルスペルとし、それに対応する子音のみを含むアルファベット文字列、及び子音及び少なくとも1つ母音を含むアルファベット文字列を、該見出し語に関連づけて変換済み辞書に記憶しておけば、子音のみからなるアルファベット文字列、或いは子音及び少なくとも1つの母音を含むアルファベット文字列をジェスチャで順に入力することで、任意の英単語をシステムに入力することができる。例えば、「Japan」の見出し語に、「Jpn」「Japn」「Jpan」「Japan」を関連づけて変換済み辞書に記憶しておけば、ユーザUが想定に反して、「Japn」などの母音を含むアルファベット文字列を入力したとしても、正しく「Japan」と変換されることになる。なお、見出し語を英単語とする場合、「image」のように語頭に母音が配置された単語については、子音のみからなるアルファベット文字列「mg」に代えて、語頭だけは母音をそのまま含み、それ以外の母音が省略されたアルファベット文字列「img」を変換済み辞書に記憶するようにしてよい。

Claims (10)

  1.  複数文字のそれぞれを空中に書くジェスチャをした場合における所定の筆記位置の推移を示すテンプレートデータを記憶するテンプレートデータ記憶手段と、
     ユーザが空中に文字を順に書くジェスチャをする場合に、前記所定の筆記位置を順次取得する位置取得手段と、
     前記位置取得手段により前記所定の筆記位置が取得されるごとに、新しく取得されたものから順に所定数の前記所定の筆記位置からなる評価対象データと、前記各文字に係るテンプレートデータと、の類似度を示す類似度評価情報を順次出力する類似度評価情報出力手段と、
     順次出力される前記各文字に係る前記類似度評価情報に基づいて、前記ユーザのジェスチャに係る文字列を決定する文字列決定手段と、
     を含むことを特徴とするユーザインタフェース装置。
  2.  請求項1に記載のユーザインタフェース装置において、
     順次出力される前記各文字に係る前記類似度評価情報に基づいて文字判定期間を決定する期間決定手段を含み、
     前記文字列決定手段は、所定基準を満たす前記類似度評価情報が前記文字判定期間内に出力される文字のうち、1以上を前記ユーザのジェスチャに係る文字列に含まれる文字として決定する、
     ことを特徴とするユーザインタフェース装置。
  3.  請求項2に記載のユーザインタフェース装置において、
     前記文字列決定手段は、1つの文字についてのみ前記所定基準を満たす類似度評価情報が前記文字判定期間内に複数回連続して出力される場合に、該1つの文字を前記ユーザのジェスチャに係る文字列に含まれると判断する、
     ことを特徴とするユーザインタフェース装置。
  4.  請求項2又は3に記載のユーザインタフェース装置において、
     前記文字列決定手段は、前記文字列判定期間内において、前記所定値基準を満たす類似度評価情報が連続して出力される期間が重複する複数の文字があると判断される場合に、前記ユーザのジェスチャに係る文字列に、それら複数の文字のうちいずれかが択一的に含まれると判断する、
     ことを特徴とするユーザインタフェース装置。
  5.  請求項4に記載のユーザインタフェース装置において、
     前記文字列決定手段は、互いに関連する関連文字を記憶し、前記文字列判定期間内において、前記所定基準を満たす類似度評価情報が連続して出力される期間が重複する複数の文字があると判断される場合に、それら複数の文字が前記関連文字であれば、予め定められたそのうち1つを前記ユーザのジェスチャに係る文字列に含まれると判断する、
     ことを特徴とするユーザインタフェース装置。
  6.  請求項1乃至5のいずれかに記載のユーザインタフェース装置において、
     前記位置取得手段は、前記所定の筆記位置の3次元座標を順次取得し、そのうち少なくとも3つにより定まる平面に対する投影位置を示す2次元座標を順次取得する、
     ことを特徴とするユーザインタフェース装置。
  7.  請求項1乃至6のいずれかに記載のユーザインタフェース装置において、
     前記文字列決定手段は、
     順次出力される類似度評価情報に基づいて選択される文字を連結してなる一次文字列を複数決定する手段と、
     前記複数の一次文字列のそれぞれに基づいて、前記ユーザのジェスチャに係る文字列の候補を1以上決定する手段と、
     前記各候補の評価値である候補評価値を、該候補に対応する前記一次文字列に含まれる文字に係る類似度評価値に基づいて算出する手段と、
     算出される候補評価値に基づいて、前記ユーザのジェスチャに係る1以上の文字列を出力する手段と、
     を含むことを特徴とするユーザインタフェース装置。
  8.  ユーザが空中に文字を順に書くジェスチャをする場合に、所定の筆記位置を順次取得する位置取得ステップと、
     前記位置取得ステップで前記所定の筆記位置が取得されるごとに、複数文字のそれぞれを空中に書くジェスチャをした場合における前記所定の筆記位置の推移を示すテンプレートデータを記憶するテンプレートデータ記憶手段を参照して、新しく取得されたものから順に所定数の前記所定の筆記位置からなる評価対象データと、前記各文字に係るテンプレートデータと、の類似度を示す類似度評価情報を順次出力する類似度評価情報出力ステップと、
     順次出力される前記各文字に係る前記類似度評価情報に基づいて、前記ユーザのジェスチャに係る文字列を決定する文字列決定ステップと、
     を含むことを特徴とするユーザインタフェース方法。
  9.  複数文字のそれぞれを空中に書くジェスチャをした場合における所定の筆記位置の推移を示すテンプレートデータを記憶するテンプレートデータ記憶手段、
     ユーザが空中に文字を順に書くジェスチャをする場合に、前記所定の筆記位置を順次取得する位置取得手段、
     前記位置取得手段により前記所定の筆記位置が取得されるごとに、新しく取得されたものから順に所定数の前記所定の筆記位置からなる評価対象データと、前記各文字に係るテンプレートデータと、の類似度を示す類似度評価情報を順次出力する類似度評価情報出力手段、及び
     順次出力される前記各文字に係る前記類似度評価情報に基づいて、前記ユーザのジェスチャに係る文字列を決定する文字列決定手段
     としてコンピュータを機能させるためのプログラム。
  10.  請求項9に記載のプログラムを格納したコンピュータ可読情報記憶媒体。
PCT/JP2013/076901 2012-10-03 2013-10-03 ユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体 WO2014054716A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014539803A JP5897725B2 (ja) 2012-10-03 2013-10-03 ユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体
US14/433,380 US10591998B2 (en) 2012-10-03 2013-10-03 User interface device, user interface method, program, and computer-readable information storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261709199P 2012-10-03 2012-10-03
US61/709,199 2012-10-03

Publications (1)

Publication Number Publication Date
WO2014054716A1 true WO2014054716A1 (ja) 2014-04-10

Family

ID=50435036

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/076901 WO2014054716A1 (ja) 2012-10-03 2013-10-03 ユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体

Country Status (3)

Country Link
US (1) US10591998B2 (ja)
JP (1) JP5897725B2 (ja)
WO (1) WO2014054716A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018535469A (ja) * 2015-09-17 2018-11-29 シェンジェン ピーアールテック カンパニー リミテッド ジェスチャー認識に基づくテキスト入力方法及び装置、及び記録媒体
JP2019061590A (ja) * 2017-09-28 2019-04-18 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム
JP2020173494A (ja) * 2019-04-08 2020-10-22 三菱電機株式会社 手書き文字認識装置および手書き文字認識方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160171297A1 (en) * 2013-06-25 2016-06-16 Thomson Licensing Method and device for character input
JP6669067B2 (ja) * 2014-08-27 2020-03-18 ソニー株式会社 表示制御装置、表示制御方法およびプログラム
US10627910B2 (en) * 2017-02-21 2020-04-21 Adobe Inc. Stroke operation prediction for three-dimensional digital content
US10657682B2 (en) 2017-04-12 2020-05-19 Adobe Inc. Drawing curves in space guided by 3-D objects
US11720222B2 (en) * 2017-11-17 2023-08-08 International Business Machines Corporation 3D interaction input for text in augmented reality
CN109614414B (zh) * 2018-09-11 2023-05-23 创新先进技术有限公司 一种用户信息的确定方法及装置
US10877568B2 (en) * 2018-12-19 2020-12-29 Arizona Board Of Regents On Behalf Of Arizona State University Three-dimensional in-the-air finger motion based user login framework for gesture interface
US10739864B2 (en) * 2018-12-31 2020-08-11 International Business Machines Corporation Air writing to speech system using gesture and wrist angle orientation for synthesized speech modulation
US11126885B2 (en) * 2019-03-21 2021-09-21 Infineon Technologies Ag Character recognition in air-writing based on network of radars
WO2020252918A1 (zh) * 2019-06-20 2020-12-24 平安科技(深圳)有限公司 基于人体的姿态识别方法、装置、设备及存储介质
US11948237B2 (en) * 2021-12-30 2024-04-02 Samsung Electronics Co., Ltd. System and method for mimicking user handwriting or other user input using an avatar

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08211979A (ja) * 1995-02-02 1996-08-20 Canon Inc 手振り入力装置及び方法
JP2002259046A (ja) * 2001-02-28 2002-09-13 Tomoya Sonoda 空中で手描きした文字・記号入力システム
WO2011024282A1 (ja) * 2009-08-27 2011-03-03 株式会社 東芝 情報検索装置
JP2011258130A (ja) * 2010-06-11 2011-12-22 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP2012123608A (ja) * 2010-12-08 2012-06-28 Nippon Syst Wear Kk ジェスチャー認識装置、方法、プログラム、および該プログラムを格納したコンピュータ可読媒体

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS584424A (ja) 1981-07-01 1983-01-11 Toshiba Corp 日本語入力装置
JP3974359B2 (ja) * 2000-10-31 2007-09-12 株式会社東芝 オンライン文字認識装置及び方法並びにコンピュータ読み取り可能な記憶媒体及びオンライン文字認識プログラム
US7667686B2 (en) * 2006-02-01 2010-02-23 Memsic, Inc. Air-writing and motion sensing input for portable devices
US8904312B2 (en) 2006-11-09 2014-12-02 Navisense Method and device for touchless signing and recognition
US8060841B2 (en) 2007-03-19 2011-11-15 Navisense Method and device for touchless media searching
US8726194B2 (en) 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
US8908973B2 (en) * 2008-03-04 2014-12-09 Apple Inc. Handwritten character recognition interface
JP4221445B1 (ja) 2008-06-11 2009-02-12 株式会社ベイビッグ テレビ電話端末、テレビ電話端末制御方法及びプログラム
US8514251B2 (en) * 2008-06-23 2013-08-20 Qualcomm Incorporated Enhanced character input using recognized gestures
US8402391B1 (en) 2008-09-25 2013-03-19 Apple, Inc. Collaboration system
TW201015382A (en) * 2008-10-09 2010-04-16 Univ Nat Chiao Tung Virtual input system and method
US8773355B2 (en) 2009-03-16 2014-07-08 Microsoft Corporation Adaptive cursor sizing
US8549432B2 (en) 2009-05-29 2013-10-01 Apple Inc. Radial menus
JP5547466B2 (ja) 2009-12-15 2014-07-16 京セラ株式会社 携帯電子機器及び携帯電子機器の制御方法
JP2011253292A (ja) 2010-06-01 2011-12-15 Sony Corp 情報処理装置および方法、並びにプログラム
US20120038652A1 (en) * 2010-08-12 2012-02-16 Palm, Inc. Accepting motion-based character input on mobile computing devices
US9292093B2 (en) * 2010-11-18 2016-03-22 Alpine Electronics, Inc. Interface method and apparatus for inputting information with air finger gesture
US8311973B1 (en) 2011-09-24 2012-11-13 Zadeh Lotfi A Methods and systems for applications for Z-numbers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08211979A (ja) * 1995-02-02 1996-08-20 Canon Inc 手振り入力装置及び方法
JP2002259046A (ja) * 2001-02-28 2002-09-13 Tomoya Sonoda 空中で手描きした文字・記号入力システム
WO2011024282A1 (ja) * 2009-08-27 2011-03-03 株式会社 東芝 情報検索装置
JP2011258130A (ja) * 2010-06-11 2011-12-22 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP2012123608A (ja) * 2010-12-08 2012-06-28 Nippon Syst Wear Kk ジェスチャー認識装置、方法、プログラム、および該プログラムを格納したコンピュータ可読媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018535469A (ja) * 2015-09-17 2018-11-29 シェンジェン ピーアールテック カンパニー リミテッド ジェスチャー認識に基づくテキスト入力方法及び装置、及び記録媒体
JP2019061590A (ja) * 2017-09-28 2019-04-18 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム
US11397320B2 (en) 2017-09-28 2022-07-26 Fujifilm Business Innovation Corp. Information processing apparatus, information processing system, and non-transitory computer readable medium
JP2020173494A (ja) * 2019-04-08 2020-10-22 三菱電機株式会社 手書き文字認識装置および手書き文字認識方法

Also Published As

Publication number Publication date
JP5897725B2 (ja) 2016-03-30
JPWO2014054716A1 (ja) 2016-08-25
US20160147307A1 (en) 2016-05-26
US10591998B2 (en) 2020-03-17

Similar Documents

Publication Publication Date Title
JP5897725B2 (ja) ユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体
JP5208267B2 (ja) 入力装置
CN114365075B (zh) 用于选择图形对象的方法和对应装置
JP6355823B2 (ja) 入力表示制御装置、入力表示制御方法及び入力表示システム
CN109074224A (zh) 用于在字符串中***字符的方法以及相应的数字设备
JP5897726B2 (ja) ユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体
WO2017114002A1 (zh) 一维手写文字输入设备和一维手写文字输入方法
JP2019508770A (ja) デジタルインクを美しくするためのシステム及び方法
Plouffe et al. Natural human-computer interaction using static and dynamic hand gestures
JP6055065B1 (ja) 文字認識プログラム、文字認識装置
JP5774235B2 (ja) ユーザインタフェース装置、ユーザインタフェース方法、プログラム及びコンピュータ可読情報記憶媒体
TWI303783B (en) Method and device for recognition of a handwritten pattern, and computer program product
K Jabde et al. A Comprehensive Literature Review on Air-written Online Handwritten Recognition
US20160202899A1 (en) Handwritten music sign recognition device and program
JP2021009552A (ja) 情報処理装置、情報処理方法およびプログラム
JPH09120433A (ja) 文字認識方法及び文書作成装置
US20210264681A1 (en) Input display control device, input display control method, and input display system
JP7095450B2 (ja) 情報処理装置、文字認識方法、および文字認識プログラム
JP6448838B2 (ja) 表示制御装置、表示制御方法及びプログラム
Kurosu Human-Computer Interaction. Interaction Technologies: 20th International Conference, HCI International 2018, Las Vegas, NV, USA, July 15–20, 2018, Proceedings, Part III
JP2021149296A (ja) 現実物体に対するクラスタリングの可視化システム、可視化制御装置、可視化方法および可視化制御用プログラム
KR20030090381A (ko) 문자 인식방법 및 문자 인식장치
CN118230339A (zh) 一种文本识别方法、装置及电子设备
JP2018018366A (ja) 情報処理装置、文字入力プログラムおよび文字入力方法
JPH0887570A (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: 13843539

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014539803

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14433380

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13843539

Country of ref document: EP

Kind code of ref document: A1