WO2018123485A1 - 情報処理装置、情報処理方法及びコンピュータプログラム - Google Patents
情報処理装置、情報処理方法及びコンピュータプログラム Download PDFInfo
- Publication number
- WO2018123485A1 WO2018123485A1 PCT/JP2017/043857 JP2017043857W WO2018123485A1 WO 2018123485 A1 WO2018123485 A1 WO 2018123485A1 JP 2017043857 W JP2017043857 W JP 2017043857W WO 2018123485 A1 WO2018123485 A1 WO 2018123485A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- attribute
- information
- control unit
- information processing
- feature amount
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/042—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
- G06F3/0425—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/74—Projection arrangements for image reproduction, e.g. using eidophor
Definitions
- the present disclosure relates to an information processing apparatus, an information processing method, and a computer program.
- Patent Document 1 A technique for recognizing an object placed on a table and projecting an application related to the recognized object is disclosed in Patent Document 1, for example.
- the present disclosure proposes a new and improved information processing apparatus, information processing method, and computer program capable of appropriately performing processing even when objects are stacked.
- an information processing apparatus comprising: an attribute processing unit that determines an attribute associated with the object after the change of the feature amount using an attribute associated with the object before the change.
- an information processing method including: a processor performing, using a related attribute, determining an attribute associated with the changed object.
- the computer detects the feature amount and the operation body of the object in the sensing area, and detects the change in the feature amount of the object in the sensing area before the change.
- a computer program for executing, using an attribute associated with the object, determining an attribute associated with the changed object.
- Embodiment of the present disclosure [1.1. System configuration example] First, a configuration example of the information processing system according to the embodiment of the present disclosure will be described.
- FIG. 1 is an explanatory diagram illustrating a configuration example of an information processing system according to an embodiment of the present disclosure.
- the system may mean a configuration for executing a predetermined process, and the system as a whole can be regarded as one device, or a system is configured by a plurality of devices. It can also be regarded as.
- the information processing system according to the present embodiment shown in FIG. 1 only needs to be configured to execute predetermined processing as the entire information processing system, and which configuration in the information processing system is considered as one device is arbitrary. It may be.
- an information processing system 100a includes an input unit 110a and an output unit 130a.
- the output unit 130a visually notifies the user of the information by displaying various types of information on the table 140a.
- a projector is used as the output unit 130a.
- the output unit 130a is disposed above the table 140a, for example, spaced from the table 140a by a predetermined distance while being suspended from the ceiling, and projects information on the top surface of the table 140a.
- a method for displaying information on the top surface of the table 140a from above is also referred to as a “projection type”.
- the entire area where information is displayed by the output unit 130a is also referred to as a display screen.
- the output unit 130a displays information presented to the user as the application is executed by the information processing system 100a on the display screen.
- the displayed information is, for example, an operation screen of each application.
- each display area in which the operation screen of such an application is displayed on the display screen is also referred to as a window.
- the output unit 130a has a so-called GUI (Graphical User Interface) component (widget) that accepts various operations by a user such as selection and input such as buttons, sliders, check boxes, text boxes, and keyboards on the display screen. ) Is displayed.
- GUI Graphic User Interface
- the window can be regarded as one of the GUI parts, in this specification, in order to distinguish the window from the other GUI parts, for convenience, the window is not included in the GUI part, and the display elements other than the window are not included. This is called a GUI component.
- the output unit 130a may include a lighting device.
- the information processing system 100a turns on the lighting device based on the content of information input by the input unit 110a and / or the content of information displayed by the output unit 130a. You may control states, such as light extinction.
- the output unit 130a may include a speaker and may output various kinds of information as sound.
- the number of speakers may be one or plural.
- the information processing system 100a may limit the speakers that output sound or adjust the direction in which sound is output.
- the input unit 110a is a device that inputs operation details of a user who uses the information processing system 100a.
- the input unit 110a includes a sensor and the like, and is provided above the table 140a, for example, in a state suspended from the ceiling. As described above, the input unit 110a is provided apart from the table 140a on which information is displayed.
- the input unit 110a may be configured by an imaging device that can capture the top surface of the table 140a, that is, the display screen.
- a camera that images the table 140a with one lens a stereo camera that can record information in the depth direction by imaging the table 140a with two lenses, or the like can be used.
- the input unit 110a is a stereo camera, for example, a visible light camera or an infrared camera can be used.
- the information processing system 100a is present on the table 140a by analyzing an image (captured image) captured by the camera. It is possible to detect the position of a physical object such as a user's hand.
- the information processing system 100a analyzes the captured image by the stereo camera, and in addition to the position information of the object located on the table 140a, Depth information can be acquired.
- the information processing system 100a can detect contact or proximity of the user's hand to the table 140a in the height direction and separation of the hand from the table 140a based on the depth information.
- contact when the user touches or brings an operating body such as a hand in contact with information on the display screen is also simply referred to as “contact”.
- the position of the operating body for example, the user's hand on the display screen (that is, the top surface of the table 140a) is detected, and based on the detected position of the operating body.
- Various information is input. That is, the user can perform various operation inputs by moving the operating tool on the display screen. For example, when a user's hand contact with a window or other GUI component is detected, an operation input for the window or other GUI component is performed.
- the operation body may be various operation members such as a stylus and a robot arm. May be used.
- the operation body is not limited to an operation input to the GUI component, but refers to an object that can move an object placed on the table 140a or the like.
- the input unit 110a may capture not only the top surface of the table 140a but also a user existing around the table 140a.
- the information processing system 100a can detect the position of the user around the table 140a based on the captured image.
- the information processing system 100a may perform personal recognition of the user by extracting physical features that can identify the individual of the user, such as the size of the user's face and body included in the captured image. .
- the present embodiment is not limited to such an example, and user operation input may be executed by other methods.
- the input unit 110a may be provided as a touch panel on the top surface of the table 140a, and the user's operation input may be detected by contact of the user's finger or the like with respect to the touch panel. Further, the user's operation input may be detected by a gesture with respect to the imaging device constituting the input unit 110a.
- the input unit 110a may include a voice input device such as a microphone that picks up sounds produced by the user and environmental sounds of the surrounding environment.
- a microphone array for collecting sound in a specific direction can be suitably used. Further, the microphone array can be configured such that the sound collection direction can be adjusted to an arbitrary direction.
- the input unit 110a When a voice input device is used as the input unit 110a, an operation input may be performed using the collected voice. Further, the information processing system 100a may perform individual recognition based on the voice by analyzing the collected voice.
- the input unit 110a may be configured by a remote control device (so-called remote control).
- the remote controller may be one in which a predetermined instruction is input by operating a predetermined button arranged on the remote controller, or movement of the remote controller by a sensor such as an acceleration sensor or a gyro sensor mounted on the remote controller. Or a posture may be detected, and a predetermined instruction may be input by an operation of the user moving the remote controller.
- the information processing system 100a may include other input devices such as a mouse, a keyboard, buttons, switches, and levers (not shown) as the input unit 110a, and user operations are input through these input devices. Also good.
- the configuration of the information processing system 100a according to the present embodiment has been described above with reference to FIG. Although not shown in FIG. 1, another device may be connected to the information processing system 100a.
- an illumination device for illuminating the table 140a may be connected to the information processing system 100a.
- the information processing system 100a may control the lighting state of the lighting device according to the state of the display screen.
- the configuration of the information processing system is not limited to that shown in FIG.
- the information processing system according to the present embodiment only needs to include an output unit that displays various types of information on the display screen, and an input unit that can accept at least an operation input for the displayed information. Is not limited.
- FIG. 2 to FIG. 4 another configuration example of the information processing system according to the present embodiment will be described. 2 to 4 are diagrams showing other configuration examples of the information processing system according to the present embodiment.
- an output unit 130a is provided below the table 140b.
- the output unit 130a is a projector, for example, and projects information from below toward the top plate of the table 140b.
- the top plate of the table 140b is formed of a transparent material such as a glass plate or a transparent plastic plate, and the information projected by the output unit 130a is displayed on the top surface of the table 140b.
- a method of projecting information from the bottom of the table 140b onto the output unit 130a and displaying the information on the top surface of the table 140b is also referred to as a “rear projection type”.
- the input unit 110b is provided on the top surface (front surface) of the table 140b.
- the input unit 110b is configured by, for example, a touch panel, and the operation input by the user is performed when the touch of the operating body on the display screen on the top surface of the table 140b is detected by the touch panel.
- the configuration of the input unit 110b is not limited to this example, and the input unit 110b may be provided below the table 140b and separated from the table 140b, similarly to the information processing system 100a shown in FIG.
- the input unit 110b is configured by an imaging device, for example, and can detect the position of the operation body on the top surface of the table 140b through a top plate formed of a transparent material.
- the input unit 110b includes a sensor capable of sensing the length and weight of the shadow, and can sense the weight and size of an object placed on the top surface of the table 140b.
- a touch panel type display is installed on a table with its display surface facing upward.
- the input unit 110c and the output unit 130c can be integrally configured as the touch panel display. That is, various types of information are displayed on the display screen of the display, and the operation input by the user is performed by detecting the touch of the operating body on the display screen of the display by the touch panel.
- an imaging device may be provided above the touch panel display as the input unit 110c. The position of the user around the table can be detected by the imaging device.
- the input unit 110c includes a sensor (in-cell sensor) that can sense the length and weight of a shadow, and can sense the weight and size of an object placed on the output unit 130c.
- the information processing system 100d shown in FIG. 4 includes a flat panel display.
- the output unit 130d is configured as a flat panel display, and various types of information are displayed on the display screen of the display.
- the input unit is configured by an input device such as a mouse, a keyboard, or a touch pad (not shown), and an operation input by the user is performed by operating a pointer in the display screen by these input devices.
- the input unit of the information processing system 100d may include a touch panel provided on a flat panel display, and an operation input by the user is performed via the touch panel. Also good.
- the input unit may include an imaging device that can capture an area facing the display surface of a flat panel display. The position of the user who observes the flat panel display can be detected by the imaging device.
- the information processing system according to the present embodiment can be realized by various configurations.
- the present embodiment will be described by taking as an example the configuration of the information processing system 100a in which the input unit 110a and the output unit 130a are provided above the table 140a shown in FIG.
- the information processing system 100a, the input unit 110a, and the output unit 130a are simply referred to as the information processing system 100, the input unit 110, and the output unit 130.
- FIG. 5 is an explanatory diagram illustrating a functional configuration example of the information processing system 100 according to the embodiment of the present disclosure.
- the functional configuration of the information processing system 100 according to the embodiment of the present disclosure will be described with reference to FIG.
- the information processing system 100 includes an input unit 110, a graphics display processing unit 120, an output unit 130, and an object information control unit 200. Composed.
- the input unit 110 is an input interface for inputting various information to the information processing system 100.
- a user can input various types of information to the information processing system 100 via the input unit 110.
- the input unit 110 is configured to receive at least a user operation input on the display screen generated by the output unit 130.
- the input unit 110 is configured by an imaging device including an image sensor, and captures a captured image including an operation body such as a user's hand on the display screen.
- the input unit 110 includes a depth sensor capable of acquiring three-dimensional information such as a stereo camera, a time of flight method, and a structured light method.
- Information for example, information about the captured image
- the input part 110 may be comprised by other input devices, such as a touch panel, a mouse
- the graphics display processing unit 120 performs processing of graphics displayed on the output unit 130 based on a user operation input received by the input unit 110. For example, the graphics display processing unit 120 controls drawing of various contents such as a window for displaying an application, and provides an event such as a user operation input to each content. In the present embodiment, the graphics display processing unit 120 provides the object information control unit 200 with the contents of the user operation input received from the input unit 110. Then, the graphics display processing unit 120 receives the content of the processing performed by the object information control unit 200, and executes the graphics processing based on the content.
- the graphics display processing unit 120 includes, for example, an image processing circuit.
- the output unit 130 is an output interface for notifying the user of various types of information processed by the information processing system 100.
- the output unit 130 is configured by a display device such as a display or a projector, for example, and displays various types of information on the display screen under the control of an object information control unit 200 described later. As described above, the output unit 130 displays the window and the GUI component on the display screen.
- the windows and GUI parts displayed on the output unit 130 are also referred to as “display objects”. Note that the present embodiment is not limited to this example, and the output unit 130 may further include an audio output device such as a speaker, and may output various types of information as audio.
- the object information control unit 200 executes various processes based on the user operation input received by the input unit 110.
- the object information control unit 200 recognizes the attribute information associated with the object and the possession state associated with the finger based on the information about the finger and the object acquired by the input unit 110, and includes these information. Based on the information, the object information is controlled.
- the object information control unit 200 includes, for example, a control circuit such as a CPU and a memory that stores a program for operating the control circuit.
- the object information control unit 200 includes a finger detection unit 210, an attribute processing unit 220, and an information accumulation processing unit 230.
- the finger detection unit 210 performs a process of detecting which object the user has operated using the positional relationship between the object and the finger included in the information acquired by the input unit 110. Specific processing contents by the finger detection unit 210 will be described in detail later.
- the attribute processing unit 220 performs processing related to assignment of attributes to objects and fingers that exist in a region where the input unit 110 can sense (sensable region). For example, the attribute processing unit 220 performs processing for estimating which attribute the object holds using information on whether the object and the finger are close to or in contact with each other. Further, for example, the attribute processing unit 220 performs processing for estimating which attribute the overlapping object holds using information on whether or not the object overlaps. Specific processing contents by the attribute processing unit 220 will be described in detail later.
- the information accumulation processing unit 230 performs processing for accumulating information on objects and fingers. Information accumulated by the information accumulation processing unit 230 is used for processing by the attribute processing unit 220. An example of information stored by the information storage processing unit 230 will be described later.
- 6A to 6C are explanatory diagrams showing finger and object detection techniques.
- FIG. 6A is an example of a detection technique based on recognition using contour information.
- This detection technique is a method for discriminating a hand and an object by extracting a contour from image information and three-dimensional information.
- Detection using contour information can be used with visible light or invisible light. When invisible light is used, there is an advantage that a display object does not interfere with a hand or an object even when projected from above.
- the detection using the contour information has a drawback that when the object is held in the hand, the object and the contour of the hand are integrated, so that the hand and the object cannot be distinguished.
- FIG. 6B is an example of detection technology based on recognition using segment information.
- This detection technique is a technique for discriminating a hand and an object by segmenting using pixel values of image information. For example, information acquired from a visible light camera can be segmented using colors.
- This detection technique has an advantage that if it is not covered with a hand, it is possible to distinguish the hand and the object even if the object is held by the hand.
- this detection technique is based on the premise that the hand color and the object color have a certain difference or more. If the difference is small, the hand and the object are recognized as a unit.
- this detection technique has a drawback in that, when projected from above, the possibility of erroneous determination increases when the projection overlaps a hand or an object. In addition, this detection technique cannot determine whether the object is a real object or a display object when displaying a color close to a hand or an object on the screen, regardless of the overall configuration of the information processing system shown in FIGS. There is a drawback.
- FIG. 6C is an example of a detection technique based on recognition using a marker.
- This detection technique is a method of recognizing a finger and an object by attaching markers (stars in the figure) in advance.
- This detection technique has an advantage that even if the object marker is not covered by the hand, it can be recognized even if the object is held by the hand.
- this detection technique has a drawback that only a registered (marked) object can be handled because a marker needs to be added to a finger or an object in advance.
- FIG. 7A to 7C are explanatory diagrams showing examples of situations where fingers and objects are placed at the time of detection.
- FIG. 7A shows a state where an object is held in the hand but the object is still visible. In this state, depending on the detection technique and state, it is possible to distinguish between a finger and an object.
- FIG. 7B shows a state where the object is held in such a manner that the hand is completely covered. In this state, it is impossible to determine using any of the three detection techniques described above.
- FIG. 7C shows a state in which an object to be detected is covered with an object held by a hand. An object held by the hand can also be an operating body of the present disclosure. This state cannot be determined using any of the three detection techniques described above as in the case of FIG. 7B.
- the finger and the object cannot be discriminated depending on the environment or the state. Therefore, the object can be tracked and associated with the object even in a situation where the attribute cannot be maintained by tracking the object. Allows holding attributes.
- Tables 1 to 3 below show information stored in the information storage processing unit 230.
- Table 1 is an object management table
- Table 2 is an ownership state management table
- Table 3 is an attribute management table.
- Each table is realized in a format such as a relational database.
- the object ID is an ID of an object returned by the sensor of the input unit 110. This information is maintained as long as the sensor determines whether it is a finger or an object. Since the object ID is shaken in a unit that can be recognized by the sensor, the overlapping objects are given one object ID for the lump. If the hand is covered as described above, the object ID is incremented even if the object is the same.
- Finger ID is a finger ID returned by the sensor of the input unit 110. One ID is assigned to each hand.
- the recognition ID is an ID that is recognized and tracked by the recognition technique according to the present embodiment. With this recognition technology, it is possible to maintain a unique recognition ID even if an object is covered with a hand. There are as many unique recognition IDs as the number of properties of the object.
- the object management table in Table 1 is a table for managing the state of an object.
- the recognition ID array holds which recognition ID the object group is recognized for the object ID. When the objects overlap, it is expressed as an array of recognition IDs, and the head element indicates the recognition ID of the object at the lower stage.
- the feature amount is a parameter acquired from a sensor such as the height and weight of the object.
- the processing flag is a flag indicating whether or not the object ID has been processed. For example, if processing has been completed, information indicating that processing has been completed, such as true or “1”, and if processing has not been performed, information such as false or “0” has not been processed. Information indicating processing is stored.
- the ownership status management table in Table 2 is a table that manages what hand holds what.
- the recognition ID array represents which recognition ID the finger holds with respect to the finger ID. When a plurality of objects are held, it becomes an array, and the first element is a recognition ID of an object that is closer to the hand (the order of placement is later).
- the attribute management table in Table 3 is a table for managing which identification ID holds which attribute.
- An attribute is a characteristic determined depending on the application.
- FIG. 8 is a flowchart showing an operation example of the finger detection unit 210 according to the present embodiment, and shows an example of a process shown as “nearest finger detection process” in the subsequent figure.
- the finger detection unit 210 acquires the finger position and the object position, calculates the distance, and determines whether the distance is equal to or less than a predetermined threshold. (Step S102).
- FIG. 9 is a schematic diagram when calculating the distance of each finger from the object.
- hands a, b, c, and d shown in FIG. 9, hands c and d are far away from the object (object 1), and the hand operating the object because the distance between the object and the hand is outside the threshold. Is not considered.
- the finger detection unit 210 can calculate the distance based on the position of the center and the center of gravity of the object and the center of the back and the position of the fingertip of the hand.
- the finger detection unit 210 may make a determination using the shape of the hand, the surface of the hand, or the like. If there is no significant difference in distance, the finger detection unit 210 may consider the hand that is moving compared to the previous frame as the hand that is operating the object.
- step S102 If it is determined in step S102 that the distance is not less than or equal to the threshold (No in step S102), the finger detection unit 210 returns to the processing of another finger.
- the finger detection unit 210 compares the distance detected so far and determines whether the newly calculated distance is the minimum (step S103).
- step S103 If the result of determination in step S103 is that the distance is not minimum (step S103, No), the finger detection unit 210 returns to processing of another finger.
- the finger detection unit 210 determines that the finger is the nearest finger of the object, and records (updates) the finger ID (step S104).
- the finger detection unit 210 performs the above processing repeatedly (step S105), thereby acquiring the finger ID closest to the object.
- FIG. 10 is a flowchart illustrating an operation example of the object information control unit 200 according to the embodiment of the present disclosure.
- an operation example of the object information control unit 200 according to the embodiment of the present disclosure will be described with reference to FIG.
- the object information control unit 200 first acquires finger information and object information acquired by the input unit 110 through sensing (step S111). The subsequent processing is repeated every frame until an end condition such as a predetermined operation by the user is satisfied.
- the frame in this case refers to a frame for rendering graphics or a frame having a cycle for acquiring sensor information from the input unit 110.
- the object information control unit 200 Upon acquiring the finger information and the object information, the object information control unit 200 subsequently clears all the processing flags in the object management table (step S112). By clearing all the processing flags in the object management table, all the objects recognized in the previous frame are in an unprocessed state.
- the object information control unit 200 executes a process when an object exists (step S113). Details of processing when an object exists will be described later.
- the object information control unit 200 executes a process when there is no object (step S114). Details of the processing when no object exists will be described later.
- the object information control unit 200 executes a process when the finger disappears outside the sensing area (step S115). Details of processing when the finger disappears outside the sensing area will be described later.
- the object information control unit 200 determines whether an end condition such as a predetermined operation by the user is satisfied (step S116). If the end condition is not satisfied (step S116, No), the object information control unit 200 returns to the process of step S111. If the end condition is satisfied (step S116, Yes), the object information control unit 200 performs a series of processes. Exit.
- FIG. 11 is a flowchart illustrating an operation example of the object information control unit 200 according to the embodiment of the present disclosure, and is an explanatory diagram illustrating an operation example when the object in step S113 is present. Note that the following series of processing can be executed by the attribute processing unit 220, for example.
- the object information control unit 200 repeats the following series of processes for the object acquired from the input unit 110 (step S121). If all the objects have not been processed (No at Step S121), the object information control unit 200 determines whether the object ID of the object to be processed is registered in the object management table (Step S122). When the object ID of the object to be processed is not registered in the object management table (No in step S122), the object information control unit 200 is described later because the object is an object that did not exist in the previous frame.
- Object estimation processing based on proximity information is performed (step S123).
- the object estimation process based on the proximity information is a process for determining whether the object is generated (placed) from a finger or not and is not generated by a finger and estimates a recognition ID.
- the object information control unit 200 determines that the object is the object in which the previous frame also exists. It is determined whether there is any change in the feature quantity such as the height and weight of the object (step S124). At the time of the determination in step S124, whether the difference in feature amount is an error due to sensor performance or an obvious significant difference may be added as a determination criterion.
- the object information control unit 200 proceeds to processing of the next object.
- the object information control unit 200 performs an object estimation process based on superimposition information described later (step S125).
- the object estimation process based on the superimposition information is a process for determining the recognition ID by determining how the objects are overlapped and increased or the number of overlapped objects is decreased.
- the object information control unit 200 When executing the object estimation process based on proximity information or the object estimation process based on superimposition information, the object information control unit 200 updates the object ID, the recognition ID array, and the feature amount in the object management table using the estimated recognition ID (step S126). ). Then, the object information control unit 200 sets the processing flag for the object to be processed (step S127).
- the object information control unit 200 repeats the series of processes described above for the object acquired from the input unit 110 (step S128).
- FIG. 12 is a flowchart illustrating an operation example of the object information control unit 200 according to the embodiment of the present disclosure, and is an explanatory diagram illustrating an operation example when the object in step S114 does not exist.
- the following series of processes can be executed by the finger detection unit 210 and the attribute processing unit 220, for example.
- An object that does not have a processing flag set up so far is an object that was present in the previous frame but not processed in the current frame, so the object has been removed or has disappeared for some reason. It can be judged that there is.
- the object information control unit 200 repeatedly performs the following processing as long as there is an object for which the processing flag is not set (step S131).
- the object information control unit 200 acquires a finger ID that is estimated to have removed the object by the nearest finger detection process (step S132). It is determined whether or not the finger ID has been found (step S133). If the finger ID can be found by the nearest finger detection process (step S133, Yes), it is considered that the object is owned by the finger, so the object information control unit 200 has the corresponding finger ID in the possession state management table. A recognition ID is added to the end of the recognition ID array (step S134). If there is no corresponding finger ID, the object information control unit 200 adds the finger ID and the recognition ID of the object.
- the object information control unit 200 may consider that the object is owned by the operating body.
- the object information control unit 200 is registered with respect to the object whose sensing is shielded at the end of the recognition ID array of the finger ID corresponding to the operating body that at least partially shields the sensing of the object in the ownership state management table.
- a recognition ID may be added.
- the unit 200 deletes the attribute information from the attribute management table (step S135).
- the object information control unit 200 deletes the corresponding object row from the object management table (step S136).
- the object information control unit 200 repeats the above-described series of processes as long as there is an object with no processing flag (step S137).
- FIG. 13 is a flowchart illustrating an operation example of the object information control unit 200 according to the embodiment of the present disclosure, and is an explanatory diagram illustrating an operation example when the finger in Step S115 described above disappears out of the range. Note that the following series of processing can be executed by the attribute processing unit 220, for example.
- the object information control unit 200 repeatedly performs the following processing for the fingers registered in the possession state table (step S141).
- the object information control unit 200 determines whether the corresponding finger exists within the sensing area (step S142) based on the information from the input unit 110. If the finger is present within the sensing area (step S142, Yes), the object information control unit 200 determines that the finger continues to hold the object, and performs the next finger processing without doing anything. Move.
- the object information control unit 200 determines that the finger has disappeared outside the range, and performs processing when the finger has disappeared outside the range. (Step S143). The processing when the finger disappears out of the range depends on the use of the function desired to be realized by the application executed by the information processing system 100.
- the object information control unit 200 has an object management table, an ownership state management table, an attribute Delete the corresponding item from all management tables.
- the object information control unit 200 maintains all items and stores the flag with the finger ID of the possession state management table on the premise that the object appears again with the same object even if it disappears outside the range. Keep it.
- the fingers that have reappeared are given the same ID, or if the fingers enter from the same direction, the IDs are considered to be the same even if they are different.
- the object information control unit 200 performs a series of processes to track the movement of the object and the finger, and can retain the attribute associated with the object even if the object is covered with the finger.
- FIG. 14 is a flowchart illustrating an operation example of the object information control unit 200 according to the embodiment of the present disclosure, and is a flowchart illustrating the object estimation process based on proximity information illustrated in step S123 of FIG.
- a series of processing can be executed by the finger detection unit 210 and the attribute processing unit 220.
- the object information control unit 200 When performing object estimation processing based on proximity information, first, the object information control unit 200 performs closest finger detection processing (step S151). Then, the object information control unit 200 determines whether or not the nearest finger ID has been found by the nearest finger detection process (step S152).
- the object information control unit 200 determines whether the finger ID is registered in the possession state management table (step S153).
- the object information control unit 200 determines whether or not the recognition ID array exists in the hand ID (step S154).
- step S154 If there is a recognition ID array in the finger ID (step S154, Yes), it is considered that the finger having the finger ID has the last object in the recognition ID array.
- the control unit 200 estimates this object as an object having an existing recognition ID, and deletes the tail end of the recognition ID array used for estimation (step S155).
- the object information control unit 200 deletes the row for each finger ID if the recognition ID array still exists after deletion of the tail end of the recognition ID array and does not exist.
- the object information control unit 200 determines that this object is an unknown object generated for some reason, and a new recognition ID. Are allocated (step S156).
- the object information control unit 200 determines that the object is an unknown object generated from a new finger and performs a new recognition. An ID is allocated (step S156).
- step S154 If the recognition ID array does not exist in the finger ID in the determination in step S154 (No in step S154), the object information control unit 200 determines that the finger is known but the placed object is unknown, and a new recognition ID is obtained. Are allocated (step S156). This case corresponds to, for example, a case where an object is held from the beginning outside the range and another object is held within the range.
- the object information control unit 200 recognizes the object by detecting the nearest finger of the object when the object is generated in the sensing possible region by executing this series of processing. Can be judged.
- FIG. 15 is a flowchart illustrating an operation example of the object information control unit 200 according to the embodiment of the present disclosure, and is a flowchart illustrating the object estimation process based on superimposition information illustrated in step S125 of FIG. 11.
- a series of processing can be executed by the finger detection unit 210 and the attribute processing unit 220.
- the sensing target object has a unit feature amount in a predetermined height direction.
- an object to be sensed is an object having a shape like a flat cylindrical coin.
- the depth direction of sensing is the height direction
- the feature amount in the depth direction of sensing is the feature amount in the height direction (the height of the top surface of the object with reference to the surface on which the object is placed).
- the present disclosure is not limited to such an example. For example, when an object having magnetic force is attracted to the wall surface, sensing or projection is performed on the wall surface.
- the depth direction of sensing is a direction perpendicular to the wall surface
- the feature amount in the depth direction of sensing is a feature amount perpendicular to the wall surface (with respect to the wall surface, The height of the parallel surfaces).
- Information other than the height from the reference plane may be used as the feature amount in the depth direction of sensing.
- the position in the depth direction (depth coordinate information) of the three-dimensional information of the object obtained by the depth sensor may be used as the feature amount in the depth direction of sensing.
- the object information control unit 200 first determines whether or not the feature amount of the object has decreased (step S161). If the feature amount has decreased (step S161, Yes), the object information control unit 200 executes processing when the feature amount has decreased (step S162). The processing when the feature amount decreases will be described in detail later. If the feature amount has not decreased (No in step S161), the object information control unit 200 determines whether or not the increase difference is one stage (one unit feature amount) (step S163). If the increase is one stage (step S163, Yes), the object information control unit 200 executes a process when the feature amount is increased by one stage (step S164). Processing when the feature amount is increased by one step will be described in detail later. If the increase is two steps or more (step S163, No), the object information control unit 200 executes processing when the feature amount is increased by two steps or more (step S165). Processing when the feature amount increases by two or more stages will be described in detail later.
- FIG. 16 is a flowchart illustrating an operation example of the object information control unit 200 according to the embodiment of the present disclosure, and is a flowchart illustrating processing when the feature amount illustrated in step S162 of FIG. 15 is reduced.
- a series of processing can be executed by the finger detection unit 210 and the attribute processing unit 220.
- the object information control unit 200 first performs the nearest finger detection process (step S171). Then, the object information control unit 200 determines whether the nearest finger ID has been found by the nearest finger detection process (step S172).
- the object information control unit 200 determines that the feature amount has decreased because it is owned by the finger, and recognizes the recognition ID array of the corresponding finger ID in the possession state management table. Is added to the end of the recognition ID of the owned object (step S173).
- the object information control unit 200 adds a plurality of recognition IDs of the owned object to the end of the recognition ID array of finger IDs. In this case, the upper part is added to the recognition ID array in the order closer to the top of the array (that is, closer to the hand).
- the object information control unit 200 determines whether the uppermost recognition ID of the remaining object is known (step S174). If it is known (step S174, Yes), the object information control unit 200 does nothing. On the other hand, if it is unknown (step S174, No), the object information control unit 200 has the same property as the object carried by the finger because the remaining object was placed at the same time as the owned object. It is estimated that the object is an object, and the same recognition ID as that of the object carried by the finger is given (step S175).
- step S172 If the closest finger ID cannot be found in the determination in step S172 (step S172, Yes), the object information control unit 200 determines that the object has decreased without depending on the finger, and the remaining objects are: Although the cause is unknown, it is presumed that the object has the same property as the object that existed in the upper stage, and the same recognition ID as that of the lost object is assigned (step S175).
- FIG. 17 is a flowchart illustrating an operation example of the object information control unit 200 according to the embodiment of the present disclosure, and is a flowchart illustrating processing when the feature amount in step S164 of FIG. 15 is increased by one stage.
- a series of processing can be executed by the finger detection unit 210 and the attribute processing unit 220.
- the object information control unit 200 first performs the nearest finger detection process (step S181). Then, the object information control unit 200 determines whether or not the nearest finger ID has been found by the nearest finger detection process (step S182).
- the object information control unit 200 determines whether the finger ID is registered in the possession state management table and holds the recognition ID array (step). S183). If the finger ID is registered in the possession state management table and the recognition ID array is held (step S183, Yes), the object information control unit 200 uses this tail of the recognition ID array to detect this feature. The recognition ID of the object whose amount is increased by one step is estimated, and the tail end of the recognition ID array used for the estimation is deleted (step S184). If the finger ID is not registered in the possession state management table or does not hold the recognition ID array (step S183, No), the object information control unit 200 determines that the unknown object generated from the new finger is one level. Since the number is increased and the object is overlapped at the same place, it is estimated that the object has the same property, and the same recognition ID as that of the object one level below is assigned (step S185).
- step S182 If the nearest finger ID cannot be found in the determination of step S182 (step S182, Yes), the object information control unit 200 has increased the number of unknown objects generated from the new finger by one step and Since it is overlaid, it is estimated that the object has the same property, and the same recognition ID as that of the object one level below is assigned (step S185).
- FIG. 18 is a flowchart illustrating an operation example of the object information control unit 200 according to the embodiment of the present disclosure, and is a flowchart illustrating processing when the feature amount in step S165 of FIG. 15 is increased by two or more stages.
- a series of processing can be executed by the finger detection unit 210 and the attribute processing unit 220.
- the object information control unit 200 first performs the nearest finger detection process (step S191). Then, the object information control unit 200 determines whether or not the nearest finger ID has been found by the nearest finger detection process (step S192).
- the object information control unit 200 determines whether the finger ID is registered in the possession state management table and holds the recognition ID array (step). S193). If the finger ID is registered in the possession state management table and the recognition ID array is held (step S193, Yes), then the object information control unit 200 has recognition ID arrays for the increased number of stages. It is determined whether or not to perform (step S194). If there are recognition ID arrays corresponding to the increased number of stages (Yes in step S194), since the increased objects are all known objects, the object information control unit 200 determines the recognition ID arrays corresponding to the increased number of stages. In addition, an existing recognition ID is assigned to the object, and recognition ID arrays corresponding to the increased number of stages are deleted from the ownership state management table (step S195).
- step S194 If it is determined in step S194 that there are no recognition ID arrays for the increased number of steps (No in step S194), the object information control unit 200 determines that an unknown object is sandwiched between the increased number of steps. Then, the recognition ID that can be used is used. The object information control unit 200 estimates that the shortage will be an object having the same property as the bottom stage of the objects placed together, and updates the attribute management table with the same recognition ID (step S196). Further, the object information control unit 200 deletes the used recognition ID array.
- step S192 If it is determined in step S192 that the finger ID cannot be detected (No in step S192), the number of unknown objects generated from the new finger has increased by several stages, and the object information control unit 200 is placed at the same location. Since it is superimposed, it is presumed that the object has the same property. Then, the object information control unit 200 assigns the same recognition ID as that of the object one level lower (step S197).
- step S193 If it is determined in step S193 that the finger ID is not registered in the possession state management table or does not hold the recognition ID array (No in step S193), the object information control unit 200 is overlapped at the same place. Therefore, it is estimated that the objects have the same properties. Then, the object information control unit 200 assigns the same recognition ID as that of the object one level lower (step S197).
- the object information control unit 200 can track the movement of an object such as an object placed on the same object by being overlapped or placed by a finger by detecting whether the feature amount of the object has changed in this way. it can. Further, the object information control unit 200 can estimate that an object moving in the same manner will have the same property through such a series of processes, and can assign a recognition ID to an unknown object.
- a series of processing of the object information control unit 200 described so far will be described with a specific example.
- the height of an object acquired from a three-dimensional sensor will be described as an example of the feature amount stored in the object management table.
- an example in which an unknown object appears in the sensing area will be described.
- FIGS. 19A to 19C are explanatory views for explaining the operation when an unknown object appears in the sensing possible region.
- FIGS. 19A to 19C also show the states of the tables when the table is a sensing possible area and an unknown object appears in the table.
- FIG. 19A is a diagram showing a state in which a hand (hand a) holding an object appears. In this case, it is assumed that no information is registered in the object management table, the ownership state management table, and the attribute management table.
- FIG. 19B is a diagram illustrating a state in which a hand holding an object places the object on the table. Even at this point, no information is registered in the object management table, the ownership state management table, and the attribute management table.
- FIG. 19C is a diagram illustrating a state in which the hand has released the object after placing the object on the table.
- the object information control unit 200 recognizes the object placed on the table and registers information as shown in FIG. 19C for the object. .
- the object information control unit 200 registers the object ID as “1” for the object, and registers “A” as the recognition ID in the recognition ID array.
- the object information control unit 200 also registers the information of the recognition ID “A” in the attribute management table. At this point, since it is unknown what attribute this object has, the object information control unit 200 registers it as an unknown object in the attribute management table.
- 20A to 20D are explanatory diagrams for explaining the operation when an object is placed in the sensing area and the object is moved in the sensing area.
- 20A to 20D also show the state of each table when the table is a sensing area and an object whose attribute is known is moved on the table.
- FIG. 20A is a diagram showing a state in which an object with the object ID “1” is placed on the table. In this state, it is assumed that information as illustrated in FIG. 20A is registered in the object management table, the ownership state management table, and the attribute management table.
- FIG. 20B is a diagram illustrating a state where the object with the object ID “1” is held in the hand (hand a).
- the object information control unit 200 moves information of the recognition ID array corresponding to the object to the possession state management table.
- the object information control unit 200 changes the processing flag of the object management table to false.
- FIG. 20C is a diagram illustrating a state where the hand moves on the table with the object having the recognition ID array “A”. At this time, no information is registered in the object management table, and it is registered in the possession state management table that the hand of the finger ID “a” owns the object of the recognition ID array “A”. .
- FIG. 20D is a diagram illustrating a state in which the hand with finger ID “a” has released the hand from the object after placing the object with recognition ID array “A” on the table.
- the object information control unit 200 recognizes the object placed on the table and registers information as shown in FIG. 20D for the object. .
- the object information control unit 200 registers the object ID as “2” for the object, and registers “A” as the recognition ID in the recognition ID array.
- FIGS. 21A to 21D are explanatory diagrams for explaining the operation when an object is placed in the sensing area and the object is moved in the sensing area.
- 21A to 21D also show the states of the tables when the table is a sensing-capable area and an object with a known attribute is moved on the table.
- FIG. 21A is a diagram showing a state where an object with an object ID “1” is placed on the table. In this state, it is assumed that information as illustrated in FIG. 21A is registered in the object management table, the ownership state management table, and the attribute management table.
- FIG. 21B is a diagram showing a state where the object with the object ID “1” is held in the hand (hand a).
- the object information control unit 200 moves information of the recognition ID array corresponding to the object to the possession state management table.
- the object information control unit 200 registers the detected finger ID of the hand as “a”.
- the object information control unit 200 changes the processing flag of the object management table to false.
- FIG. 21C is a diagram showing a state where the hand with the finger ID “a” is moving on the table with the object having the recognition ID array “A”. At this time, no information is registered in the object management table, and it is registered in the possession state management table that the hand of the finger ID “a” owns the object of the recognition ID array “A”. .
- FIG. 21D is a diagram illustrating a state where the hand with the finger ID “a” has gone out of the sensing possible area.
- the object information control unit 200 clears the information in the possession state management table. Since there is no other object with the recognition ID “A” described in the recognition ID array in the sensing area, the object information control unit 200 also clears the information in the attribute management table.
- 22A to 22F are explanatory diagrams for explaining the operation when an object is placed in the sensing area and the object is moved within the sensing area.
- the table is a sensing possible region, and the state of each table when the object is moved on the table is also illustrated.
- FIG. 22A is a diagram showing a state in which an object with the object ID “1” is placed on the table. In this state, it is assumed that information as illustrated in FIG. 22A is registered in the object management table, the ownership state management table, and the attribute management table.
- FIG. 22B is a diagram illustrating a state where the object with the object ID “1” is held in the hand (hand a).
- the object information control unit 200 moves information of the recognition ID array corresponding to the object to the possession state management table.
- the object information control unit 200 registers the detected finger ID of the hand as “a”.
- the object information control unit 200 changes the processing flag of the object management table to false.
- FIG. 22C is a diagram showing a state where the hand with the finger ID “a” is moving on the table with the object having the recognition ID array “A”. At this time, no information is registered in the object management table, and it is registered in the possession state management table that the hand of the finger ID “a” owns the object of the recognition ID array “A”. .
- FIG. 22D is a diagram illustrating a state where the hand with the finger ID “a” has moved out of the sensing possible region. Even when the hand with the finger ID “a” goes out of the sensing area and the input unit 110 cannot recognize, the object information control unit 200 maintains the information in the ownership state management table and the attribute management table. At this time, the object information control unit 200 attaches information indicating that the hand with the finger ID “a” has gone out of the sensing enabled area. Here, the object information control unit 200 indicates that the hand has moved out of the sensing enabled region by attaching parentheses to the finger ID.
- FIG. 22E is a diagram showing a state in which the hand with the finger ID “a” has returned to the sensing enabled area.
- the hand with the finger ID “a” still owns the object with the recognition ID array “A”, and the object information control unit 200 removes the parentheses attached to the finger ID in the possession state management table.
- FIG. 22F is a diagram illustrating a state in which the hand with the finger ID “a” has released the hand from the object after placing the object with the recognition ID array “A” on the table.
- the object information control unit 200 recognizes the object placed on the table and registers information as shown in FIG. 22F for the object. .
- the object information control unit 200 registers the object ID as “2” for the object, and registers “A” as the recognition ID in the recognition ID array.
- FIGS. 23A to 23D are explanatory diagrams for explaining the operation when an object is placed in the sensing area and the object is moved in the sensing area.
- the table is a sensing possible region, and the state of each table when the object is moved on the table is also illustrated.
- FIG. 23A is a diagram showing a state in which an object with the object ID “1” is placed on the table.
- the object with the object ID “1” is a stack of two objects having a height of 1 centimeter as a reference feature amount in the height direction.
- the object information control unit 200 recognizes that the upper object of the two stacked objects is the recognition ID “A”, but cannot recognize the lower object. Therefore, the object information control unit 200 registers the object with the object ID “1” as “?, A” in the recognition ID array of the object management table.
- FIG. 23B is a diagram illustrating a state where the object with the object ID “1” is held in the hand (hand a).
- the object information control unit 200 moves information of the recognition ID array corresponding to the object to the possession state management table.
- the object information control unit 200 registers the detected finger ID of the hand as “a”.
- FIG. 23C is a diagram illustrating a state where the hand with the finger ID “a” is moving on the table with the upper object among the objects of the recognition ID array “A”.
- the object information control unit 200 registers the remaining object in the object management table with the object ID “2”.
- the object information control unit 200 assigns “A” to the recognition ID array for the object with the object ID “2” that is unknown. This is based on the assumption that objects stacked in the same place have the same attributes.
- the object information control unit 200 registers in the possession state management table that the hand with the finger ID “a” owns the object with the recognition ID array “A”.
- FIG. 23D is a diagram illustrating a state in which the hand with the finger ID “a” places an object on the table.
- the object information control unit 200 registers an object ID “3” in the object management table for an object away from the hand. At that time, since the object having the finger ID “a” owned the object having the recognition ID array “A” until immediately before, the object information control unit 200 sets “A” in the recognition ID array for the object having the object ID “3”. ".
- 24A to 24F are explanatory diagrams for explaining the operation when an object is placed in the sensing area and the object is moved within the sensing area.
- the table is a sensing possible region, and the state of each table when an object is moved on the table is also illustrated.
- FIG. 24A is a diagram showing a state in which objects with object IDs “1” and “2” are placed on the table.
- the objects with the object IDs “1” and “2” are objects each having a height of 1 centimeter. In this state, it is assumed that information as illustrated in FIG. 24A is registered in the object management table, the ownership state management table, and the attribute management table.
- the recognition ID array of the object with the object ID “1” is “A”
- the recognition ID array of the object with the object ID “2” is “B”.
- FIG. 24B is a diagram illustrating a state where the object with the object ID “1” is held in the hand (hand a).
- the object information control unit 200 moves information of the recognition ID array corresponding to the object to the possession state management table.
- the object information control unit 200 registers the detected finger ID of the hand as “a”.
- FIG. 24C is a diagram illustrating a state in which an object with the object ID “1” is stacked on the object “2” by hand.
- the object information control unit 200 displays the recognition ID array corresponding to the object with the object ID “2”. Information is also transferred to the ownership management table.
- FIG. 24D is a diagram illustrating a state in which stacked objects are lifted by a hand.
- the object information control unit 200 registers the recognition ID array “A, B” in the row “a” of the finger ID in the ownership state management table.
- the object information control unit 200 grasps that the hand having the finger ID “a” has an object having the recognition ID array “A, B”.
- FIG. 24E is a diagram showing a state in which the lower object is placed on the table among the stacked objects.
- the object information control unit 200 registers an object ID “3” in the object management table for an object away from the hand. At that time, since the object with the finger ID “a” owned the object with the recognition ID array “A” until immediately before, the object information control unit 200 displays the object with the object ID “3” in the recognition ID array. “B” that is the recognition ID assigned to the object is assigned.
- FIG. 24F is a diagram illustrating a state in which the hand with finger ID “a” places an object on the table.
- the object information control unit 200 registers an object ID “4” in the object management table for an object away from the hand. At that time, since the hand of the finger ID “a” owned the object of the recognition ID array “A” until immediately before, the object information control unit 200 sets “A” in the recognition ID array of the object of the object ID “4”. ".
- 25A to 25D are explanatory diagrams for explaining the operation when another object is stacked on the object placed in the sensing area.
- the table is a sensing possible region, and the state of each table when the object is moved on the table is also illustrated.
- FIG. 25A is a diagram showing a state in which an object with the object ID “1” is placed on the table.
- the object with the object ID “1” is an object having a height of 1 centimeter. In this state, it is assumed that information as illustrated in FIG. 25A is registered in the object management table, the ownership state management table, and the attribute management table.
- the recognition ID array of the object with the object ID “1” is “A”.
- FIG. 25B is a diagram illustrating an example of a state in which another object is stacked on the object with the object ID “1”.
- FIG. 25C is a diagram illustrating an example of a state where the hand is released from the object. Since no information is registered in the possession state management table, the object that appears (becomes recognizable) in FIG. Therefore, it is also unclear what kind of object the object is. Therefore, the object information control unit 200 changes the object ID “1” to “2” and registers the recognition ID array as “?, A” in the object management table.
- FIG. 25D is a diagram illustrating an example of estimating recognition IDs of stacked objects.
- the object information control unit 200 estimates that the stacked objects have the same recognition ID as the object placed underneath, and manages the object with the recognition ID array of the object with the object ID “2” as “?, A”. Register in the table.
- FIGS. 26A to 26D are explanatory diagrams for explaining the operation when another object is stacked in two stages on the object placed in the sensing area.
- the table is a sensing possible region, and the state of each table when an object is moved on the table is also illustrated.
- FIG. 25A is a diagram showing a state in which an object with the object ID “1” is placed on the table.
- the object with the object ID “1” is an object having a height of 1 centimeter.
- information as illustrated in FIG. 25A is registered in the object management table, the ownership state management table, and the attribute management table.
- the recognition ID array of the object with the object ID “1” is “A”.
- the recognition ID array is registered as “B” in the hand of the finger ID “a”. That is, the object information control unit 200 knows that at this time, only one object with the recognition ID “B” is held in the hand with the finger ID “a”.
- FIG. 26B is a diagram illustrating an example of a state in which another object is stacked on the object with the object ID “1”.
- FIG. 26C is a diagram illustrating an example of a state where the hand is released from the object.
- the object information control unit 200 changes the object ID “1” to “2”.
- the object information control unit 200 moves the information of the recognition ID array registered in the possession state management table to the object management table.
- the height has increased from 1 centimeter to 3 centimeters. Two other objects are stacked on the object “1”.
- the object information control unit 200 recognizes that only one object with the recognition ID “B” is held in the hand with the finger ID “a”.
- the recognition ID of the bottom object is “A” and the recognition ID of the top object is “B”, but it is not known what the recognition ID of the middle object is. Therefore, the object information control unit 200 registers the recognition ID array of the object ID “2” as “A,?, B”.
- FIG. 26D is a diagram illustrating an example of estimating recognition IDs of stacked objects.
- the object information control unit 200 estimates that an object whose recognition ID is unknown has the same recognition ID as the object held together, and sets the recognition ID array of the object with the object ID “2” to “A, B, B”. To the object management table.
- FIGS. 27A to 27C are explanatory diagrams showing an operation example of the chemical simulation application.
- FIG. 27A is a diagram illustrating a state in which the user holds the token 301 and brings the token 301 close to the image 302 on which an atomic image is drawn.
- FIG. 27B is a diagram illustrating a state where the user places the token 301 on the carbon atom (C) in the image 302.
- the object information control unit 200 gives the token 301 a carbon attribute when the token 301 is placed on a carbon atom.
- the information processing system 100 may irradiate the surface of the token 301 with a color corresponding to the carbon when the token 301 is given a carbon attribute.
- Tables 4 and 5 below show information stored in the information storage processing unit 230 during the operation of the chemical simulation application.
- Table 4 is an object management table
- Table 5 is an attribute management table. Each table is realized in a format such as a relational database.
- FIG. 28A to 28C are explanatory diagrams showing an example of the operation of the chemical simulation application.
- FIG. 28A is a diagram illustrating a state in which a token 311 having an oxygen (O) attribute is placed. In this state, information 310 indicating an oxygen atom is displayed.
- FIG. 28B is a diagram illustrating a state where a token 312 having an unknown attribute is placed on a token 311 having an oxygen attribute.
- FIG. 28C is a diagram illustrating a state in which the oxygen attribute is given to the token 312 whose attribute is unknown. Since the atomic weight has increased, the information displayed in the information 310 has changed from “O” to “2O”.
- FIGS. 29A to 29C are explanatory diagrams showing an operation example of the chemical simulation application.
- FIG. 29A is a diagram illustrating a state in which two tokens 321 and 322 are overlapped. In this state, the upper token 321 has an oxygen attribute, but it is not known what attribute the lower token 322 has.
- FIG. 29B is a diagram illustrating a state in which the user lifts the upper token 321 by hand.
- FIG. 29C is a diagram illustrating a state where the user places the token 321 on the table.
- the object information control unit 200 estimates that the attribute of the token 322 has the same attribute as that of the token 321 stacked above, that is, the oxygen attribute, and gives the token 322 the oxygen attribute.
- the information processing system 100 may irradiate the surface of the token 322 with a color corresponding to oxygen when the token 322 is given an oxygen attribute.
- FIG. 30A to 30C are explanatory diagrams illustrating an operation example of the chemical simulation application.
- FIG. 30A is a diagram illustrating a state in which a token 333 having an oxygen attribute is placed on the table. In this state, information 330 indicating that the token 333 is an oxygen atom is displayed.
- FIG. 30B is a diagram illustrating a state where two tokens 331 and 332 are being superimposed on the token 333 by the user. The token 331 has the attribute of hydrogen (H), but the attribute of the token 332 that the user has together is unknown.
- FIG. 30C is a diagram illustrating a state where tokens 331 and 332 are superimposed on token 333.
- the object information control unit 200 estimates that the attribute of the token 332 is the same as the attribute of the token 331, that is, has a hydrogen attribute, and gives the hydrogen attribute to the token 332.
- the tokens 331, 332, and 333 represent water molecules (H 2 0).
- Information 330 indicates that water molecules are represented by tokens 331, 332, and 333.
- FIGS. 31A to 31E are explanatory diagrams showing an operation example of the chemical simulation application.
- FIG. 31A is a diagram illustrating a state in which a token 341 having a hydrogen attribute and a token 342 having an oxygen attribute are placed in the table, and the user has the token 341.
- FIG. 31B is a diagram illustrating a state where the user is holding the token 341 and is about to hold the token 342. Although the user has the token 341 and cannot recognize the token 341 from the input unit 110, the object information control unit 200 can recognize that the user has the token 341 having the hydrogen attribute. Yes.
- FIG. 31C shows a state where the user has tokens 341 and 342.
- FIG. 31D is a diagram illustrating a state where the user places only the token 342 on the table. Since the object information control unit 200 has recognized that the user has the token 342 having the oxygen attribute, the object information control unit 200 can give the oxygen attribute to the token 342 again when the token 342 is placed. it can.
- FIG. 31E is a diagram showing a state in which the user places the token 341 on the table. Since the object information control unit 200 was able to recognize that the user has the token 341 having the hydrogen attribute, the object information control unit 200 can give the hydrogen attribute to the token 341 again when the token 341 is placed. it can.
- the chemical simulation application executed by the information processing system 100 can generate another attribute in accordance with an operation of connecting tokens having the same or different attributes.
- an example in which the user draws a trajectory surrounding the token with a finger is shown as an operation for linking tokens.
- 32A to 32F are explanatory diagrams showing an operation example of the chemical simulation application.
- FIG. 32A is a diagram illustrating a state in which a token having a carbon attribute and two tokens having an oxygen attribute are placed on a table.
- FIG. 32B is a diagram illustrating a state in which a user performs a gesture of surrounding a token having a carbon attribute and two tokens having an oxygen attribute with a finger.
- the trajectory drawn by the user with the finger may be displayed on the table or may not be displayed.
- FIG. 32C is a diagram illustrating a state in which an effect such as generation of carbon dioxide (CO 2 ) is generated between a token having a carbon attribute and two tokens having an oxygen attribute.
- FIG. 32D is a diagram illustrating a state in which a user brings a token close to an effect in which carbon dioxide is generated
- FIG. 32E is a state in which the user places a token in an effect in which carbon dioxide is generated.
- FIG. 32F is a diagram illustrating a state in which the carbon dioxide attribute is given to the token placed by the user.
- FIG. 33 is an explanatory diagram showing an example of the operation of the chemical simulation application, and shows a state in which tokens having different attributes are connected to generate another attribute.
- the chemical simulation application can generate a water attribute in response to an operation of combining two tokens having a hydrogen attribute and one token having an oxygen attribute. Then, the chemical simulation application can generate an explosive effect in response to an operation of connecting two tokens having the water attribute and one token having the sodium (Na) attribute.
- the chemical simulation application can generate an oxygen molecule attribute in accordance with, for example, an operation of connecting tokens having an oxygen attribute.
- the chemical simulation application generates an effect of a red flame reaction in response to an operation that links a token having an iron (Fe) attribute, a token having an oxygen molecule attribute, and a token having a combustion reaction attribute. Can be made.
- chemical simulation applications can generate yellow flame reaction effects in response to actions that combine a token with the sodium attribute, a token with the oxygen molecule attribute, and a token with the combustion reaction attribute. Can do.
- a chemical simulation application can produce an effect of a green flame reaction in response to an action that combines a token having a copper (Cu) attribute, a token having an oxygen molecule attribute, and a token having a combustion reaction attribute. Can be generated.
- Cu copper
- FIG. 34 is an explanatory view showing an operation example of the chemical simulation application, and shows a state in which tokens having different attributes are connected to generate another attribute.
- the chemical simulation application can generate a carbon dioxide attribute with, for example, a token having a carbon attribute and two tokens having an oxygen attribute.
- the chemical simulation application can also generate a carbon monoxide attribute, for example, with a token having a carbon attribute and a token having an oxygen attribute.
- the chemical simulation application can also generate an ozone attribute, for example, with a token having an oxygen attribute and two tokens having an oxygen attribute.
- the chemical simulation application can also generate hydrogen peroxide (H 2 O 2 ) attributes, for example, with two tokens having a hydrogen attribute and two tokens having an oxygen attribute.
- H 2 O 2 hydrogen peroxide
- FIG. 35 is an explanatory diagram showing an example of a user interface displayed by the chemical simulation application.
- the chemical simulation application can display the number of synthesized compounds and the number of generated phenomena for each user.
- Application example 2 An operation example of another application operated in the information processing system 100 will be described.
- the following example shows an operation example of a cocktail ordering application for placing a cocktail order. This application allows you to order cocktails on the table using tokens.
- FIG. 36A to 36C are explanatory diagrams showing an example of the operation of the cocktail order application.
- FIG. 36A is a diagram illustrating a state in which the user brings the token 401 close to the image 400 on which fruits are drawn.
- FIG. 36B is a diagram illustrating a state in which the user places the token 401 on the lime image in the image 400.
- the object information control unit 200 gives the token 401 a lime attribute.
- the cocktail ordering application may project a lime image onto the token 401 given the lime attribute.
- FIG. 37A to 37C are explanatory diagrams showing an example of the operation of the cocktail order application.
- FIG. 37A is a diagram showing a state in which a token 412 given the attribute of 10 ml of vodka is placed in the table.
- FIG. 37B is a diagram illustrating a state in which the user attempts to place a token 411 to which no attribute is assigned on the token 412.
- FIG. 37C is a diagram illustrating a state where tokens 411 are stacked on the token 412.
- the object information control unit 200 gives the attribute of the vodka 10 ml to the token 411 stacked on the token 412 to which the attribute of the vodka 10 ml is given. Therefore, an attribute of vodka 20 ml is given by the tokens 411 and 412.
- FIG. 38A to 38D are explanatory diagrams showing an operation example of the cocktail order application.
- FIG. 38A is a diagram illustrating a state in which tokens each having attributes of vodka, grapefruit, and salt are placed on the table.
- FIG. 38B is a diagram illustrating a state in which a user performs a gesture of surrounding a token with attributes of vodka, grapefruit, and salt with a finger.
- FIG. 38C is a diagram illustrating a state in which a user interface for ordering a salty dog is displayed by performing a gesture in which a user surrounds a token with attributes of vodka, grapefruit, and salt with fingers.
- the cocktail ordering application may display information about the cocktail during the waiting time when the user orders the cocktail.
- FIG. 38D is a diagram illustrating a state in which information about salty dogs is displayed.
- FIG. 39A and 39B are explanatory diagrams showing an example of the operation of the cocktail order application.
- FIG. 39A is a diagram illustrating a state in which information about the screw driver is displayed. If the user selects an unknown combination, the cocktail ordering application may display a user interface that displays that the combination is new.
- FIG. 39B is a diagram illustrating a state in which information when the user selects an unknown combination is displayed.
- FIG. 40A is a diagram showing a state where a glass containing a screwdriver is placed on a table.
- FIG. 40B is a diagram illustrating a state in which a spotlight is applied to a glass containing a screw driver or sound is flowing.
- Tables 6 and 7 below show information stored in the information storage processing unit 230 during the operation of the cocktail order application.
- Table 6 is an object management table
- Table 7 is an attribute management table. Each table is realized in a format such as a relational database.
- Application example 3 An operation example of another application operated in the information processing system 100 will be described.
- the following example shows an operation example of a music performance application for performing musical instruments. This application makes it possible to play musical instruments on a table using tokens.
- FIG. 41A to 41F are explanatory diagrams showing an operation example of the music performance application.
- FIG. 41A is a diagram illustrating a state in which the user brings the token 501 close to the image 500 on which the musical instrument is drawn.
- FIG. 41B is a diagram showing a state in which the user places the token 501 on the image of the snare drum in the image 500.
- the object information control unit 200 gives the attribute of the snare drum to the token 501.
- the music performance application may project the image of the snare drum on the token 501 given the attribute of the snare drum.
- FIG. 41A is a diagram illustrating a state in which the user brings the token 501 close to the image 500 on which the musical instrument is drawn.
- FIG. 41B is a diagram showing a state in which the user places the token 501 on the image of the snare drum in the image 500.
- FIG. 41D is a diagram illustrating an example in which the user moves the token 501 given the snare drum attribute in his / her hand.
- FIG. 41E is a diagram showing an example in which the user releases the token 501 given the snare drum attribute from the hand. Even if the user once holds the token 501 in this way, the object information control unit 200 knows that the token 501 has the snare drum attribute, so the user removes the token 501 from the hand. In this case, the snare drum attribute can be given to the token 501.
- FIG. 41F is a diagram illustrating an example in which the user taps the token 501 given the snare drum attribute with a finger.
- the music performance application may change the sound to be output based on the superposition of the tokens.
- FIG. 42A to 42C are explanatory diagrams showing an operation example of the music performance application.
- FIG. 42A is a diagram illustrating a state in which a token 512 having a snare drum attribute is placed on the table.
- FIG. 42B is a diagram illustrating a state in which the user attempts to place a token 511 to which no attribute is assigned on the token 512.
- FIG. 42C is a diagram illustrating a state where tokens 511 are stacked on the token 512.
- the object information control unit 200 also gives the snare drum attribute to the token 511 stacked on the token 512 to which the snare drum attribute is given.
- the music performance application outputs a sound different from the case where only one token is given the snare drum attribute.
- the music performance application may synthesize a sound to be output based on the superimposition of the tokens.
- FIG. 42D to 42E are explanatory diagrams showing an operation example of the music performance application.
- FIG. 42D is a diagram illustrating a state in which the user attempts to place a token 513 having a hi-hat attribute on the token 512.
- FIG. 42E is a diagram illustrating a state in which tokens 513 are stacked on the token 512.
- the object information control unit 200 recognizes that the token 513 given the hi-hat attribute is stacked on the token 512 given the snare drum attribute.
- the music performance application outputs a sound obtained by synthesizing the snare drum sound and the hi-hat sound.
- FIG. 43 is an explanatory diagram showing an operation example of the music performance application.
- FIG. 43 shows how tokens 521 to 525 are placed on the table.
- FIG. 43 also shows a state in which the musical instrument image 520 is displayed by the music performance application.
- the music performance application outputs a sound corresponding to the token. That is, the user can enjoy the ensemble with different musical instruments by tapping the tokens 521 to 525.
- the music performance application not only taps the token, but also generates an object in response to the user tapping the table, and if the object collides with the token, it can generate the sound of the instrument assigned to the token. good.
- FIG. 44 is an explanatory diagram showing an operation example of the music performance application.
- FIG. 44 shows how tokens 526 to 528 are placed on the table.
- FIG. 44 also shows a state in which the musical instrument image 520 is displayed by the music performance application. 44 also shows pens 531 and 532 placed on the table.
- the music performance application When the user taps on the table, the music performance application displays a sphere-like object and moves it in the direction of the user's finger. When this object and the tokens 526 to 528 collide, the music performance application generates the sound of the instrument assigned to the collided token. The music performance application reflects the object generated by the user when it hits the pens 531 and 532. In this way, the music performance application not only taps the token, but also generates an object in response to the user tapping the table, and when the object collides with the token, the sound of the instrument assigned to the token is played. Can be generated.
- Tables 8 and 9 below show information stored in the information storage processing unit 230 during the operation of the music performance application.
- Table 8 is an object management table
- Table 9 is an attribute management table. Each table is realized in a format such as a relational database.
- FIG. 45 is a block diagram illustrating a hardware configuration example of the information processing system 100 according to the embodiment of the present disclosure.
- the information processing system 100 includes a CPU (Central Processing unit) 901, a ROM (Read Only Memory) 903, and a RAM (Random Access Memory) 905.
- the information processing system 100 may also include a host bus 907, a bridge 909, an external bus 911, an interface 913, an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 923, and a communication device 925.
- the information processing system 100 may include an imaging device 933 and a sensor 935 as necessary.
- the information processing system 100 may include a processing circuit called DSP (Digital Signal Processor) or ASIC (Application Specific Integrated Circuit) instead of or in addition to the CPU 901.
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuit
- the CPU 901 functions as an arithmetic processing unit and a control unit, and controls all or a part of the operation in the information processing system 100 according to various programs recorded in the ROM 903, the RAM 905, the storage device 919, or the removable recording medium 927.
- the ROM 903 stores programs and calculation parameters used by the CPU 901.
- the RAM 905 primarily stores programs used in the execution of the CPU 901, parameters that change as appropriate during the execution, and the like.
- the CPU 901, the ROM 903, and the RAM 905 are connected to each other by a host bus 907 configured by an internal bus such as a CPU bus. Further, the host bus 907 is connected to an external bus 911 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 909.
- PCI Peripheral Component Interconnect / Interface
- the input device 915 is a device operated by the user, such as a mouse, a keyboard, a touch panel, a button, a switch, and a lever.
- the input device 915 may include a microphone that detects the user's voice.
- the input device 915 may be, for example, a remote control device using infrared rays or other radio waves, or may be an external connection device 929 such as a mobile phone corresponding to the operation of the information processing system 100.
- the input device 915 includes an input control circuit that generates an input signal based on information input by the user and outputs the input signal to the CPU 901.
- the user operates the input device 915 to input various data to the information processing system 100 and instruct processing operations.
- An imaging device 933 which will be described later, can also function as an input device by imaging a user's hand movement and the like.
- the output device 917 is a device that can notify the user of the acquired information visually or audibly.
- the output device 917 includes, for example, a display device such as an LCD (Liquid Crystal Display), a PDP (Plasma Display Panel), an organic EL (Electro-Luminescence) display, a projector, a hologram display device, a sound output device such as a speaker and headphones, As well as a printer device.
- the output device 917 outputs the result obtained by the processing of the information processing system 100 as a video such as text or an image, or outputs it as a voice such as voice or sound.
- the output device 917 may include a light or the like to brighten the surroundings.
- the storage device 919 is a data storage device configured as an example of a storage unit of the information processing system 100.
- the storage device 919 includes, for example, a magnetic storage device such as an HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, or a magneto-optical storage device.
- the storage device 919 stores programs executed by the CPU 901, various data, various data acquired from the outside, and the like.
- the drive 921 is a reader / writer for a removable recording medium 927 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and is built in or externally attached to the information processing system 100.
- the drive 921 reads information recorded on the attached removable recording medium 927 and outputs the information to the RAM 905.
- the drive 921 writes a record in the attached removable recording medium 927.
- the connection port 923 is a port for directly connecting a device to the information processing system 100.
- the connection port 923 can be, for example, a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface) port, or the like.
- the connection port 923 may be an RS-232C port, an optical audio terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) port, or the like.
- the communication device 925 is a communication interface configured with, for example, a communication device for connecting to the communication network 931.
- the communication device 925 may be, for example, a communication card for wired or wireless LAN (Local Area Network), Bluetooth (registered trademark), or WUSB (Wireless USB).
- the communication device 925 may be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), or a modem for various communication.
- the communication device 925 transmits and receives signals and the like using a predetermined protocol such as TCP / IP with the Internet and other communication devices, for example.
- the communication network 931 connected to the communication device 925 is a wired or wireless network, such as the Internet, a home LAN, infrared communication, radio wave communication, or satellite communication.
- the imaging device 933 uses various members such as an imaging element such as a CCD (Charge Coupled Device) or CMOS (Complementary Metal Oxide Semiconductor), and a lens for controlling the imaging of a subject image on the imaging element. It is an apparatus that images a real space and generates a captured image.
- the imaging device 933 may capture a still image or may capture a moving image.
- the sensor 935 is various sensors such as an acceleration sensor, a gyro sensor, a geomagnetic sensor, an optical sensor, and a sound sensor.
- the sensor 935 obtains information about the state of the information processing system 100 itself such as the posture of the housing of the information processing system 100, and information about the surrounding environment of the information processing system 100 such as brightness and noise around the information processing system 100. To do.
- the sensor 935 may include a GPS sensor that receives a GPS (Global Positioning System) signal and measures the latitude, longitude, and altitude of the apparatus.
- GPS Global Positioning System
- Each component described above may be configured using a general-purpose member, or may be configured by hardware specialized for the function of each component. Such a configuration can be appropriately changed according to the technical level at the time of implementation.
- An information processing system 100 is provided.
- the information processing system 100 according to the embodiment of the present disclosure provides a table for managing the state of an object, and when the objects are stacked, attribute information of the object assigned to the object before the change is set as the changed object. assign.
- the information processing system 100 according to the embodiment of the present disclosure can continue to track an object even when the state of the object changes due to reasons such as stacking of objects and the object cannot be recognized. It is said.
- each step in the processing executed by each device in this specification does not necessarily have to be processed in chronological order in the order described as a sequence diagram or flowchart.
- each step in the processing executed by each device may be processed in an order different from the order described as the flowchart, or may be processed in parallel.
- a detection unit for detecting a feature amount and an operation body of an object in a sensing possible region Based on the detection unit detecting a change in the feature amount of the object in the depth direction of sensing by the operating body, the object after the change in the feature amount is used using the attribute associated with the object before the change.
- An information processing apparatus comprising: (2) The information processing apparatus according to (1), wherein the object is an object having a feature amount in a sensing depth direction.
- the attribute processing unit associates with the object after the change using the attribute associated with the top object before the change of the feature amount based on the detection of the change of the feature amount by the detection unit.
- the information processing apparatus wherein an attribute is determined.
- the attribute processing unit changes the attribute assigned to the uppermost object before the feature amount is reduced to the object after the reduction.
- the information processing apparatus wherein the attribute is associated.
- the attribute processing unit wherein, when an attribute is associated with the object after the feature amount has decreased, the attribute is associated with the object after the feature amount has decreased.
- Information processing device (6)
- the attribute processing unit displays the attribute associated with the uppermost object before the feature amount is increased after the feature amount is increased.
- the information processing apparatus wherein the attribute is associated with an object.
- the attribute processing unit associates an attribute with the uppermost object after the feature amount has increased, but when an attribute is not associated with an object under the uppermost object, the uppermost object
- the information processing apparatus according to (2) wherein an attribute associated with the object is an attribute associated with an object not associated with the attribute.
- (8) The information processing apparatus according to any one of (2) to (7), wherein a depth direction of the sensing is a height direction, and a feature amount in the depth direction of the sensing is a height.
- the output processing unit further includes an output control unit that outputs information according to the attribute associated with the operated object.
- the output control unit outputs information different from information according to the attribute in response to an operation on the plurality of objects when the plurality of superimposed objects are associated with the same attribute.
- the output control unit outputs information obtained by combining information according to the attribute in response to an operation on the plurality of objects when the plurality of superimposed objects are associated with different attributes, respectively.
- the information processing apparatus according to (9). (12) The information processing apparatus according to (11), wherein the information output by the output control unit is a color.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Transforming Electric Information Into Light Information (AREA)
Abstract
物体が積み重ねられた状態となっても適切に処理を行うことが可能な情報処理装置を提供する。 センシング可能領域において物体の特徴量及び操作体を検出する検出部と、前記操作体によるセンシングの奥行方向における前記物体の特徴量の変化を前記検出部が検出したことに基づき、変化前に前記物体に関連付けられていた属性を用いて特徴量の変化後の前記物体に関連付けられる属性を決定する属性処理部と、を備える、情報処理装置が提供される。
Description
本開示は、情報処理装置、情報処理方法及びコンピュータプログラムに関する。
テーブルなどに置かれた物体を認識して、認識した物体に関連したアプリケーションを投影する技術が、例えば特許文献1などで開示されている。
しかし、物体が積み重ねられるなどの理由で物体の状態が変化して、物体を認識出来ない状態となると、物体を見失ってしまい、アプリケーションを適切に処理することが困難になる場合がある。
そこで本開示では、物体が積み重ねられた状態となっても適切に処理を行うことが可能な、新規かつ改良された情報処理装置、情報処理方法及びコンピュータプログラムを提案する。
本開示によれば、センシング可能領域において物体の特徴量及び操作体を検出する検出部と、前記操作体によるセンシングの奥行方向における前記物体の特徴量の変化を前記検出部が検出したことに基づき、変化前に前記物体に関連付けられていた属性を用いて特徴量の変化後の前記物体に関連付けられる属性を決定する属性処理部と、を備える、情報処理装置が提供される。
また本開示によれば、センシング可能領域において物体の特徴量及び操作体を検出することと、前記センシング可能領域で前記物体の特徴量の変化が検出されたことに基づき、変化前に前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付けられる属性を決定することと、をプロセッサが行うことを含む、情報処理方法が提供される。
また本開示によれば、コンピュータに、センシング可能領域において物体の特徴量及び操作体を検出することと、前記センシング可能領域で前記物体の特徴量の変化が検出されたことに基づき、変化前に前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付けられる属性を決定することと、を実行させる、コンピュータプログラムが提供される。
以上説明したように本開示によれば、物体が積み重ねられた状態となっても適切に処理を行うことが可能な、新規かつ改良された情報処理装置、情報処理方法及びコンピュータプログラムを提供することが出来る。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.本開示の実施の形態
1.1.システム構成例
1.2.機能構成例
1.3.動作例
2.ハードウェア構成例
3.まとめ
1.本開示の実施の形態
1.1.システム構成例
1.2.機能構成例
1.3.動作例
2.ハードウェア構成例
3.まとめ
<1.本開示の実施の形態>
[1.1.システム構成例]
まず、本開示の実施の形態に係る情報処理システムの構成例を説明する。
[1.1.システム構成例]
まず、本開示の実施の形態に係る情報処理システムの構成例を説明する。
図1は、本開示の一実施形態に係る情報処理システムの一構成例を示す説明図である。なお、本明細書において、システムとは、所定の処理を実行するための構成のことを意味していてよく、システム全体として1つの装置とみなすこともできるし、複数の装置によってシステムが構成されているとみなすこともできる。図1に示す本実施形態に係る情報処理システムも、情報処理システム全体として所定の処理を実行可能に構成されていればよく、情報処理システム内のどの構成を1つの装置とみなすかは任意であってよい。
図1を参照すると、本開示の一実施形態に係る情報処理システム100aは、入力部110aと、出力部130aと、を備える。
出力部130aは、各種の情報をテーブル140aに表示することにより、当該情報をユーザに対して視覚的に通知する。出力部130aとしては、例えばプロジェクタが用いられる。図示するように、出力部130aは、テーブル140aの上方に、例えば天井から吊り下げられた状態でテーブル140aと所定の距離離隔して配置され、テーブル140aの天面に情報を投影する。このように上方からテーブル140aの天面に情報を表示する方式を、「プロジェクション型」とも呼称する。
なお、以下の説明では、出力部130aによって情報が表示される領域全体のことを表示画面とも呼称する。例えば、出力部130aは、表示画面に、情報処理システム100aによるアプリケーションの実行に伴いユーザに対して提示される情報を表示する。表示される情報は、例えば各アプリケーションの動作画面である。以下では、表示画面において、このようなアプリケーションの動作画面が表示される各表示領域を、ウインドウとも呼称する。また、例えば、出力部130aは、表示画面に、ボタンやスライダー、チェックボックス、テキストボックス、キーボード等の、選択、入力等のユーザによる各種の操作を受け付ける、いわゆるGUI(Graphical User Interface)部品(ウィジェット)を表示する。ウインドウもGUI部品の1つとみなすことができるが、本明細書では、ウインドウとその他のGUI部品とを区別するために、便宜的に、ウインドウをGUI部品には含めず、ウインドウ以外の表示要素のことをGUI部品と呼ぶこととする。
ここで、情報処理システム100aがプロジェクション型である場合には、出力部130aは照明機器を含んでもよい。出力部130aに照明機器が含まれる場合、情報処理システム100aは、入力部110aによって入力された情報の内容及び/又は出力部130aによって表示される情報の内容に基づいて、当該照明機器の点灯、消灯等の状態を制御してもよい。
また、出力部130aは、スピーカを含んでもよく、各種の情報を音声として出力してもよい。出力部130aがスピーカで構成される場合、スピーカの数は1つであってもよく、複数であってもよい。出力部130aが複数のスピーカで構成される場合、情報処理システム100aは、音声を出力するスピーカを限定したり、音声を出力する方向を調整したりしてもよい。
入力部110aは、情報処理システム100aを使用するユーザの操作内容を入力する装置である。図1に示す例では、入力部110aは、センサ等を含んで構成され、テーブル140aの上方に、例えば天井から吊り下げられた状態で設けられる。このように、入力部110aは、情報が表示される対象となるテーブル140aと離隔して設けられる。入力部110aは、テーブル140aの天面、すなわち、表示画面を撮影し得る撮像装置によって構成され得る。入力部110aとしては、例えば1つのレンズでテーブル140aを撮像するカメラや、2つのレンズでテーブル140aを撮像して奥行き方向の情報を記録することが可能なステレオカメラ等が用いられ得る。入力部110aがステレオカメラである場合には、例えば可視光カメラや赤外線カメラ等が用いられ得る。
入力部110aとして、1つのレンズでテーブル140aを撮像するカメラが用いられる場合、情報処理システム100aは、そのカメラが撮像した画像(撮像画像)を解析することで、テーブル140a上に位置する、実在する物理的な物体、例えばユーザの手の位置を検出することができる。また、入力部110aとしてステレオカメラが用いられる場合には、情報処理システム100aは、当該ステレオカメラによる撮像画像を解析することで、テーブル140a上に位置する物体の位置情報に加えて、当該物体の深度情報を取得することができる。情報処理システム100aは、当該深度情報に基づいて、高さ方向におけるテーブル140aへのユーザの手の接触若しくは近接、及びテーブル140aからの手の離脱を検出することが可能となる。なお、以下の説明では、ユーザが情報に表示画面に手等の操作体を接触又は近接させることを、まとめて単に「接触」とも称する。
本実施形態では、入力部110aによる撮像画像に基づいて、表示画面上(すなわちテーブル140aの天面上)における操作体、例えばユーザの手の位置が検出され、検出された操作体の位置に基づいて各種の情報が入力される。つまり、ユーザは、表示画面上で操作体を動かすことにより、各種の操作入力を行うことができる。例えば、ウインドウその他のGUI部品に対するユーザの手の接触が検出されることにより、当該ウインドウその他のGUI部品に対する操作入力が行われることになる。なお、以下の説明では、一例として、操作体としてユーザの手が用いられる場合について説明するが、本実施形態はかかる例に限定されず、操作体としてはスタイラスやロボットアーム等の各種の操作部材が用いられてもよい。なお、操作体とはGUI部品に対する操作入力に限らず、テーブル140a等に置かれた物体を移動させることが可能な物体をいうものとする。
また、入力部110aが撮像装置によって構成される場合には、入力部110aは、テーブル140aの天面を撮影するだけでなく、テーブル140aの周囲に存在するユーザを撮影してもよい。例えば、情報処理システム100aは、撮像画像に基づいて、テーブル140aの周囲におけるユーザの位置を検出することができる。また、例えば、情報処理システム100aは、撮像画像に含まれるユーザの顔や体の大きさ等、ユーザ個人を特定し得る身体的な特徴を抽出することにより、ユーザの個人認識を行ってもよい。
ここで、本実施形態はかかる例に限定されず、他の方法によりユーザの操作入力が実行されてもよい。例えば、入力部110aがテーブル140aの天面にタッチパネルとして設けられてもよく、ユーザの操作入力は、当該タッチパネルに対するユーザの指等の接触によって検出されてもよい。また、入力部110aを構成する撮像装置に対するジェスチャによってユーザの操作入力が検出されてもよい。あるいは、入力部110aは、ユーザが発する音声や、周囲の環境の環境音を収音するマイクロフォン等の音声入力装置を含んでもよい。当該音声入力装置としては、特定の方向の音声を収音するためのマイクアレイが好適に用いられ得る。また、当該マイクアレイは、その収音方向を任意の方向に調整可能に構成され得る。入力部110aとして音声入力装置が用いられる場合には、収音された音声により操作入力が行われてもよい。また、情報処理システム100aは、収音された音声を解析することにより、当該音声に基づいて個人認識を行ってもよい。あるいは、入力部110aは、リモートコントロール装置(いわゆるリモコン)によって構成されてもよい。当該リモコンは、リモコンに配置された所定のボタンを操作することにより、所定の指示が入力されるものであってもよいし、リモコンに搭載される加速度センサやジャイロセンサ等のセンサによってリモコンの動きや姿勢が検出されることにより、ユーザが当該リモコンを動かす操作によって、所定の指示が入力されるものであってもよい。更に、情報処理システム100aは、図示しないマウス、キーボード、ボタン、スイッチ及びレバー等、他の入力装置を入力部110aとして備えてもよく、ユーザによる操作は、これらの入力装置を介して入力されてもよい。
以上、図1を参照して、本実施形態に係る情報処理システム100aの構成について説明した。なお、図1には図示しないが、情報処理システム100aには他の装置が接続されていてもよい。例えば、情報処理システム100aには、テーブル140aを照らすための照明機器が接続されていてもよい。情報処理システム100aは、表示画面の状態に応じて当該照明機器の点灯状態を制御してもよい。
ここで、本実施形態では、情報処理システムの構成は図1に示すものに限定されない。本実施形態に係る情報処理システムは、各種の情報を表示画面に表示する出力部と、表示された情報に対する操作入力を少なくとも受け付けることが可能な入力部を備えればよく、その具体的な構成は限定されない。図2-図4を参照して、本実施形態に係る情報処理システムの他の構成例について説明する。図2-図4は、本実施形態に係る情報処理システムの他の構成例を示す図である。
図2に示す情報処理システム100bでは、テーブル140bの下方に出力部130aが設けられる。出力部130aは、例えばプロジェクタであり、当該テーブル140bの天板に向かって下側から情報を投影する。テーブル140bの天板は、例えばガラス板や透明プラスチック板等の透明な材質で形成されており、出力部130aによって投影された情報は、テーブル140bの天面に表示されることとなる。このようにテーブル140bの下から情報を出力部130aに投影して、テーブル140bの天面に情報を表示する方式を、「リアプロジェクション型」とも称する。
図2に示す例では、テーブル140bの天面(表面)に入力部110bが設けられる。入力部110bは、例えばタッチパネルによって構成され、テーブル140bの天面の表示画面への操作体の接触が当該タッチパネルによって検出されることにより、ユーザによる操作入力が行われる。なお、入力部110bの構成はかかる例に限定されず、図1に示す情報処理システム100aと同様に、入力部110bは、テーブル140bの下方にテーブル140bと離隔して設けられてもよい。この場合、入力部110bは、例えば撮像装置によって構成され、透明な材質によって形成される天板越しに、テーブル140bの天面上での操作体の位置を検出し得る。またこの場合、入力部110bは、影の長さや重さをセンシング可能なセンサで構成され、テーブル140bの天面に置かれた物体の重さや大きさをセンシングすることができる。
図3に示す情報処理システム100cでは、タッチパネル式のディスプレイが、その表示面を上方に向けた状態でテーブル上に設置される。情報処理システム100cでは、入力部110c及び出力部130cは、当該タッチパネル式のディスプレイとして一体的に構成され得る。つまり、ディスプレイの表示画面に各種の情報が表示され、当該ディスプレイの表示画面に対する操作体の接触がタッチパネルによって検出されることにより、ユーザによる操作入力が行われる。なお、情報処理システム100cにおいても、図1に示す情報処理システム100aと同様に、入力部110cとして、タッチパネル式のディスプレイの上方に撮像装置が設けられてもよい。当該撮像装置により、テーブルの周囲のユーザの位置等が検出され得る。また入力部110cは、入力部110bは、影の長さや重さをセンシング可能なセンサ(インセルセンサ)で構成され、出力部130cに置かれた物体の重さや大きさをセンシングすることができる。
図4に示す情報処理システム100dは、フラットパネル式のディスプレイを備える。情報処理システム100dでは、出力部130dは、フラットパネル式のディスプレイとして構成され、当該ディスプレイの表示画面に各種の情報が表示される。入力部は、図示しないマウスやキーボード、タッチパッド等の入力装置によって構成され、これらの入力装置によって表示画面内のポインタが操作されることにより、ユーザによる操作入力が行われる。なお、図3に示す情報処理システム100cと同様に、情報処理システム100dの入力部は、フラットパネル式のディスプレイに設けられるタッチパネルを含んでもよく、当該タッチパネルを介してユーザによる操作入力が行われてもよい。また、当該入力部は、フラットパネル式のディスプレイの表示面と対向する領域を撮像し得る撮像装置を含んでもよい。当該撮像装置により、フラットパネル式のディスプレイを観察するユーザの位置等が検出され得る。
以上、図2-図4を参照して、本実施形態に係る情報処理システムの他の構成例について説明した。以上説明したように、本実施形態に係る情報処理システムは、多様な構成によって実現され得る。ここで、以下では、図1に示す、テーブル140aの上方に入力部110a及び出力部130aが設けられる情報処理システム100aの構成を例に挙げて、本実施形態についての説明を行う。ただし、上述した図2-図4に示す構成等、本実施形態に係る情報処理システムを実現し得る他の構成であっても、以下に説明する機能と同様の機能を実現することが可能である。以下の説明では、簡単のため、情報処理システム100a、入力部110a、出力部130aを、単に情報処理システム100、入力部110、出力部130とも呼称することとする。
以上、本開示の実施の形態に係る情報処理システム100の構成例について説明した。続いて、本開示の実施の形態に係る情報処理システム100の機能構成例について説明する。
[1.2.機能構成例]
図5は、本開示の実施の形態に係る情報処理システム100の機能構成例を示す説明図である。以下、図5を用いて本開示の実施の形態に係る情報処理システム100の機能構成について説明する。
図5は、本開示の実施の形態に係る情報処理システム100の機能構成例を示す説明図である。以下、図5を用いて本開示の実施の形態に係る情報処理システム100の機能構成について説明する。
図5に示したように、本開示の実施の形態に係る情報処理システム100は、入力部110と、グラフィックス表示処理部120と、出力部130と、物体情報制御部200と、を含んで構成される。
入力部110は、情報処理システム100に対して各種の情報を入力するための入力インターフェースである。ユーザは、入力部110を介して、各種の情報を情報処理システム100に入力することができる。本実施形態では、入力部110は、出力部130によって生成される表示画面に対するユーザの操作入力を少なくとも受け付けることができるように構成される。例えば、入力部110は、イメージセンサを含む撮像装置によって構成され、表示画面上でのユーザの手等の操作体を含む撮像画像を撮影する。また例えば、入力部110は、ステレオカメラ、time of flight方式、structured light方式などの三次元情報を取得可能なデプスセンサで構成される。入力部110を介して入力された情報(例えば当該撮像画像についての情報等)は、後述する物体情報制御部200に提供され、物体情報制御部200によってユーザの操作入力が検出される。なお、本実施形態はかかる例に限定されず、入力部110は、例えばタッチパネル、マウス、キーボード、マイクロフォン、ボタン、スイッチ及びレバー等、他の入力装置によって構成されてもよい。
グラフィックス表示処理部120は、入力部110が受け付けたユーザの操作入力に基づき、出力部130に表示するグラフィックスの処理を行う。グラフィックス表示処理部120は、例えば、アプリケーションを表示するウインドウなどの様々なコンテンツの描画制御や、それぞれのコンテンツに対してユーザの操作入力などのイベントの提供を行う。本実施形態では、グラフィックス表示処理部120は、入力部110から受け付けたユーザの操作入力の内容を物体情報制御部200に提供する。そしてグラフィックス表示処理部120は、物体情報制御部200で行われた処理の内容を受け取り、その内容に基づいたグラフィックス処理を実行する。グラフィックス表示処理部120は、例えば画像処理回路を含んで構成される。
出力部130は、情報処理システム100によって処理される各種の情報をユーザに対して通知するための出力インターフェースである。出力部130は、例えば、ディスプレイやプロジェクタ等の表示装置によって構成され、後述する物体情報制御部200からの制御により、表示画面に各種の情報を表示する。出力部130は、上述したように、表示画面にウインドウ及びGUI部品を表示する。出力部130に表示されるウインドウ及びGUI部品等のことを「表示オブジェクト」とも称する。なお、本実施形態はかかる例に限定されず、出力部130は、スピーカ等の音声出力装置を更に含んでもよく、各種の情報を音声として出力してもよい。
物体情報制御部200は、入力部110が受け付けたユーザの操作入力に基づいた様々な処理を実行する。本実施形態では、物体情報制御部200は、入力部110が取得した手指や物体の情報に基づいて物体に関連付けられた属性情報や、手指に関連付けられた所有状態を認識し、これらの情報に基づいて物体の情報を制御する処理を行う。物体情報制御部200は、例えばCPU等の制御回路と制御回路を動作させるプログラムを格納するメモリを含んで構成される。
物体情報制御部200は、手指検出部210と、属性処理部220と、情報蓄積処理部230と、を含んで構成される。
手指検出部210は、入力部110が取得した情報に含まれる物体と手指の位置関係を用いて、ユーザがどの物体を操作したかを検出する処理を行う。手指検出部210による具体的な処理内容は後に詳述する。
属性処理部220は、入力部110がセンシング可能な領域(センシング可能領域)に存在する物体や手指に対する属性の割り当てに関する処理を行う。例えば属性処理部220は、物体と手指が近接または接触しているかの情報を用い、物体がどの属性を保持しているかを推定する処理を行う。また例えば属性処理部220は、物体が重なっているかどうかの情報を用い、重なっている物体がどの属性を保持しているかを推定する処理を行う。属性処理部220による具体的な処理内容は後に詳述する。
情報蓄積処理部230は、物体や手指の情報を蓄積する処理を行う。情報蓄積処理部230が蓄積した情報は、属性処理部220による処理に用いられる。情報蓄積処理部230が蓄積する情報の例については後述する。
以上、本開示の実施の形態に係る情報処理システム100の機能構成例について説明した。続いて、本開示の実施の形態に係る情報処理システム100を説明するが、その前に、情報処理システム100の動作で前提とする手指と物体の検出技術について説明する。
図6A~6Cは、手指と物体の検出技術を示す説明図である。
図6Aは、輪郭情報を用いた認識による検出技術の例である。この検出技術は、画像情報や三次元情報から輪郭抽出を行い、手と物体を判別する手法である。輪郭情報を用いた検出は、可視光でも不可視光でも利用でき、不可視光を利用した場合、上方からプロジェクションされても表示物が手や物体と干渉しないという利点がある。一方、輪郭情報を用いた検出は、物体を手に持つと、物体と手の輪郭が一体となるため、手と物体とを判別することが不可能になるという欠点がある。
図6Bは、セグメント情報を用いた認識による検出技術の例である。この検出技術は、画像情報の画素値を用いてセグメント分けすることで、手と物体を判別する手法である。例えば可視光カメラから取得された情報に対し、色を用いてセグメント分けすることが可能である。この検出技術は手に覆われなければ、手で物体を持っても手と物体とを識別することが可能という利点がある。一方、この検出技術は、手の色と物体の色が一定以上の差を持っていることが前提となり、差が小さい場合は手と物体とが一体として認識されてしまう欠点がある。またこの検出技術は、上方からプロジェクションされると手や物体に投影が重なった場合に誤判定の可能性が高くなるという欠点がある。またこの検出技術は、情報処理システムの全体構成が図1~図4のいずれの場合であっても、画面内に手や物体と近い色を表示する際には実物か表示物かを判別できないという欠点がある。
図6Cは、マーカを用いた認識による検出技術の例である。この検出技術は、これは手指と物体に予めマーカ(図中では星印)を付けて認識する方法である。この検出技術は、物体のマーカが手に覆われなければ、手で物体を持っても認識可能という利点がある。一方、この検出技術は、マーカを予め手指や物体に付加する必要性が生じるため、登録されている(マーカが付けられた)物体しか扱えないという欠点がある。
図7A~7Cは、検出時に手指と物体が置かれている状況の例を示す説明図である。図7Aは、手に物体を持ってはいるが、物体がまだ見えている状態である。この状態では、検出技術と状態によっては、手指と物体を判別することが可能である。図7Bは、物体を手が完全に覆う形で保持している状態である。この状態では、上述した3つの検出技術のいずれを用いても判別することは不可能である。図7Cは、手が持っている物体で、検出の対象となる物体が覆われている状態である。手が持っている物体も、本開示の操作体となり得る。この状態も、図7Bの場合と同様に上述した3つの検出技術のいずれを用いても判別することは不可能である。
本実施形態では、環境や状態により、手指と物体を判別できなくなることが分かるため、物体を追跡して属性を保持することができない状況下であっても、物体を追跡し、物体に関連付けられる属性を保持することを可能にする。
まず、本実施形態で用いる情報を示す。下記の表1~3は、情報蓄積処理部230において蓄積される情報を示している。表1は物体管理表、表2は所有状態管理表、表3は属性管理表である。それぞれの表は、例えばリレーショナルデータベース等の形式で実現される。
物体IDは、入力部110のセンサが返す物体のIDである。センサが手指か物体かを判別している限り維持される情報である。物体IDはセンサが認識できた単位で振られるため、重なっている物体は、その一塊に対して一つの物体IDが振られる。上述のように手に覆われたりすると、同じ物体であっても物体IDはインクリメントされる。
手指IDは、入力部110のセンサが返す手指のIDである。手1つについて1つのIDが振られる。
認識IDは、本実施形態による認識技術によって認識および追跡されるIDである。本認識技術により、物体が手に覆われたりしても一意の認識IDを維持することが可能である。物体の性質の数だけ一意の認識IDが存在する。
表1の物体管理表は、物体の状態を管理する表である。認識ID配列は、物体IDに対してその物体群がどの認識IDとして認識されているかを保持する。物体が重なっている場合は認識IDの配列として表現され、先頭の要素ほど下の段の物体の認識IDであることを示している。特徴量は、物体の高さや重さなどセンサから取得されたパラメータである。処理フラグはその物体IDを処理したかどうかを表すフラグで、例えば処理済みであればtrueや「1」といった処理済みであることを示す情報が、未処理であればfalseや「0」といった未処理であることを示す情報が格納される。
表2の所有状態管理表は、どの手指が何を保持しているかを管理する表である。認識ID配列は、手指IDに対してその手指がどの認識IDを保持しているかを表す。複数の物体を保持している場合は配列となり、先頭の要素ほど手に近い(置かれる順番が後)物体の認識IDである。
表3の属性管理表は、どの認識IDがどの属性を保持しているかを管理する表である。属性とは、アプリケーションに依存して決められる特性である。
まず、手指検出部210の動作例を説明する。図8は、本実施形態に係る手指検出部210の動作例を示す流れ図であり、後の図の「最寄手指検出処理」として示されている処理の例を示したものである。
手指検出部210は、入力部110から取得した全ての手指に対して(ステップS101)、手指の位置と物体の位置を取得し距離を算出するとともに、その距離が所定の閾値以下かどうかを判定する(ステップS102)。
図9は、物体から各手指の距離を算出する際の模式図である。図9に示すhand a,b,c,dのうち、hand c、dは、物体(object 1)から大きく離れており、物体と手との距離が閾値外のため物体を操作していた手とは見做されない。一方、hand a、bは閾値内のため距離を比較し、最小値であるhand aが、この物体を操作していた手と推定される。なお、手指検出部210は、距離の算出において、物体は中心や重心の位置を基準とし、手は甲の中心や指先の位置を基準とすることが出来る。また、より厳密に距離を測りたい場合には、手指検出部210は、手の形状や、手の面などを使って判断しても良い。距離に有意差が無い場合には、手指検出部210は、前フレームと比較して動いている方の手を、物体を操作している手と見做してもよい。
ステップS102の判定の結果、距離が閾値以下でない場合は(ステップS102、No)、手指検出部210は別の手指の処理に戻る。距離が閾値以下の場合は(ステップS102、Yes)、手指検出部210は、これまで検出された距離と比較し、新たに算出した距離が最小であるかどうかを判定する(ステップS103)。
ステップS103の判定の結果、距離が最小でない場合は(ステップS103、No)、手指検出部210は別の手指の処理に戻る。距離が最小の場合は(ステップS103、Yes)、手指検出部210は、その手指が物体の最寄りの手指であると判断し、その手指IDを記録(更新)する(ステップS104)。
手指検出部210は、以上の処理を繰り返し行うこと(ステップS105)で、物体から最も近い手指IDを取得する。
続いて、本開示の実施の形態に係る物体情報制御部200の動作例を説明する。図10は、本開示の実施の形態に係る物体情報制御部200の動作例を示す流れ図である。以下、図10を用いて本開示の実施の形態に係る物体情報制御部200の動作例について説明する。
物体情報制御部200は、まず入力部110がセンシングによって取得した手指情報及び物体情報を取得する(ステップS111)。以降の処理は、ユーザによる所定の操作が行われたなどの終了条件を満たすまで、毎フレーム繰り返し行われる。この場合のフレームは、グラフィックスをレンダリングするフレーム、もしくは入力部110からセンサ情報を取得する周期のフレームを指す。
手指情報及び物体情報を取得すると、続いて物体情報制御部200は、物体管理表の処理フラグを全てクリアする(ステップS112)。物体管理表の処理フラグが全てクリアされることにより、前のフレームで認識されていた物体について全て未処理の状態となる。
続いて物体情報制御部200は、物体が存在する場合の処理を実行する(ステップS113)。物体が存在する場合の処理の詳細は後述する。
続いて物体情報制御部200は、物体が存在しない場合の処理を実行する(ステップS114)。物体が存在しない場合の処理の詳細は後述する。
続いて物体情報制御部200は、手指がセンシング可能領域の範囲外に消えた場合の処理を実行する(ステップS115)。手指がセンシング可能領域の範囲外に消えた場合の処理の詳細は後述する。
そして物体情報制御部200は、ユーザによる所定の操作が行われたなどの終了条件を満たしたかどうか判断する(ステップS116)。終了条件を満たしていなければ(ステップS116、No)、物体情報制御部200はステップS111の処理に戻り、終了条件を満たしていれば(ステップS116、Yes)、物体情報制御部200は一連の処理を終了する。
続いて、上述のステップS113の物体が存在する場合の処理の詳細について説明する。図11は、本開示の実施の形態に係る物体情報制御部200の動作例を示す流れ図であり、上述のステップS113の物体が存在する場合の動作例を示す説明図である。なお、以下の一連の処理は、例えば属性処理部220が実行しうる。
物体情報制御部200は、入力部110から取得した物体分、以下の一連の処理を繰り返す(ステップS121)。全ての物体について処理していなければ(ステップS121、No)、物体情報制御部200は、処理対象の物体の物体IDが物体管理表に登録されているかを判断する(ステップS122)。処理対象の物体の物体IDが物体管理表に登録されていない場合(ステップS122、No)は、その物体は前フレームには存在しなかった物体であるため、物体情報制御部200は、後述の近接情報による物体推定処理を行う(ステップS123)。この近接情報による物体推定処理は、その物体が手指から発生した(置かれた)ものなのか、手指によらず発生したものかを判断し、認識IDを推定する処理である。
一方、処理対象の物体の物体IDが物体管理表に登録されている場合(ステップS122、Yes)は、その物体は前フレームも存在していた物体であるため、物体情報制御部200は、その物体の高さや重さなどの特徴量に変化がないかを判断する(ステップS124)。このステップS124の判断の際に、特徴量の差はセンサ性能による誤差なのか、明らかな有意差なのかを判断基準として付け加えてもよい。
その物体の高さや重さなどの特徴量に変化がない場合は(ステップS124、No)、物体情報制御部200は、次の物体の処理に移る。一方、その物体の高さや重さなどの特徴量に変化がある場合は(ステップS124、Yes)、物体情報制御部200は、後述の重畳情報による物体推定処理を行う(ステップS125)。この重畳情報による物体推定処理は、物体がどのように重ねられ増えたか、もしくは重ねられたものが減らされたか、を判断し、認識IDを推定する処理である。
物体情報制御部200は、近接情報による物体推定処理または重畳情報による物体推定処理を実行すると、推定した認識IDを用いて物体管理表に物体ID、認識ID配列、特徴量を更新する(ステップS126)。そして物体情報制御部200は、その物体について処理フラグを処理済みに設定する(ステップS127)。
物体情報制御部200は、上述の一連の処理を、入力部110から取得した物体分繰り返す(ステップS128)。
続いて、上述のステップS114の物体が存在しない場合の処理の詳細について説明する。図12は、本開示の実施の形態に係る物体情報制御部200の動作例を示す流れ図であり、上述のステップS114の物体が存在しない場合の動作例を示す説明図である。なお、以下の一連の処理は、例えば手指検出部210や属性処理部220が実行しうる。
ここまでの処理で処理フラグが立っていない物体は、前フレームには存在していたものが現フレームでは処理されていないため、物体が取り除かれた、または何らかの原因で消失して存在しない場合であると判断できる。物体情報制御部200は、この処理フラグが立っていない物体が存在する分、以下の処理を繰り返し行う(ステップS131)。
物体情報制御部200は、上述の最寄手指検出処理により、物体を取り除いたと推定される手指IDを取得し(ステップS132)。手指IDが発見できたかどうか判断する(ステップS133)。最寄手指検出処理により手指IDが発見できた場合は(ステップS133、Yes)、物体が手指に所有されたと考えられるので、物体情報制御部200は、所有状態管理表における、該当する手指IDの認識ID配列の末尾に認識IDを追加する(ステップS134)。該当する手指IDが存在しない場合は、物体情報制御部200は、手指IDと物体の持つ認識IDを追加する。なお、センシングの奥行き方向(例えば高さ方向)では物体と手等の操作体とが近接していなくても、手等の操作体が入力部110による物体のセンシングを遮蔽する位置に移動する場合はあり得る。そのような場合、操作体が物体のセンシングを少なくとも一部遮蔽する位置に移動してきたことが検出されると、物体情報制御部200は、物体がその操作体に所有されたとみなしてもよい。そして物体情報制御部200は、所有状態管理表における、物体のセンシングを少なくとも一部遮蔽した操作体に対応する手指IDの認識ID配列の末尾に、センシングが遮蔽された物体に対して登録されていた認識IDを追加してもよい。
一方、最寄手指検出処理により手指IDが発見できなかった場合は(ステップS133、No)、風で飛んだ等の何らかの原因で物体がセンシング可能領域から消失したことを意味するため、物体情報制御部200は、属性管理表から属性情報を削除する(ステップS135)。
そして物体情報制御部200は、物体管理表から該当する物体の行を削除する(ステップS136)。
物体情報制御部200は、上述の一連の処理を、処理フラグが立っていない物体が存在する分繰り返す(ステップS137)。
続いて、上述のステップS115の手指が範囲外に消えた場合の処理の詳細について説明する。図13は、本開示の実施の形態に係る物体情報制御部200の動作例を示す流れ図であり、上述のステップS115の手指が範囲外に消えた場合の動作例を示す説明図である。なお、以下の一連の処理は、例えば属性処理部220が実行しうる。
物体情報制御部200は、所有状態表に登録されている手指分、以下の処理を繰り返し行う(ステップS141)。
物体情報制御部200は、入力部110からの情報を基に、該当する手指がセンシング可能領域の範囲内に存在するかを判定する(ステップS142)。手指がセンシング可能領域の範囲内に存在する場合は(ステップS142、Yes)、物体情報制御部200は、その手指は物体を持ち続けていると判断し、何もせずに次の手指の処理に移る。
手指がセンシング可能領域の範囲内に存在しない場合は(ステップS142、No)、物体情報制御部200は、その手指が範囲外に消えたと判断し、手指が範囲外に消えた場合の処理を行う(ステップS143)。手指が範囲外に消えた場合の処理は、情報処理システム100が実行するアプリケーションで実現したい機能の用途に依存する。
例えば、手指が物体を持っている状態で範囲外に消えた場合、再び登場したときに同じ物体を持っているか不明なため、物体情報制御部200は、物体管理表、所有状態管理表、属性管理表の全てから該当する項目を削除する。
また例えば、範囲外に消えても同じ物体を持って再び登場するという前提のもと、物体情報制御部200は、全項目は維持し、所有状態管理表の手指IDにフラグを付けて記憶しておく。このケースの前提として、再び登場した手指が同じIDを振られる、または、同じ方向から手指が入ってきたらIDは異なっても同じと見做す場合が考えられる。
物体情報制御部200は、一連の処理を実行することにより、物体と手指の動きを追跡し、物体が手指に覆われたとしても、物体に関連付けられる属性を保持することが可能となる。
次に、図11のステップS123に示した、近接情報による物体推定処理について説明する。図14は、本開示の実施の形態に係る物体情報制御部200の動作例を示す流れ図であり、図11のステップS123に示した近接情報による物体推定処理を示す流れ図である。なお、一連の処理は、手指検出部210や属性処理部220が実行しうる。
近接情報による物体推定処理を行う場合、まず物体情報制御部200は最寄手指検出処理を行う(ステップS151)。そして物体情報制御部200は、最寄手指検出処理によって最寄手指IDが発見できたかどうか判断する(ステップS152)。
最寄手指IDが発見できた場合は(ステップS152、Yes)、続いて物体情報制御部200は、その手指IDが所有状態管理表に登録されているかを判断する(ステップS153)。
手指IDが所有状態管理表に登録されていれば(ステップS153、Yes)、続いて物体情報制御部200は、その手指IDに認識ID配列が存在するかを判断する(ステップS154)。
その手指IDに認識ID配列が存在していれば(ステップS154、Yes)、その手指IDを有する手指が持っていたのは、認識ID配列の最後尾の物体であると考えられるので、物体情報制御部200は、この物体を既存の認識IDを持つ物体と推定するとともに、推定に利用した認識ID配列の最後尾を削除する(ステップS155)。物体情報制御部200は、認識ID配列の最後尾の削除後に認識ID配列がまだ存在する場合はそのままにし、存在しない場合は手指IDごと行を削除する。
ステップS152の判断で最寄手指IDが検出できなかった場合は(ステップS152、No)、物体情報制御部200は、この物体は何らかの原因で発生した未知の物体であると判断し、新しい認識IDを割り振る(ステップS156)。
ステップS153の判断で手指IDが所有状態管理表に登録されていない場合は(ステップS153、No)、物体情報制御部200は、新たな手指から発生した未知の物体であると判断し、新しい認識IDを割り振る(ステップS156)。
ステップS154の判断で手指IDに認識ID配列が存在していなければ(ステップS154、No)、物体情報制御部200は、手指は既知だが置かれた物体は未知であると判断し、新しい認識IDを割り振る(ステップS156)。このケースは、例えば範囲外で最初から物体を持った状態でさらに範囲内でもう1つ物体を持った場合などが該当する。
物体情報制御部200は、この一連の処理を実行することにより、センシング可能領域に物体が発生した際に、その物体の最寄りの手指を検出することで、その物体が認識されているものかどうかを判断することができる。
続いて、図11のステップS125に示した、重畳情報による物体推定処理について説明する。図15は、本開示の実施の形態に係る物体情報制御部200の動作例を示す流れ図であり、図11のステップS125に示した重畳情報による物体推定処理を示す流れ図である。なお、一連の処理は、手指検出部210や属性処理部220が実行しうる。
以下の処理では、前提として、センシングの対象の物体が、所定の高さ方向の単位特徴量を有するものとして説明する。例えば、センシングの対象の物体が、平たい円柱状のコインの様な形状を有する物体であるとする。また、以下の説明では、センシングの奥行き方向が高さ方向であり、センシングの奥行き方向の特徴量が高さ方向の特徴量(物体が置かれる面を基準とした、物体の天面の高さ)であるとして説明するが、本開示は係る例に限定されるものではない。例えば、壁面に磁力を有する物体を吸着させるような場合では、壁面に対するセンシングや投影が行われる。そのような場合では、センシングの奥行き方向は壁面に対して垂直方向であり、センシングの奥行き方向の特徴量は壁面に対して垂直方向の特徴量(壁面を基準として、物体の面のうち壁面と平行な面の高さ)である。なお、センシングの奥行き方向の特徴量として基準面からの高さ以外の情報を用いてもよい。また例えばセンシングの奥行き方向の特徴量としてデプスセンサにより得られる物体の三次元情報の奥行方向の位置(デプスの座標情報)を用いても良い。
物体情報制御部200は、まず物体の特徴量が減少したかどうかを判断する(ステップS161)。特徴量が減少していれば(ステップS161、Yes)、物体情報制御部200は特徴量が減少した場合の処理を実行する(ステップS162)。特徴量が減少した場合の処理は後に詳述する。特徴量が減少していなければ(ステップS161、No)、物体情報制御部200は、その増加の差分が1段分(1単位特徴量分)であるかどうか判断する(ステップS163)。増加が1段分であれば(ステップS163、Yes)、物体情報制御部200は特徴量が1段増加した場合の処理を実行する(ステップS164)。特徴量が1段増加した場合の処理は後に詳述する。増加が2段分以上であれば(ステップS163、No)、物体情報制御部200は特徴量が2段以上増加した場合の処理を実行する(ステップS165)。特徴量が2段以上増加した場合の処理は後に詳述する。
続いて、上記ステップS162の特徴量が減少した場合の処理について説明する。図16は、本開示の実施の形態に係る物体情報制御部200の動作例を示す流れ図であり、図15のステップS162に示した特徴量が減少した場合の処理を示す流れ図である。なお、一連の処理は、手指検出部210や属性処理部220が実行しうる。
物体情報制御部200は、まず最寄手指検出処理を行う(ステップS171)。そして物体情報制御部200は、最寄手指検出処理によって最寄手指IDが発見できたかどうか判断する(ステップS172)。
最寄手指IDが発見できた場合は(ステップS172、Yes)、物体情報制御部200は、手指に所有されたため特徴量が減ったと判断し、所有状態管理表における該当する手指IDの認識ID配列の末尾に、所有された物体の認識IDを追加する(ステップS173)。ここで2段以上減少した場合は、物体情報制御部200は、手指IDの認識ID配列の末尾に、所有された物体の認識IDを複数追加する。この場合、認識ID配列には、上の段ほど配列の先頭に近い(つまり手に近い)順に追加される。
続いて、物体情報制御部200は、残された物体の最上段の認識IDが既知かを判断する(ステップS174)。既知の場合は(ステップS174、Yes)、物体情報制御部200は何もしない。一方、未知の場合は(ステップS174、No)、物体情報制御部200は、残された物体は所有された物体と同時に置かれていたことから、手指に持って行かれた物体と同じ性質の物体であろうと推定し、手指に持って行かれた物体と同じ認識IDを振る(ステップS175)。
ステップS172の判断で最寄手指IDが発見できなかった場合(ステップS172、Yes)は、物体情報制御部200は、その物体は手指に依らず減少したと判断するとともに、残された物体は、原因は不明だが、消失した上段に存在していた物体と同じ性質の物体であろうと推定し、その消失した物体と同じ認識IDを振る(ステップS175)。
続いて、上記ステップS164の特徴量が1段増加した場合の処理について説明する。図17は、本開示の実施の形態に係る物体情報制御部200の動作例を示す流れ図であり、図15のステップS164の特徴量が1段増加した場合の処理を示す流れ図である。なお、一連の処理は、手指検出部210や属性処理部220が実行しうる。
物体情報制御部200は、まず最寄手指検出処理を行う(ステップS181)。そして物体情報制御部200は、最寄手指検出処理によって最寄手指IDが発見できたかどうか判断する(ステップS182)。
手指IDが検出できた場合は(ステップS182、Yes)、物体情報制御部200は、その手指IDが所有状態管理表に登録されており、かつ認識ID配列を保持しているかを判断する(ステップS183)。その手指IDが所有状態管理表に登録されており、かつ認識ID配列を保持していれば(ステップS183、Yes)、物体情報制御部200は、認識ID配列の最後尾を用いて、この特徴量が1段増加した物体の認識IDと推定し、さらに推定に利用した認識ID配列の最後尾を削除する(ステップS184)。手指IDが所有状態管理表に登録されていない、または認識ID配列を保持していない場合は(ステップS183、No)、物体情報制御部200は、新たな手指から発生した未知の物体が1段増えており、かつ同じ場所に重ねられたことから、同じ性質を持った物体であろうと推定し、1段下の物体と同じ認識IDを振る(ステップS185)。
ステップS182の判断で最寄手指IDが発見できなかった場合(ステップS182、Yes)は、物体情報制御部200は、新たな手指から発生した未知の物体が1段増えており、かつ同じ場所に重ねられたことから、同じ性質を持った物体であろうと推定し、1段下の物体と同じ認識IDを振る(ステップS185)。
続いて、上記ステップS165の特徴量が2段以上増加した場合の処理について説明する。図18は、本開示の実施の形態に係る物体情報制御部200の動作例を示す流れ図であり、図15のステップS165の特徴量が2段以上増加した場合の処理を示す流れ図である。なお、一連の処理は、手指検出部210や属性処理部220が実行しうる。
物体情報制御部200は、まず最寄手指検出処理を行う(ステップS191)。そして物体情報制御部200は、最寄手指検出処理によって最寄手指IDが発見できたかどうか判断する(ステップS192)。
手指IDが検出できた場合は(ステップS192、Yes)、物体情報制御部200は、その手指IDが所有状態管理表に登録されており、かつ認識ID配列を保持しているかを判断する(ステップS193)。その手指IDが所有状態管理表に登録されており、かつ認識ID配列を保持していれば(ステップS193、Yes)、続いて物体情報制御部200は、増加した段数分の認識ID配列が存在するかを判断する(ステップS194)。増加した段数分の認識ID配列が存在していれば(ステップS194、Yes)、増加した物体は全て既知の物体であるので、物体情報制御部200は、その増加した段数分の認識ID配列を用いて、その物体に既存の認識IDを割り当てると共に、増加した段数分の認識ID配列を所有状態管理表から削除する(ステップS195)。
ステップS194の判断で、増加した段数分の認識ID配列が存在していなければ(ステップS194、No)、物体情報制御部200は、増加した段数分の物体に未知の物体が挟まっていると判断し、利用できるだけの認識IDを用いる。物体情報制御部200は、不足分は一緒に置かれた物体の一番下の段と同じ性質の物体であろうと推定して、同じ認識IDで属性管理表を更新する(ステップS196)。また物体情報制御部200は、利用した分の認識ID配列を削除する。
ステップS192の判断で、手指IDが検出できなかった場合は(ステップS192、No)、新たな手指から発生した未知の物体が数段増えたことになり、物体情報制御部200は、同じ場所に重ねられたことから、同じ性質を持った物体であろうと推定する。そして物体情報制御部200は、1段下の物体と同じ認識IDを振る(ステップS197)。
ステップS193の判断で、手指IDが所有状態管理表に登録されておらず、または認識ID配列を保持していなければ(ステップS193、No)、物体情報制御部200は、同じ場所に重ねられたことから、同じ性質を持った物体であろうと推定する。そして物体情報制御部200は、1段下の物体と同じ認識IDを振る(ステップS197)。
物体情報制御部200は、このように物体の特徴量が変化したかを検出することにより、物体が重ねられて同時に置かれていた、手指により同時に置かれたといった物体の動きを追跡することができる。また物体情報制御部200は、このような一連の処理により、同じ動きをしている物体は同じ性質であろうと推定を行い、未知の物体に対して認識IDを割り振ることができる。
ここまで説明してきた物体情報制御部200の一連の処理について具体例を挙げて説明する。以下の具体例では、物体管理表に保存される特徴量として、三次元センサから取得された物体の高さを例に挙げて説明する。まずは、センシング可能領域に未知の物体が現れる例を説明する。
図19A~19Cは、センシング可能領域に未知の物体が現れた際の動作を説明する説明図である。図19A~19Cには、テーブルがセンシング可能領域であり、そのテーブルに未知の物体が現れた場合の各表の状態も併せて図示されている。
図19Aは、物体を持った手(hand a)が現れた状態を示す図である。この場合、物体管理表、所有状態管理表、属性管理表には何も情報が登録されていないとする。
図19Bは、物体を持った手がテーブルに物体を置いた状態を示す図である。この時点でも、まだ物体管理表、所有状態管理表、属性管理表には何も情報が登録されない。
図19Cは、手が物体をテーブルに置いた後、物体から手を離した状態を示す図である。物体がテーブルに置かれ、その物体から手が離されると、物体情報制御部200は、テーブルに置かれた物体を認識し、その物体に対して、図19Cに示したような情報を登録する。物体情報制御部200は、その物体に対し物体IDは「1」として登録し、認識ID配列に認識IDとして「A」を登録する。物体情報制御部200は、この認識ID「A」の情報を属性管理表にも登録する。この時点では、この物体がどのような属性を有するか不明のため、物体情報制御部200は、属性管理表には未知の物体として登録する。
次に、センシング可能領域に属性が既知の物体が置いてあり、その物体をセンシング可能領域内で動かした場合の動作を説明する。図20A~20Dは、センシング可能領域に物体が置いてあり、その物体をセンシング可能領域内で動かした場合の動作を説明する説明図である。図20A~20Dには、テーブルがセンシング可能領域であり、そのテーブル上で属性が既知の物体が動かされた場合の各表の状態も併せて図示されている。
図20Aは、物体ID「1」の物体がテーブルに置かれている状態を示す図である。この状態では、図20Aに示したような情報が物体管理表、所有状態管理表、属性管理表に登録されているとする。
図20Bは、物体ID「1」の物体が手(hand a)に持たれた状態を示す図である。物体ID「1」の物体が手(hand a)に覆われたことが検出されると、物体情報制御部200は、当該物体に対応する認識ID配列の情報を所有状態管理表に移す。また物体情報制御部200は、この時点で、物体管理表の処理フラグをfalseに変化させる。
図20Cは、手が認識ID配列「A」の物体を持ってテーブル上で動いている状態を示す図である。この時点では物体管理表には情報が登録されておらず、所有状態管理表には、認識ID配列「A」の物体を手指ID「a」の手が所有していることが登録されている。
図20Dは、手指ID「a」の手が認識ID配列「A」の物体をテーブルに置いた後、物体から手を離した状態を示す図である。物体がテーブルに置かれ、その物体から手が離されると、物体情報制御部200は、テーブルに置かれた物体を認識し、その物体に対して、図20Dに示したような情報を登録する。物体情報制御部200は、その物体に対し物体IDは「2」として登録し、認識ID配列に認識IDとして「A」を登録する。
次に、センシング可能領域の外に物体を移動される例を説明する。これは、手指が物体を持っている状態で範囲外に消えた場合、再び登場したときに同じ物体を持っているか不明なため、物体情報制御部200が物体管理表、所有状態管理表、属性管理表の全てから該当する項目を削除する例である。図21A~21Dは、センシング可能領域に物体が置いてあり、その物体をセンシング可能領域内で動かした場合の動作を説明する説明図である。図21A~21Dには、テーブルがセンシング可能領域であり、そのテーブル上で属性が既知の物体が動かされた場合の各表の状態も併せて図示されている。
図21Aは、物体ID「1」の物体がテーブルに置かれている状態を示す図である。この状態では、図21Aに示したような情報が物体管理表、所有状態管理表、属性管理表に登録されているとする。
図21Bは、物体ID「1」の物体が手(hand a)に持たれた状態を示す図である。物体ID「1」の物体が手(hand a)に覆われたことが検出されると、物体情報制御部200は、当該物体に対応する認識ID配列の情報を所有状態管理表に移す。この際、物体情報制御部200は、検出した手の手指IDを「a」として登録する。また物体情報制御部200は、この時点で、物体管理表の処理フラグをfalseに変化させる。
図21Cは、手指ID「a」の手が認識ID配列「A」の物体を持ってテーブル上で動いている状態を示す図である。この時点では物体管理表には情報が登録されておらず、所有状態管理表には、認識ID配列「A」の物体を手指ID「a」の手が所有していることが登録されている。
図21Dは、手指ID「a」の手がセンシング可能領域の外に出た状態を示す図である。手指ID「a」の手がセンシング可能領域の外に出て、入力部110が認識出来なくなると、物体情報制御部200は、所有状態管理表の情報をクリアする。認識ID配列に記述されていた認識ID「A」の物体が他にセンシング可能領域に存在しないので、物体情報制御部200は、属性管理表の情報もクリアする。
センシング可能領域の外に物体を移動される例をもう一つ説明する。これは、範囲外に消えても同じ物体を持って再び登場するという前提のもと、物体情報制御部200が、全項目を維持した上で所有状態管理表の手指IDにフラグ等を付けて記憶しておく例である。図22A~22Fは、センシング可能領域に物体が置いてあり、その物体をセンシング可能領域内で動かした場合の動作を説明する説明図である。図22A~22Fには、テーブルがセンシング可能領域であり、そのテーブル上で物体が動かされた場合の各表の状態も併せて図示されている。
図22Aは、物体ID「1」の物体がテーブルに置かれている状態を示す図である。この状態では、図22Aに示したような情報が物体管理表、所有状態管理表、属性管理表に登録されているとする。
図22Bは、物体ID「1」の物体が手(hand a)に持たれた状態を示す図である。物体ID「1」の物体が手(hand a)に覆われたことが検出されると、物体情報制御部200は、当該物体に対応する認識ID配列の情報を所有状態管理表に移す。この際、物体情報制御部200は、検出した手の手指IDを「a」として登録する。また物体情報制御部200は、この時点で、物体管理表の処理フラグをfalseに変化させる。
図22Cは、手指ID「a」の手が認識ID配列「A」の物体を持ってテーブル上で動いている状態を示す図である。この時点では物体管理表には情報が登録されておらず、所有状態管理表には、認識ID配列「A」の物体を手指ID「a」の手が所有していることが登録されている。
図22Dは、手指ID「a」の手がセンシング可能領域の外に出た状態を示す図である。手指ID「a」の手がセンシング可能領域の外に出て、入力部110が認識出来なくなっても、物体情報制御部200は、所有状態管理表及び属性管理表の情報を維持する。この際、物体情報制御部200は、手指ID「a」の手がセンシング可能領域の外に出たことを示す情報を付す。ここでは、物体情報制御部200は、手指IDに括弧を付すことで手がセンシング可能領域の外に出たことを示す。
図22Eは、手指ID「a」の手がセンシング可能領域の中に戻ってきた状態を示す図である。ここでは、手指ID「a」の手は認識ID配列「A」の物体を所有したままであるとみなし、物体情報制御部200は、所有状態管理表の手指IDに付いていた括弧を外す。
図22Fは、手指ID「a」の手が認識ID配列「A」の物体をテーブルに置いた後、物体から手を離した状態を示す図である。物体がテーブルに置かれ、その物体から手が離されると、物体情報制御部200は、テーブルに置かれた物体を認識し、その物体に対して、図22Fに示したような情報を登録する。物体情報制御部200は、その物体に対し物体IDは「2」として登録し、認識ID配列に認識IDとして「A」を登録する。
次に、センシング可能領域内に2つ重ねて置かれている物体の一つを手で持って移動させた場合の例を説明する。図23A~23Dは、センシング可能領域に物体が置いてあり、その物体をセンシング可能領域内で動かした場合の動作を説明する説明図である。図23A~23Dには、テーブルがセンシング可能領域であり、そのテーブル上で物体が動かされた場合の各表の状態も併せて図示されている。
図23Aは、物体ID「1」の物体がテーブルに置かれている状態を示す図である。物体ID「1」の物体は、高さ方向の基準特徴量として高さ1センチメートルの2つの物体が積み重なったものである。この状態では、図23Aに示したような情報が物体管理表、所有状態管理表、属性管理表に登録されているとする。物体情報制御部200は、積み重なっている2つの物体の内、上の物体は認識IDが「A」であるとして認識しているが、下の物体はどのような物体か認識出来ていない。従って物体情報制御部200は、物体ID「1」の物体について、物体管理表の認識ID配列に「?,A」として登録している。
図23Bは、物体ID「1」の物体が手(hand a)に持たれた状態を示す図である。物体ID「1」の物体が手(hand a)に覆われたことが検出されると、物体情報制御部200は、当該物体に対応する認識ID配列の情報を所有状態管理表に移す。この際、物体情報制御部200は、検出した手の手指IDを「a」として登録する。
図23Cは、手指ID「a」の手が認識ID配列「A」の物体のうち、上の物体を持ってテーブル上で動いている状態を示す図である。物体情報制御部200は、残された物体について物体IDを「2」として物体管理表に登録する。この際、物体情報制御部200は、不明であった物体ID「2」の物体について、認識ID配列に「A」を割り当てる。これは、同じ所に積み重なっている物体は同じ属性を有すると推定することに基づくものである。また物体情報制御部200は、所有状態管理表に、認識ID配列「A」の物体を手指ID「a」の手が所有していることを登録する。
図23Dは、手指ID「a」の手が物体をテーブルに置いた状態を示す図である。物体情報制御部200は、手から離れた物体について、物体IDを「3」として物体管理表に登録する。その際、直前まで認識ID配列「A」の物体を手指ID「a」の手が所有していたので、物体情報制御部200は、物体ID「3」の物体について、認識ID配列に「A」を割り当てる。
次に、センシング可能領域内に置かれている物体を積み重ねた後に移動させ、さらにその中の一つを手で持って移動させた場合の例を説明する。図24A~24Fは、センシング可能領域に物体が置いてあり、その物体をセンシング可能領域内で動かした場合の動作を説明する説明図である。図24A~24Fには、テーブルがセンシング可能領域であり、そのテーブル上で物体が動かされた場合の各表の状態も併せて図示されている。
図24Aは、物体ID「1」および「2」の物体がテーブルに置かれている状態を示す図である。物体ID「1」および「2」の物体は、それぞれ高さ1センチメートルの物体である。この状態では、図24Aに示したような情報が物体管理表、所有状態管理表、属性管理表に登録されているとする。物体ID「1」の物体の認識ID配列は「A」であり、物体ID「2」の物体の認識ID配列は「B」である。
図24Bは、物体ID「1」の物体が手(hand a)に持たれた状態を示す図である。物体ID「1」の物体が手(hand a)に覆われたことが検出されると、物体情報制御部200は、当該物体に対応する認識ID配列の情報を所有状態管理表に移す。この際、物体情報制御部200は、検出した手の手指IDを「a」として登録する。
図24Cは、物体ID「1」の物体が物体「2」に、手によって積み重ねられている状態を示す図である。物体ID「1」に次いで「2」の物体が手(hand a)に覆われたことが検出されると、物体情報制御部200は、物体ID「2」の物体に対応する認識ID配列の情報も所有状態管理表に移す。
図24Dは、積み重ねられている物体が手によって持ち上げられている状態を示す図である。物体情報制御部200は、所有状態管理表における手指IDを「a」の行に認識ID配列「A,B」を登録する。物体情報制御部200は、手指ID「a」を有する手が認識ID配列「A,B」からなる物体を持っていることを把握する。
図24Eは、積み重ねられている物体のうち、下の物体をテーブルに置いた状態を示す図である。物体情報制御部200は、手から離れた物体について、物体IDを「3」として物体管理表に登録する。その際、直前まで認識ID配列「A」の物体を手指ID「a」の手が所有していたので、物体情報制御部200は、物体ID「3」の物体について、認識ID配列に、下の物体に割り当てられていた認識IDである「B」を割り当てる。
図24Fは、手指ID「a」の手が物体をテーブルに置いた状態を示す図である。物体情報制御部200は、手から離れた物体について、物体IDを「4」として物体管理表に登録する。その際、直前まで認識ID配列「A」の物体を手指ID「a」の手が所有していたので、物体情報制御部200は、物体ID「4」の物体について、認識ID配列に「A」を割り当てる。
次に、センシング可能領域内に置かれている物体に、別の物体が1段積み重ねられた場合の例を説明する。図25A~25Dは、センシング可能領域内に置かれている物体に、別の物体が積み重ねられた場合の動作を説明する説明図である。図25A~25Dには、テーブルがセンシング可能領域であり、そのテーブル上で物体が動かされた場合の各表の状態も併せて図示されている。
図25Aは、物体ID「1」の物体がテーブルに置かれている状態を示す図である。物体ID「1」の物体は、高さ1センチメートルの物体である。この状態では、図25Aに示したような情報が物体管理表、所有状態管理表、属性管理表に登録されているとする。物体ID「1」の物体の認識ID配列は「A」である。
図25Bは、物体ID「1」の物体に、別の物体が積み重ねられた状態の例を示す図である。そして図25Cは、物体から手が離された状態の例を示す図である。所有状態管理表には何も情報が登録されていなかったので、図25Cで現れた(認識可能になった)物体は、誰が持っていた物体か不明である。従って、その物体がどのような物体であるかも不明である。よって物体情報制御部200は、物体ID「1」を「2」に変化させると共に、認識ID配列を「?,A」として物体管理表に登録する。
図25Dは、積み重ねられた物体の認識IDを推定する例を示す図である。物体情報制御部200は、積み重ねられた物体は、下に置かれていた物体と同じ認識IDを有すると推定し、物体ID「2」の物体の認識ID配列を「?,A」として物体管理表に登録する。
次に、センシング可能領域内に置かれている物体に、別の物体が2段積み重ねられた場合の例を説明する。図26A~26Dは、センシング可能領域内に置かれている物体に、別の物体が2段積み重ねられた場合の動作を説明する説明図である。図26A~26Dには、テーブルがセンシング可能領域であり、そのテーブル上で物体が動かされた場合の各表の状態も併せて図示されている。
図25Aは、物体ID「1」の物体がテーブルに置かれている状態を示す図である。物体ID「1」の物体は、高さ1センチメートルの物体である。この状態では、図25Aに示したような情報が物体管理表、所有状態管理表、属性管理表に登録されているとする。物体ID「1」の物体の認識ID配列は「A」である。また、手指ID「a」の手には、認識ID配列が「B」で登録されている。すなわち物体情報制御部200は、この時点では、認識IDが「B」である物体が1つだけ手指ID「a」の手に持たれていると把握している。
図26Bは、物体ID「1」の物体に、別の物体が積み重ねられた状態の例を示す図である。そして図26Cは、物体から手が離された状態の例を示す図である。入力部110による認識の結果、高さが増えたので、物体情報制御部200は、物体ID「1」を「2」に変化させる。そして物体情報制御部200は、所有状態管理表に登録されている認識ID配列の情報を物体管理表に移すが、その際、高さが1センチメートルから3センチメートルに増えたので、物体ID「1」の物体に、別の物体が2つ積み重ねられたことになる。しかし、物体情報制御部200は認識IDが「B」である物体が1つだけ手指ID「a」の手に持たれていると把握している。すなわち、一番下の物体の認識IDは「A」であり、一番上の物体の認識IDは「B」であるが、真ん中の物体の認識IDは何であるか分からない。従って物体情報制御部200は物体ID「2」の認識ID配列を「A,?,B」と登録する。
図26Dは、積み重ねられた物体の認識IDを推定する例を示す図である。物体情報制御部200は、認識IDが不明な物体は、一緒に持たれていた物体と同じ認識IDを有すると推定し、物体ID「2」の物体の認識ID配列を「A,B,B」として物体管理表に登録する。
(アプリケーション例1)
続いて、本実施形態が適用される、情報処理システム100で動作されるアプリケーションの動作例を説明する。最初は、物体を使った化学シミュレーションアプリケーションの動作例を示す。このアプリケーションは、同じ性質を有するコイン状の円柱(以下トークンと称する)を用いて、テーブル上で化学反応のシミュレーションを可能にする。
続いて、本実施形態が適用される、情報処理システム100で動作されるアプリケーションの動作例を説明する。最初は、物体を使った化学シミュレーションアプリケーションの動作例を示す。このアプリケーションは、同じ性質を有するコイン状の円柱(以下トークンと称する)を用いて、テーブル上で化学反応のシミュレーションを可能にする。
図27A~27Cは、化学シミュレーションアプリケーションの動作例を示す説明図である。図27Aは、ユーザがトークン301を持って、原子のイメージが描かれた画像302にトークン301を近付ける様子を示す図である。そして図27Bは、ユーザがトークン301を画像302の中の炭素原子(C)の上に置いた状態を示す図である。物体情報制御部200は、トークン301が炭素原子に置かれたことにより、トークン301に炭素の属性を与える。情報処理システム100は、トークン301に炭素の属性を与えると、炭素に対応する色をトークン301の表面に照射してもよい。
化学シミュレーションアプリケーションの動作の際に情報蓄積処理部230において蓄積される情報を示す。下記の表4、5は、化学シミュレーションアプリケーションの動作の際に情報蓄積処理部230において蓄積される情報を示している。表4は物体管理表、表5は属性管理表である。それぞれの表は、例えばリレーショナルデータベース等の形式で実現される。
図28A~28Cは、化学シミュレーションアプリケーションの動作例を示す説明図である。図28Aは、酸素(O)の属性を有するトークン311が置かれている様子を示す図である。この状態では、酸素の原子であることを意味する情報310が表示されている。図28Bは、酸素の属性を有するトークン311に、属性が不明のトークン312が置かれる様子を示す図である。そして図28Cは、属性が不明のトークン312にも酸素の属性が与えられた様子を示す図である。原子量が増えたので、情報310に表示される情報が「O」から「2O」に変化している。
図29A~29Cは、化学シミュレーションアプリケーションの動作例を示す説明図である。図29Aは、2つのトークン321、322が重ねられている様子を示す図である。この状態では、上のトークン321は酸素の属性を有するが、下のトークン322の属性はどのような属性を有しているか分からないものとする。図29Bは、上のトークン321をユーザが手で持ち上げた様子を示す図である。そして図29Cはトークン321をユーザがテーブルに置いた様子を示す図である。物体情報制御部200は、トークン322の属性は、上に積み重なっていたトークン321と同じ属性、すなわち酸素の属性を有すると推定し、トークン322に酸素の属性を与える。情報処理システム100は、トークン322に酸素の属性を与えると、酸素に対応する色をトークン322の表面に照射してもよい。
図30A~30Cは、化学シミュレーションアプリケーションの動作例を示す説明図である。図30Aは、酸素の属性を有するトークン333がテーブルに置かれている様子を示す図である。この状態では、トークン333が酸素の原子であることを意味する情報330が表示されている。図30Bは、ユーザによって2つのトークン331、332がトークン333に重ねられようとしている様子を示す図である。トークン331は水素(H)の属性を有するが、一緒にユーザが持っているトークン332の属性は不明であるとする。図30Cは、トークン331、332がトークン333に重ねられた様子を示す図である。トークン332の属性は不明であるが、物体情報制御部200は、トークン332の属性はトークン331の属性と同じ、すなわち水素の属性を有すると推定し、トークン332に水素の属性を与える。トークン332に水素の属性が与えられることで、トークン331、332、333によって水の分子(H20)が表される。情報330にはトークン331、332、333によって水の分子が表されていることが示されている。
図31A~31Eは、化学シミュレーションアプリケーションの動作例を示す説明図である。図31Aは、水素の属性を有するトークン341及び酸素の属性を有するトークン342がテーブルに置かれており、ユーザがトークン341を持っている様子を示す図である。図31Bは、ユーザがトークン341を持った状態で、トークン342を持とうとしている様子を示す図である。ユーザがトークン341を持っており、入力部110からはトークン341を認識出来ないが、物体情報制御部200は、水素の属性を有しているトークン341をユーザが持っていることを認識出来ている。そして図31Cは、ユーザがトークン341、342を持っている様子を示す図である。入力部110からはトークン341、342を認識出来ないが、物体情報制御部200は、水素の属性を有しているトークン341及び酸素の属性を有しているトークン342をユーザが持っていることを認識出来ている。図31Dは、ユーザがトークン342だけをテーブルに置いた様子を示す図である。物体情報制御部200は、酸素の属性を有しているトークン342をユーザが持っていることを認識出来ていたので、トークン342が置かれた時点でトークン342に酸素の属性を再度与えることができる。図31Eは、ユーザがトークン341をテーブルに置いた様子を示す図である。物体情報制御部200は、水素の属性を有しているトークン341をユーザが持っていることを認識出来ていたので、トークン341が置かれた時点でトークン341に水素の属性を再度与えることができる。
情報処理システム100が実行する化学シミュレーションアプリケーションは、同一の、または異なる属性を有するトークン同士を結びつける動作に応じて、別の属性を発生させることが出来る。ここでは、トークン同士を結びつける動作としてユーザが指でトークンを囲む軌跡を描く例を示す。図32A~32Fは、化学シミュレーションアプリケーションの動作例を示す説明図である。図32Aは、炭素の属性を有するトークンと、酸素の属性を有する2つのトークンとがテーブルに置かれた様子を示す図である。図32Bは、炭素の属性を有するトークンと、酸素の属性を有する2つのトークンとを、ユーザが指で囲むジェスチャを行った様子を示す図である。ここで、ユーザが指で描いた軌跡はテーブル上に表示されても良く、表示されなくても良い。図32Cは、炭素の属性を有するトークンと、酸素の属性を有する2つのトークンとで、二酸化炭素(CO2)が発生しているようなエフェクトが発生している様子を示す図である。図32Dは、二酸化炭素が発生しているようなエフェクトにユーザがトークンを近付ける様子を示す図であり、図32Eは、二酸化炭素が発生しているようなエフェクトにユーザがトークンを置いた様子を示す図である。図32Fは、ユーザが置いたトークンに二酸化炭素の属性が与えられた様子を示す図である。
図33は、化学シミュレーションアプリケーションの動作例を示す説明図であり、異なる属性を有するトークン同士を結びつけて、別の属性を発生させる様子を示したものである。化学シミュレーションアプリケーションは、例えば、水素の属性を有する2つのトークンと、酸素の属性を有する1つのトークンとを結びつける動作に応じて、水の属性を発生させることが出来る。そして、化学シミュレーションアプリケーションは、水の属性を有する2つのトークンと、ナトリウム(Na)の属性を有する1つのトークンとを結びつける動作に応じて、爆発するようなエフェクトを発生させることができる。
化学シミュレーションアプリケーションは、例えば、酸素の属性を有するトークン同士を結びつける動作に応じて、酸素分子の属性を発生させることが出来る。そして、化学シミュレーションアプリケーションは、鉄(Fe)の属性を有するトークンと、酸素分子の属性を有するトークンと、燃焼反応の属性を有するトークンを結びつける動作に応じて、赤色の炎色反応のエフェクトを発生させることができる。化学シミュレーションアプリケーションは、同様に、ナトリウムの属性を有するトークンと、酸素分子の属性を有するトークンと、燃焼反応の属性を有するトークンを結びつける動作に応じて、黄色の炎色反応のエフェクトを発生させることができる。化学シミュレーションアプリケーションは、同様に、銅(Cu)の属性を有するトークンと、酸素分子の属性を有するトークンと、燃焼反応の属性を有するトークンを結びつける動作に応じて、緑色の炎色反応のエフェクトを発生させることができる。
図34は、化学シミュレーションアプリケーションの動作例を示す説明図であり、異なる属性を有するトークン同士を結びつけて、別の属性を発生させる様子を示したものである。化学シミュレーションアプリケーションは、例えば、炭素の属性を有するトークンと、酸素の属性を有する2つのトークンとで、二酸化炭素の属性を発生させることが出来る。化学シミュレーションアプリケーションは、また例えば、炭素の属性を有するトークンと、酸素の属性を有するトークンとで、一酸化炭素の属性を発生させることが出来る。化学シミュレーションアプリケーションは、また例えば、酸素の属性を有するトークンと、酸素の属性を有する2つのトークンとで、オゾンの属性を発生させることが出来る。化学シミュレーションアプリケーションは、また例えば、水素の属性を有する2つのトークンと、酸素の属性を有する2つのトークンとで、過酸化水素(H2O2)の属性を発生させることが出来る。
図35は、化学シミュレーションアプリケーションによって表示されるユーザインターフェースの例を示す説明図である。化学シミュレーションアプリケーションは、合成した化合物の数や、発生させた現象の数をユーザ毎に表示させることが出来る。
(アプリケーション例2)
情報処理システム100で動作される別のアプリケーションの動作例を説明する。次の例は、カクテルのオーダーを行うカクテル注文アプリケーションの動作例を示す。このアプリケーションは、トークンを用いて、テーブル上でカクテルのオーダーを可能にする。
情報処理システム100で動作される別のアプリケーションの動作例を説明する。次の例は、カクテルのオーダーを行うカクテル注文アプリケーションの動作例を示す。このアプリケーションは、トークンを用いて、テーブル上でカクテルのオーダーを可能にする。
図36A~36Cは、カクテル注文アプリケーションの動作例を示す説明図である。図36Aは、ユーザがトークン401を、果物が描かれた画像400に近付ける様子を示す図である。図36Bは、ユーザがトークン401を、画像400の中のライムの画像に置いた様子を示す図である。トークン401がライムの画像に置かれると、物体情報制御部200は、トークン401にライムの属性を与える。この際、カクテル注文アプリケーションは、ライムの属性が与えられたトークン401にライムの画像を投影してもよい。
図37A~37Cは、カクテル注文アプリケーションの動作例を示す説明図である。図37Aは、ウォッカ10mlの属性が与えられたトークン412がテーブルに置かれている様子を示す図である。図37Bは、トークン412の上に、属性が割り当てられていないトークン411をユーザが置こうとしている様子を示す図である。図37Cは、トークン412の上に、トークン411が積み重ねられた様子を示す図である。物体情報制御部200は、ウォッカ10mlの属性が与えられたトークン412の上に積み重ねられたトークン411にも、ウォッカ10mlの属性を与える。従って、トークン411、412によってウォッカ20mlの属性が与えられていることになる。
図38A~38Dは、カクテル注文アプリケーションの動作例を示す説明図である。図38Aは、ウォッカ、グレープフルーツ、塩の属性がそれぞれ与えられたトークンがテーブルに置かれている様子を示す図である。図38Bは、ウォッカ、グレープフルーツ、塩の属性がそれぞれ与えられたトークンをユーザが指で囲むジェスチャを行った様子を示す図である。図38Cは、ウォッカ、グレープフルーツ、塩の属性がそれぞれ与えられたトークンをユーザが指で囲むジェスチャを行ったことにより、ソルティドッグを注文するユーザインターフェースが表示されている様子を示す図である。カクテル注文アプリケーションは、ユーザがカクテルを注文すると、待ち時間の間にそのカクテルについての情報を表示しても良い。図38Dは、ソルティドッグについての情報が表示されている様子を示す図である。
図39A、39Bは、カクテル注文アプリケーションの動作例を示す説明図である。図39Aは、スクリュードライバーについての情報が表示されている様子を示す図である。ユーザが未知の組み合わせを選択した場合には、カクテル注文アプリケーションは、その組み合わせが新しいものであることを表示するユーザインターフェースを表示しても良い。図39Bは、ユーザが未知の組み合わせを選択した際の情報が表示されている様子を示す図である。
注文したカクテルが完成すると、バーテンダーがグラスをテーブルに置く。カクテル注文アプリケーションは、グラスが置かれたことを検出し、光や音による演出を行っても良い。図40Aは、スクリュードライバーが入ったグラスがテーブルに置かれた様子を示す図である。そして図40Bは、スクリュードライバーが入ったグラスにスポットライトを当てたり、音が流れたりしている様子を示す図である。
カクテル注文アプリケーションの動作の際に情報蓄積処理部230において蓄積される情報を示す。下記の表6、7は、カクテル注文アプリケーションの動作の際に情報蓄積処理部230において蓄積される情報を示している。表6は物体管理表、表7は属性管理表である。それぞれの表は、例えばリレーショナルデータベース等の形式で実現される。
(アプリケーション例3)
情報処理システム100で動作される別のアプリケーションの動作例を説明する。次の例は、楽器の演奏を行う音楽演奏アプリケーションの動作例を示す。このアプリケーションは、トークンを用いて、テーブル上で楽器の演奏を行うことを可能にする。
情報処理システム100で動作される別のアプリケーションの動作例を説明する。次の例は、楽器の演奏を行う音楽演奏アプリケーションの動作例を示す。このアプリケーションは、トークンを用いて、テーブル上で楽器の演奏を行うことを可能にする。
図41A~41Fは、音楽演奏アプリケーションの動作例を示す説明図である。図41Aは、ユーザがトークン501を、楽器が描かれた画像500に近付ける様子を示す図である。図41Bは、ユーザがトークン501を、画像500の中のスネアドラムの画像に置いた様子を示す図である。トークン501がスネアドラムの画像に置かれると、物体情報制御部200は、トークン501にスネアドラムの属性を与える。この際、音楽演奏アプリケーションは、スネアドラムの属性が与えられたトークン501にスネアドラムの画像を投影してもよい。図41Dは、スネアドラムの属性が与えられたトークン501をユーザが手に持って移動させる例を示す図である。図41Eは、スネアドラムの属性が与えられたトークン501をユーザが手から離した例を示す図である。このように一度ユーザがトークン501を手に持っても、物体情報制御部200は、トークン501がスネアドラムの属性を有していることを把握しているので、トークン501をユーザが手から離した際に、トークン501にスネアドラムの属性を付与することが出来る。
スネアドラムの属性が与えられたトークン501をユーザが指でタップすると、音楽演奏アプリケーションは、そのタップに応じてスネアドラムの音を出力する。図41Fは、スネアドラムの属性が与えられたトークン501をユーザが指でタップする例を示す図である。
同じ属性を有するトークンが重ねられ、そのトークンがタップされると、音楽演奏アプリケーションは、そのトークンの重畳に基づいて出力する音を変化させても良い。
図42A~42Cは、音楽演奏アプリケーションの動作例を示す説明図である。図42Aは、スネアドラムの属性が与えられたトークン512がテーブルに置かれている様子を示す図である。図42Bは、トークン512の上に、属性が割り当てられていないトークン511をユーザが置こうとしている様子を示す図である。図42Cは、トークン512の上に、トークン511が積み重ねられた様子を示す図である。物体情報制御部200は、スネアドラムの属性が与えられたトークン512の上に積み重ねられたトークン511にも、スネアドラムの属性を与える。そして、ユーザがトークン511をタップすると、音楽演奏アプリケーションは、スネアドラムの属性が与えられたトークンが1つだけの場合とは異なる音を出力する。
異なる属性を有するトークンが重ねられ、そのトークンがタップされると、音楽演奏アプリケーションは、そのトークンの重畳に基づいて出力する音を合成させても良い。
図42D~42Eは、音楽演奏アプリケーションの動作例を示す説明図である。図42Dは、トークン512の上に、ハイハットの属性が与えられたトークン513をユーザが置こうとしている様子を示す図である。図42Eは、トークン512の上に、トークン513が積み重ねられた様子を示す図である。物体情報制御部200は、スネアドラムの属性が与えられたトークン512の上に、ハイハットの属性が与えられたトークン513が積み重ねられたことを認識する。そして、ユーザがトークン513をタップすると、音楽演奏アプリケーションは、スネアドラムの音とハイハットの音とが合成された音を出力する。
図43は、音楽演奏アプリケーションの動作例を示す説明図である。図43には、テーブルの上にトークン521~525が置かれている様子が示されている。また図43には、音楽演奏アプリケーションによって楽器の画像520が表示されている状態も示されている。トークン521~525をユーザが指でタップすることで、音楽演奏アプリケーションは、そのトークンに応じた音を出力する。すなわち、ユーザはトークン521~525をタップすることで異なる楽器による合奏を楽しむことができる。
音楽演奏アプリケーションは、トークンをタップするだけでなく、ユーザがテーブルをタップさせたことに応じてオブジェクトを発生させ、そのオブジェクトとトークンとが衝突すると、トークンに割り当てた楽器の音を発生させても良い。
図44は、音楽演奏アプリケーションの動作例を示す説明図である。図44には、テーブルの上にトークン526~528が置かれている様子が示されている。また図44には、音楽演奏アプリケーションによって楽器の画像520が表示されている状態も示されている。さらに図44には、テーブルに置かれているペン531、532も示されている。
ユーザがテーブルの上をタップすると、音楽演奏アプリケーションは、球のようなオブジェクトを表示させると共に、ユーザの指の向きに移動させる。このオブジェクトと、トークン526~528とが衝突すると、音楽演奏アプリケーションは、衝突したトークンに割り当てた楽器の音を発生させる。また音楽演奏アプリケーションは、ユーザが発生させたオブジェクトがペン531、532に当たると反射させる。このように、音楽演奏アプリケーションは、トークンをタップするだけでなく、ユーザがテーブルをタップさせたことに応じてオブジェクトを発生させ、そのオブジェクトとトークンとが衝突すると、トークンに割り当てた楽器の音を発生させることができる。
音楽演奏アプリケーションの動作の際に情報蓄積処理部230において蓄積される情報を示す。下記の表8、9は、音楽演奏アプリケーションの動作の際に情報蓄積処理部230において蓄積される情報を示している。表8は物体管理表、表9は属性管理表である。それぞれの表は、例えばリレーショナルデータベース等の形式で実現される。
<2.ハードウェア構成例>
次に、図45を参照して、本開示の一実施形態にかかる情報処理システム100のハードウェア構成について説明する。図45は、本開示の実施形態にかかる情報処理システム100のハードウェア構成例を示すブロック図である。
次に、図45を参照して、本開示の一実施形態にかかる情報処理システム100のハードウェア構成について説明する。図45は、本開示の実施形態にかかる情報処理システム100のハードウェア構成例を示すブロック図である。
図45に示すように、情報処理システム100は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理システム100は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。さらに、情報処理システム100は、必要に応じて、撮像装置933、およびセンサ935を含んでもよい。情報処理システム100は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)またはASIC(Application Specific Integrated Circuit)と呼ばれるような処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理システム100内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、ユーザの音声を検出するマイクを含んでもよい。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理システム100の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理システム100に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置933も、ユーザの手の動きなどを撮像することによって、入力装置として機能しうる。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、有機EL(Electro-Luminescence)ディスプレイ、プロジェクタなどの表示装置、ホログラムの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置917は、情報処理システム100の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。また、出力装置917は、周囲を明るくするためライトなどを含んでもよい。
ストレージ装置919は、情報処理システム100の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理システム100に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
接続ポート923は、機器を情報処理システム100に直接接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート923は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理システム100と外部接続機器929との間で各種のデータが交換されうる。
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。
撮像装置933は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
センサ935は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ935は、例えば情報処理システム100の筐体の姿勢など、情報処理システム100自体の状態に関する情報や、情報処理システム100の周辺の明るさや騒音など、情報処理システム100の周辺環境に関する情報を取得する。また、センサ935は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPSセンサを含んでもよい。
以上、情報処理システム100のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
<3.まとめ>
以上説明したように本開示の実施の形態によれば、物体が積み重ねられるなどの理由で物体の状態が変化して、物体を認識出来ない状態となっても、物体の追跡を行うことが可能な情報処理システム100が提供される。本開示の実施の形態に係る情報処理システム100は、物体の状態を管理する表を設け、物体が積み重ねられる場合には変化前に物体に割り当てられた当該物体の属性情報を変化後の物体に割り当てる。本開示の実施の形態に係る情報処理システム100は、物体が積み重ねられるなどの理由で物体の状態が変化して、物体を認識出来ない状態となっても、引き続き物体の追跡を行うことを可能としている。
以上説明したように本開示の実施の形態によれば、物体が積み重ねられるなどの理由で物体の状態が変化して、物体を認識出来ない状態となっても、物体の追跡を行うことが可能な情報処理システム100が提供される。本開示の実施の形態に係る情報処理システム100は、物体の状態を管理する表を設け、物体が積み重ねられる場合には変化前に物体に割り当てられた当該物体の属性情報を変化後の物体に割り当てる。本開示の実施の形態に係る情報処理システム100は、物体が積み重ねられるなどの理由で物体の状態が変化して、物体を認識出来ない状態となっても、引き続き物体の追跡を行うことを可能としている。
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、各装置に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
センシング可能領域において物体の特徴量及び操作体を検出する検出部と、
前記操作体によるセンシングの奥行方向における前記物体の特徴量の変化を前記検出部が検出したことに基づき、変化前に前記物体に関連付けられていた属性を用いて特徴量の変化後の前記物体に関連付けられる属性を決定する属性処理部と、
を備える、情報処理装置。
(2)
前記物体は、センシングの奥行方向に特徴量を有する物体である、前記(1)に記載の情報処理装置。
(3)
前記属性処理部は、前記特徴量の変化を前記検出部が検出したことに基づき、前記特徴量の変化前の最上段の前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付ける属性を決定する、前記(2)に記載の情報処理装置。
(4)
前記属性処理部は、前記特徴量が減少した後の前記物体に属性が関連付けられていない場合、前記特徴量の減少前の最上段の前記物体に割り当てられていた属性を減少後の前記物体に関連付ける属性とする、前記(2)に記載の情報処理装置。
(5)
前記属性処理部は、前記特徴量が減少した後の前記物体に属性が関連付けられていた場合、当該属性を前記特徴量の減少後の前記物体に関連付ける属性とする、前記(2)に記載の情報処理装置。
(6)
前記属性処理部は、前記特徴量が増加した後の前記物体に属性が関連付けられていない場合、前記特徴量の増加前の最上段の前記物体に関連付けられていた属性を特徴量の増加後の物体に関連付ける属性とする、前記(2)に記載の情報処理装置。
(7)
前記属性処理部は、前記特徴量が増加した後の最上段の前記物体に属性が関連付けられているが、該最上段の前記物体の下の物体に属性が関連付けられていない場合、最上段の前記物体に関連付けられている属性を、属性が関連付けられていない物体に関連付ける属性とする、前記(2)に記載の情報処理装置。
(8)
前記センシングの奥行方向は高さ方向であり、前記センシングの奥行方向の特徴量は高さである、前記(2)~(7)のいずれかに記載の情報処理装置。
(9)
前記属性処理部の処理より属性が関連付けられた前記物体への操作を前記検出部が検出すると、操作された該物体に関連付けられた属性に応じて情報を出力させる出力制御部をさらに備える、前記(1)~(8)のいずれかに記載の情報処理装置。
(10)
前記出力制御部は、重畳されている複数の前記物体が同一の属性に関連付けられている場合に該複数の前記物体に対する操作に応じて、前記属性に応じた情報とは異なる情報を出力する、前記(9)に記載の情報処理装置。
(11)
前記出力制御部は、重畳されている複数の前記物体がそれぞれ異なる属性に関連付けられている場合に該複数の前記物体に対する操作に応じて、前記属性に応じた情報を合成した情報を出力する、前記(9)に記載の情報処理装置。
(12)
前記出力制御部が出力させる前記情報は、色である、前記(11)に記載の情報処理装置。
(13)
前記出力制御部が出力させる前記情報は、音である、前記(11)に記載の情報処理装置。
(14)
センシング可能領域において物体の特徴量及び操作体を検出することと、
前記センシング可能領域で前記物体の特徴量の変化が検出されたことに基づき、変化前に前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付けられる属性を決定することと、
をプロセッサが行うことを含む、情報処理方法。
(15)
コンピュータに、
センシング可能領域において物体の特徴量及び操作体を検出することと、
前記センシング可能領域で前記物体の特徴量の変化が検出されたことに基づき、変化前に前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付けられる属性を決定することと、
を実行させる、コンピュータプログラム。
(1)
センシング可能領域において物体の特徴量及び操作体を検出する検出部と、
前記操作体によるセンシングの奥行方向における前記物体の特徴量の変化を前記検出部が検出したことに基づき、変化前に前記物体に関連付けられていた属性を用いて特徴量の変化後の前記物体に関連付けられる属性を決定する属性処理部と、
を備える、情報処理装置。
(2)
前記物体は、センシングの奥行方向に特徴量を有する物体である、前記(1)に記載の情報処理装置。
(3)
前記属性処理部は、前記特徴量の変化を前記検出部が検出したことに基づき、前記特徴量の変化前の最上段の前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付ける属性を決定する、前記(2)に記載の情報処理装置。
(4)
前記属性処理部は、前記特徴量が減少した後の前記物体に属性が関連付けられていない場合、前記特徴量の減少前の最上段の前記物体に割り当てられていた属性を減少後の前記物体に関連付ける属性とする、前記(2)に記載の情報処理装置。
(5)
前記属性処理部は、前記特徴量が減少した後の前記物体に属性が関連付けられていた場合、当該属性を前記特徴量の減少後の前記物体に関連付ける属性とする、前記(2)に記載の情報処理装置。
(6)
前記属性処理部は、前記特徴量が増加した後の前記物体に属性が関連付けられていない場合、前記特徴量の増加前の最上段の前記物体に関連付けられていた属性を特徴量の増加後の物体に関連付ける属性とする、前記(2)に記載の情報処理装置。
(7)
前記属性処理部は、前記特徴量が増加した後の最上段の前記物体に属性が関連付けられているが、該最上段の前記物体の下の物体に属性が関連付けられていない場合、最上段の前記物体に関連付けられている属性を、属性が関連付けられていない物体に関連付ける属性とする、前記(2)に記載の情報処理装置。
(8)
前記センシングの奥行方向は高さ方向であり、前記センシングの奥行方向の特徴量は高さである、前記(2)~(7)のいずれかに記載の情報処理装置。
(9)
前記属性処理部の処理より属性が関連付けられた前記物体への操作を前記検出部が検出すると、操作された該物体に関連付けられた属性に応じて情報を出力させる出力制御部をさらに備える、前記(1)~(8)のいずれかに記載の情報処理装置。
(10)
前記出力制御部は、重畳されている複数の前記物体が同一の属性に関連付けられている場合に該複数の前記物体に対する操作に応じて、前記属性に応じた情報とは異なる情報を出力する、前記(9)に記載の情報処理装置。
(11)
前記出力制御部は、重畳されている複数の前記物体がそれぞれ異なる属性に関連付けられている場合に該複数の前記物体に対する操作に応じて、前記属性に応じた情報を合成した情報を出力する、前記(9)に記載の情報処理装置。
(12)
前記出力制御部が出力させる前記情報は、色である、前記(11)に記載の情報処理装置。
(13)
前記出力制御部が出力させる前記情報は、音である、前記(11)に記載の情報処理装置。
(14)
センシング可能領域において物体の特徴量及び操作体を検出することと、
前記センシング可能領域で前記物体の特徴量の変化が検出されたことに基づき、変化前に前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付けられる属性を決定することと、
をプロセッサが行うことを含む、情報処理方法。
(15)
コンピュータに、
センシング可能領域において物体の特徴量及び操作体を検出することと、
前記センシング可能領域で前記物体の特徴量の変化が検出されたことに基づき、変化前に前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付けられる属性を決定することと、
を実行させる、コンピュータプログラム。
100 情報処理システム
200 物体情報制御部
200 物体情報制御部
Claims (15)
- センシング可能領域において物体の特徴量及び操作体を検出する検出部と、
前記操作体によるセンシングの奥行方向における前記物体の特徴量の変化を前記検出部が検出したことに基づき、変化前に前記物体に関連付けられていた属性を用いて特徴量の変化後の前記物体に関連付けられる属性を決定する属性処理部と、
を備える、情報処理装置。 - 前記物体は、センシングの奥行方向に特徴量を有する物体である、請求項1に記載の情報処理装置。
- 前記属性処理部は、前記特徴量の変化を前記検出部が検出したことに基づき、前記特徴量の変化前の最上段の前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付ける属性を決定する、請求項2に記載の情報処理装置。
- 前記属性処理部は、前記特徴量が減少した後の前記物体に属性が関連付けられていない場合、前記特徴量の減少前の最上段の前記物体に割り当てられていた属性を減少後の前記物体に関連付ける属性とする、請求項2に記載の情報処理装置。
- 前記属性処理部は、前記特徴量が減少した後の前記物体に属性が関連付けられていた場合、当該属性を前記特徴量の減少後の前記物体に関連付ける属性とする、請求項2に記載の情報処理装置。
- 前記属性処理部は、前記特徴量が増加した後の前記物体に属性が関連付けられていない場合、前記特徴量の増加前の最上段の前記物体に関連付けられていた属性を特徴量の増加後の物体に関連付ける属性とする、請求項2に記載の情報処理装置。
- 前記属性処理部は、前記特徴量が増加した後の最上段の前記物体に属性が関連付けられているが、該最上段の前記物体の下の物体に属性が関連付けられていない場合、最上段の前記物体に関連付けられている属性を、属性が関連付けられていない物体に関連付ける属性とする、請求項2に記載の情報処理装置。
- 前記センシングの奥行方向は高さ方向であり、前記センシングの奥行方向の特徴量は高さである、請求項2に記載の情報処理装置。
- 前記属性処理部の処理より属性が関連付けられた前記物体への操作を前記検出部が検出すると、操作された該物体に関連付けられた属性に応じて情報を出力させる出力制御部をさらに備える、請求項1に記載の情報処理装置。
- 前記出力制御部は、重畳されている複数の前記物体が同一の属性に関連付けられている場合に該複数の前記物体に対する操作に応じて、前記属性に応じた情報とは異なる情報を出力する、請求項9に記載の情報処理装置。
- 前記出力制御部は、重畳されている複数の前記物体がそれぞれ異なる属性に関連付けられている場合に該複数の前記物体に対する操作に応じて、前記属性に応じた情報を合成した情報を出力する、請求項9に記載の情報処理装置。
- 前記出力制御部が出力させる前記情報は、色である、請求項11に記載の情報処理装置。
- 前記出力制御部が出力させる前記情報は、音である、請求項11に記載の情報処理装置。
- センシング可能領域において物体の特徴量及び操作体を検出することと、
前記センシング可能領域で前記物体の特徴量の変化が検出されたことに基づき、変化前に前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付けられる属性を決定することと、
をプロセッサが行うことを含む、情報処理方法。 - コンピュータに、
センシング可能領域において物体の特徴量及び操作体を検出することと、
前記センシング可能領域で前記物体の特徴量の変化が検出されたことに基づき、変化前に前記物体に関連付けられていた属性を用いて変化後の前記物体に関連付けられる属性を決定することと、
を実行させる、コンピュータプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201780079344.8A CN110114750A (zh) | 2016-12-27 | 2017-12-06 | 信息处理设备、信息处理方法以及计算机程序 |
US16/470,757 US10996797B2 (en) | 2016-12-27 | 2017-12-06 | Information processing device, information processing method, and computer program |
DE112017006573.9T DE112017006573T5 (de) | 2016-12-27 | 2017-12-06 | Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Computerprogramm |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016253841A JP2018106535A (ja) | 2016-12-27 | 2016-12-27 | 情報処理装置、情報処理方法及びコンピュータプログラム |
JP2016-253841 | 2016-12-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018123485A1 true WO2018123485A1 (ja) | 2018-07-05 |
Family
ID=62710554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/043857 WO2018123485A1 (ja) | 2016-12-27 | 2017-12-06 | 情報処理装置、情報処理方法及びコンピュータプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10996797B2 (ja) |
JP (1) | JP2018106535A (ja) |
CN (1) | CN110114750A (ja) |
DE (1) | DE112017006573T5 (ja) |
WO (1) | WO2018123485A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055539B2 (en) * | 2018-09-27 | 2021-07-06 | Ncr Corporation | Image processing for distinguishing individuals in groups |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015098189A1 (ja) * | 2013-12-27 | 2015-07-02 | ソニー株式会社 | 表示制御装置、表示制御方法及びプログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5900863A (en) * | 1995-03-16 | 1999-05-04 | Kabushiki Kaisha Toshiba | Method and apparatus for controlling computer without touching input device |
JP3280559B2 (ja) * | 1996-02-20 | 2002-05-13 | シャープ株式会社 | ジョグダイアルの模擬入力装置 |
JP4471910B2 (ja) * | 2005-09-14 | 2010-06-02 | 任天堂株式会社 | 仮想位置決定プログラム |
TW201137704A (en) * | 2010-04-23 | 2011-11-01 | Sunplus Innovation Technology Inc | Optical touch-control screen system and method for recognizing relative distance of objects |
WO2012040827A2 (en) * | 2010-10-01 | 2012-04-05 | Smart Technologies Ulc | Interactive input system having a 3d input space |
US8854433B1 (en) * | 2012-02-03 | 2014-10-07 | Aquifi, Inc. | Method and system enabling natural user interface gestures with an electronic system |
JP6070512B2 (ja) | 2013-11-05 | 2017-02-01 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US9658693B2 (en) * | 2014-12-19 | 2017-05-23 | Immersion Corporation | Systems and methods for haptically-enabled interactions with objects |
US10210464B2 (en) * | 2015-03-11 | 2019-02-19 | Qualcomm Incorporated | Online training for object recognition system |
WO2017029749A1 (ja) * | 2015-08-20 | 2017-02-23 | キヤノン株式会社 | 情報処理装置、その制御方法、プログラム、及び記憶媒体 |
KR20170096420A (ko) * | 2016-02-16 | 2017-08-24 | 삼성전자주식회사 | 대화형 3차원 디스플레이 장치 및 방법 |
US20170336918A1 (en) * | 2016-05-22 | 2017-11-23 | Intel Corporation | Touch-sensing devices using minimum depth-value surface characterizations and associated methods |
-
2016
- 2016-12-27 JP JP2016253841A patent/JP2018106535A/ja active Pending
-
2017
- 2017-12-06 WO PCT/JP2017/043857 patent/WO2018123485A1/ja active Application Filing
- 2017-12-06 CN CN201780079344.8A patent/CN110114750A/zh not_active Withdrawn
- 2017-12-06 DE DE112017006573.9T patent/DE112017006573T5/de not_active Withdrawn
- 2017-12-06 US US16/470,757 patent/US10996797B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015098189A1 (ja) * | 2013-12-27 | 2015-07-02 | ソニー株式会社 | 表示制御装置、表示制御方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US10996797B2 (en) | 2021-05-04 |
JP2018106535A (ja) | 2018-07-05 |
US20190346967A1 (en) | 2019-11-14 |
CN110114750A (zh) | 2019-08-09 |
DE112017006573T5 (de) | 2019-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10521021B2 (en) | Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes | |
US10960298B2 (en) | Boolean/float controller and gesture recognition system | |
JP6044079B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP5207513B2 (ja) | 制御機器操作ジェスチャ認識装置、制御機器操作ジェスチャ認識システムおよび制御機器操作ジェスチャ認識プログラム | |
EP2427857B1 (en) | Gesture-based control systems including the representation, manipulation, and exchange of data | |
US9495013B2 (en) | Multi-modal gestural interface | |
WO2017047182A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
TWI475422B (zh) | 手勢辨識方法與電子裝置 | |
CN113168221B (zh) | 信息处理设备、信息处理方法和程序 | |
CN107918481B (zh) | 基于手势识别的人机交互方法与系统 | |
JP7006619B2 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
WO2018123485A1 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
WO2018096827A1 (ja) | 表示制御装置、表示制御方法及びコンピュータプログラム | |
WO2018123475A1 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
US20230226460A1 (en) | Information processing device, information processing method, and recording medium | |
WO2017033544A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
KR20120016379A (ko) | 객체 제어 장치 및 방법 | |
US20200409547A1 (en) | Information processing apparatus, information processing method, and program | |
US20240184498A1 (en) | Information processing apparatus, information processing method, and program |
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: 17887188 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17887188 Country of ref document: EP Kind code of ref document: A1 |