CN105917385A - Information processing device and information processing method - Google Patents
Information processing device and information processing method Download PDFInfo
- Publication number
- CN105917385A CN105917385A CN201480073221.XA CN201480073221A CN105917385A CN 105917385 A CN105917385 A CN 105917385A CN 201480073221 A CN201480073221 A CN 201480073221A CN 105917385 A CN105917385 A CN 105917385A
- Authority
- CN
- China
- Prior art keywords
- block
- information processing
- information
- blocks
- movable parts
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording for evaluating the cardiovascular system, e.g. pulse, heart rate, blood pressure or blood flow
- A61B5/024—Measuring pulse rate or heart rate
- A61B5/0245—Measuring pulse rate or heart rate by using sensing means generating electric signals, i.e. ECG signals
- A61B5/025—Measuring pulse rate or heart rate by using sensing means generating electric signals, i.e. ECG signals within occluders, e.g. responsive to Korotkoff sounds
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/211—Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/22—Setup operations, e.g. calibration, key configuration or button assignment
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/23—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
- A63F13/235—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/24—Constructional details thereof, e.g. game controllers with detachable joystick handles
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/105—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1087—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Cardiology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Physiology (AREA)
- Physics & Mathematics (AREA)
- Vascular Medicine (AREA)
- Dentistry (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Signal Processing (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Toys (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
技术领域technical field
本发明涉及一种使用真实空间中的对象的信息处理技术。The present invention relates to an information processing technique using objects in real space.
背景技术Background technique
在各种领域中使用以下技术:通过一些手段测量与真实空间中的对象(例如,人、事物等)有关的参数、捕获参数作为进入计算机的输入值并且分析输入值且将输入值显示为图像。在计算机游戏的领域中,通过获取用户他本身/她本身或用户所握持的标记物的移动并且相应地在显示屏幕内移动虚拟世界中的角色来实现直观和容易的操作(例如,参见PTL 1)。因此,期望将在屏幕显示器中反映真实空间中的对象的形状的移动或改变的技术不仅应用于游戏而且还应用于玩具、学习材料等(例如,参见NPL 1)。The following techniques are used in various fields: measuring parameters related to objects (e.g., people, things, etc.) in real space by some means, capturing parameters as input values into a computer, and analyzing the input values and displaying the input values as images . In the field of computer games, intuitive and easy operation is achieved by acquiring the movement of the user himself/herself or markers held by the user and moving characters in the virtual world within the display screen accordingly (see, for example, PTL 1). Therefore, it is expected to apply a technique of reflecting movement or change of a shape of an object in real space in a screen display not only to games but also to toys, learning materials, etc. (for example, see NPL 1).
[引文列表][citation list]
[专利文献][Patent Document]
[PTL 1]WO 2007/050885A2[PTL 1] WO 2007/050885A2
[非专利文献][Non-patent literature]
[NPL 1]Posey:Instrumenting a Poseable Hub and Strut Construction Toy,Michael Philetus Weller,Ellen Yi-Luen Do,Mark D Gross,Proceedings of theSecond International Conference on Tangible and Embedded Interaction,2008,pp.39-46[NPL 1] Posey: Instrumenting a Poseable Hub and Strut Construction Toy, Michael Philetus Weller, Ellen Yi-Luen Do, Mark D Gross, Proceedings of the Second International Conference on Tangible and Embedded Interaction, 2008, pp.39-46
发明内容Contents of the invention
[技术问题][technical problem]
为了产生现实的感觉并且使能在通过使用除了执行主操作的信息处理层之外的另一对象来使得信息处理得以进展的模式下的直观操作,如上所述,提供感知式供给是重要的。可以提供具有接近真实事物的形状(诸如例如,汽车的方向盘的形状、手枪的形状等)并且可以执行相似操作的设备,但该设备在使用方面受限。当设备的形状可变时,使用的范围加宽。然而,用于测量形状或移动的改变的发明物相应地变得必要。In order to create a sense of reality and enable intuitive operation in a mode in which information processing progresses by using another object other than the information processing layer performing the main operation, it is important to provide perceptual provision as described above. A device that has a shape close to the real thing (such as, for example, the shape of a steering wheel of a car, the shape of a pistol, etc.) and can perform similar operations can be provided, but the device is limited in use. When the shape of the device is variable, the range of use is widened. However, inventions for measuring changes in shape or movement accordingly become necessary.
在NPL 1中所公开的技术中,例如,在部件的耦合部段中包括红外LED和接收红外LED的光的光电传感器,以测量部件的旋转角度,并且标识部件的形状。在此情况下,可测量的旋转角度是有限的,并且因而形状的可变范围也是有限的。此外,所有部件需要包括元件,使得制造成本增加。因此,设备的形式越灵活,用于测量设备的形式的机制就越复杂。因此,制造成本和处理成本倾向于增加。In the technology disclosed in NPL 1, for example, an infrared LED and a photosensor receiving light from the infrared LED are included in a coupling section of a component to measure a rotation angle of the component and identify the shape of the component. In this case, the measurable rotation angle is limited, and thus the variable range of shape is also limited. In addition, all parts need to include elements, so that the manufacturing cost increases. Therefore, the more flexible the form of the device, the more complex the mechanism for measuring the form of the device. Therefore, manufacturing costs and handling costs tend to increase.
已经鉴于这些问题而进行本发明。本发明的目的在于通过使用可以自由地形成的设备来实现不同且高级的表达。The present invention has been made in view of these problems. The purpose of the present invention is to achieve different and advanced expressions by using a device that can be freely formed.
[问题的解决方案][Solution to problem]
本发明的模式涉及一种信息处理设备。所述信息处理设备包括:结构信息获取区段,获取与外部对象的总体结构中的可移动部件的位置有关的信息。所述信息处理设备还包括:信息处理区段,在显示设备上显示设置屏幕,以用于从用户接收与用于可移动部件的互锁规则有关的设置输入以便将对象和与对象关联的对象模型互锁,基于所接收的设置输入来生成与互锁规则有关的信息,以及将与互锁规则有关的信息存储在存储设备中。A mode of the invention relates to an information processing device. The information processing apparatus includes: a structure information acquisition section that acquires information related to the position of the movable part in the overall structure of the external object. The information processing device further includes: an information processing section for displaying a setting screen on the display device for receiving a setting input from a user regarding an interlocking rule for the movable part in order to associate the object and the object with the object Model interlocking, generating information related to interlocking rules based on the received setting input, and storing the information related to interlocking rules in a storage device.
本发明的另一模式涉及一种信息处理设备。所述信息处理设备包括:结构信息获取区段,获取与外部对象的总体结构中的可移动部件的位置有关的信息。所述信息处理设备还包括:信息处理区段,在显示设备上显示对应位置设置屏幕,以用于从用户接收用于将对象的可移动部件和与对象关联的对象模型的可移动部件进行关联的设置输入,以便通过将对象和对象模型中的一者的可移动部件的改变反映在对象和对象模型中的另一者的关联的可移动部件中来将对象和对象模型彼此互锁,以及基于所接收的设置输入来生成对应信息,并且将对应信息存储在存储设备中。Another mode of the present invention relates to an information processing device. The information processing apparatus includes: a structure information acquisition section that acquires information related to the position of the movable part in the overall structure of the external object. The information processing device further includes: an information processing section for displaying a corresponding position setting screen on the display device for receiving from the user a link for associating the movable part of the object with the movable part of the object model associated with the object. to interlock the object and the object model with each other by reflecting changes in the movable parts of one of the object and the object model in the associated movable parts of the other of the object and the object model, and Corresponding information is generated based on the received setting input, and stored in a storage device.
本发明的又一模式涉及一种信息处理方法。所述信息处理方法由信息处理设备执行。所述信息处理方法包括步骤:获取与外部对象的总体结构中的可移动部件的位置有关的信息。所述信息处理方法还包括步骤:在显示设备上显示对应位置设置屏幕,以用于从用户接收用于将对象的可移动部件和与对象关联的对象模型的可移动部件进行关联的设置输入,以便通过将对象和对象模型中的一者的可移动部件的改变反映在对象和对象模型中的另一者的关联的可移动部件中来将对象和对象模型彼此互锁。所述信息处理方法还包括步骤:基于所接收的设置输入来生成对应信息,并且将对应信息存储在存储设备中。Still another mode of the present invention relates to an information processing method. The information processing method is executed by an information processing device. The information processing method includes the step of acquiring information on the position of the movable part in the overall structure of the external object. The information processing method further includes the step of: displaying a corresponding position setting screen on the display device for receiving a setting input for associating the movable part of the object with the movable part of the object model associated with the object from the user, so as to interlock the object and the object model with each other by reflecting changes in the movable parts of one of the object and the object model in the associated movable parts of the other of the object and the object model. The information processing method further includes the steps of generating corresponding information based on the received setting input, and storing the corresponding information in a storage device.
本发明的又一模式涉及一种信息处理设备。所述信息处理设备包括:结构信息获取区段,获取与外部对象的总体结构中的可移动部件的位置有关的信息。所述信息处理设备还包括:信息处理区段,在显示设备上显示移动对应设置屏幕,以用于从用户接收用于设置用于对象的可移动部件和与对象关联的对象模型的可移动部件的移动反映规则的设置输入,所述可移动部件彼此关联,以便通过将对象和对象模型中的一者的可移动部件的改变反映在对象和对象模型中的另一者的关联的可移动部件中来将对象和对象模型彼此互锁,基于所接收的设置输入来生成对应信息,并且将对应信息存储在存储设备中。Yet another mode of the present invention relates to an information processing device. The information processing apparatus includes: a structure information acquisition section that acquires information related to the position of the movable part in the overall structure of the external object. The information processing device further includes: an information processing section displaying a movement correspondence setting screen on the display device for receiving from a user a movable part for setting a movable part for the object and an object model associated with the object The setting input of the movement reflection rule, the movable parts are associated with each other so that by reflecting the change of the movable parts of one of the object and the object model in the associated movable parts of the other of the object and the object model The method interlocks the object and the object model with each other, generates corresponding information based on the received setting input, and stores the corresponding information in the storage device.
本发明的又一模式涉及一种信息处理方法。所述信息处理方法由信息处理设备执行。所述信息处理方法包括步骤:获取与外部对象的总体结构中的可移动部件的位置有关的信息。所述信息处理方法还包括步骤:在显示设备上显示移动对应设置屏幕,以用于从用户接收用于设置用于对象的可移动部件和与对象关联的对象模型的可移动部件的移动反映规则的设置输入,所述可移动部件彼此关联,以便通过将对象和对象模型中的一者的可移动部件的改变反映在对象和对象模型中的另一者的关联的可移动部件中来将对象和对象模型彼此互锁。所述信息处理方法还包括:基于所接收的设置输入来生成对应信息,并且将对应信息存储在存储设备中。Still another mode of the present invention relates to an information processing method. The information processing method is executed by an information processing device. The information processing method includes the step of acquiring information on the position of the movable part in the overall structure of the external object. The information processing method further includes the step of displaying a movement correspondence setting screen on the display device for receiving from a user a movement reflection rule for setting a movable part for an object and a movable part of an object model associated with the object The setting input of that the movable parts are associated with each other so that the object can be transformed by reflecting changes in the movable parts of one of the object and the object model in the associated movable parts of the other of the object and the object model and object models are interlocked with each other. The information processing method further includes generating corresponding information based on the received setting input, and storing the corresponding information in a storage device.
本发明的又一模式涉及一种信息处理设备。所述信息处理设备包括:结构信息获取区段,获取与外部对象的总体结构中的可移动部件的位置有关的信息。所述信息处理设备还包括:信息处理区段,在显示设备上显示对应位置设置屏幕,以用于从用户接收用于将对象的可移动部件和与对象关联的对象模型的可移动部件进行关联的设置输入,以便通过将对象和对象模型中的一者的可移动部件的改变反映在对象和对象模型中的另一者的关联的可移动部件中来将对象和对象模型彼此互锁,接收用于将对象和对象模型之间的不同编号的可移动部件彼此关联的设置输入,基于所接收的设置输入来生成对应信息,并且将对应信息存储在存储设备中。Yet another mode of the present invention relates to an information processing device. The information processing apparatus includes: a structure information acquisition section that acquires information related to the position of the movable part in the overall structure of the external object. The information processing device further includes: an information processing section for displaying a corresponding position setting screen on the display device for receiving from the user a link for associating the movable part of the object with the movable part of the object model associated with the object. The setting input of to interlock the object and the object model with each other by reflecting changes in the movable parts of one of the object and the object model in the associated movable parts of the other of the object and the object model, receiving A setting input for associating different numbers of movable parts between the object and the object model with each other, generating correspondence information based on the received setting input, and storing the correspondence information in the storage device.
本发明的又一模式涉及一种信息处理方法。所述信息处理方法由信息处理设备执行。所述信息处理方法包括步骤:获取与外部对象的总体结构中的可移动部件的位置有关的信息。所述信息处理方法还包括步骤:在显示设备上显示对应位置设置屏幕,以用于从用户接收用于将对象的可移动部件和与对象关联的对象模型的可移动部件进行关联的设置输入,以便通过将对象和对象模型中的一者的可移动部件的改变反映在对象和对象模型中的另一者的关联的可移动部件中来将对象和对象模型彼此互锁。所述信息处理方法还包括步骤:接收设置输入,以用于将对象和对象模型之间的不同编号的可移动部件彼此关联。所述信息处理方法还包括步骤:基于所接收的设置输入来生成对应信息,并且将对应信息存储在存储设备中。Still another mode of the present invention relates to an information processing method. The information processing method is executed by an information processing device. The information processing method includes the step of acquiring information on the position of the movable part in the overall structure of the external object. The information processing method further includes the step of: displaying a corresponding position setting screen on the display device for receiving a setting input for associating the movable part of the object with the movable part of the object model associated with the object from the user, so as to interlock the object and the object model with each other by reflecting changes in the movable parts of one of the object and the object model in the associated movable parts of the other of the object and the object model. The information processing method further includes the step of receiving a setting input for associating different numbers of movable parts between the object and the object model with each other. The information processing method further includes the steps of generating corresponding information based on the received setting input, and storing the corresponding information in a storage device.
注意,通过在方法、设备、系统、计算机程序、记录计算机程序的记录介质等之间转换本发明的表达而获取的以上构成要素和模式的任何组合作为本发明的模式也是有效的。Note that any combination of the above constituent elements and modes acquired by converting the expression of the present invention between methods, devices, systems, computer programs, recording media recording the computer programs, etc. is also effective as a mode of the present invention.
[本发明的有利效果][Advantageous Effects of the Invention]
根据本发明,能够使用可以自由地形成的设备来实现不同且高级的表达。According to the present invention, various and advanced expressions can be realized using a device that can be freely formed.
附图说明Description of drawings
图1是描绘可以应用本实施例的信息处理系统的配置的示例的图。FIG. 1 is a diagram depicting an example of a configuration of an information processing system to which the present embodiment can be applied.
图2是描绘本实施例中的块集合的外部外观的示例的图。FIG. 2 is a diagram depicting an example of the external appearance of a block set in this embodiment.
图3是仅描绘图1中所描绘的块集合中的通信块的结构的图。FIG. 3 is a diagram depicting only the structure of communication blocks in the set of blocks depicted in FIG. 1 .
图4是示意性地描绘本实施例中的核心的中心轴(该中心轴是推导的)的图。Fig. 4 is a diagram schematically depicting the central axis (the central axis is derived) of the core in the present embodiment.
图5是示意性地描绘本实施例中的块集合中所包括的通信块的内部配置的示例的图。FIG. 5 is a diagram schematically depicting an example of an internal configuration of a communication block included in a block set in the present embodiment.
图6是详细描绘本实施例中的块集合和信息处理设备的配置的图。FIG. 6 is a diagram depicting in detail the block set and the configuration of the information processing device in the present embodiment.
图7是示意性地描绘本实施例中的块集合中的信息发送路径和所发送的信息的示例的图。FIG. 7 is a diagram schematically depicting an information transmission path in a block set in the present embodiment and an example of transmitted information.
图8是描绘本实施例中的关于通信块的基本信息的数据的结构的示例的图。FIG. 8 is a diagram depicting an example of the structure of data of basic information on communication blocks in the present embodiment.
图9是辅助解释本实施例中的标识包括非通信块的块集合的状态的基本处理的图。FIG. 9 is a diagram of assistance in explaining basic processing of identifying a state of a block set including non-communication blocks in the present embodiment.
图10是描绘本实施例中的关于非通信块的基本信息的数据的结构的示例的图。FIG. 10 is a diagram depicting an example of the structure of data of basic information on non-communication blocks in the present embodiment.
图11是辅助解释本实施例中的以时间演进方式标识块集合的形状的处理的图。FIG. 11 is a diagram of assistance in explaining the process of identifying the shape of a block set in a time-evolving manner in the present embodiment.
图12是辅助解释本实施例中的标识其结构发生改变的块集合的形状的处理的图。FIG. 12 is a diagram of assistance in explaining the process of identifying the shape of a block set whose structure is changed in the present embodiment.
图13是辅助解释本实施例中的标识由于核心的接头角度的改变而修改的块集合的形状的处理的图。FIG. 13 is a diagram of assistance in explaining the process of identifying the shape of a block set modified due to a change in the joint angle of the core in the present embodiment.
图14是描绘本实施例中的用于标识包括非通信块的块集合的状态的处理过程的流程图。FIG. 14 is a flowchart depicting a processing procedure for identifying a state of a block set including non-communication blocks in the present embodiment.
图15是示出可以在本实施例中实现的块集合与显示器之间的关系的图。FIG. 15 is a diagram showing the relationship between block sets and displays that can be realized in the present embodiment.
图16是示出本实施例中的在对块集合设置外部外观的情况下的块集合与显示器之间的关系的图。FIG. 16 is a diagram showing a relationship between a block set and a display in the case where an appearance is set for the block set in the present embodiment.
图17是示出在本实施例中的在一个3D对象与组装的块集合关联的情况下的块集合与显示器之间的关系的图。FIG. 17 is a diagram showing a relationship between a block set and a display in the case where one 3D object is associated with the assembled block set in the present embodiment.
图18是示出本实施例中的对于将块集合和3D对象的移动彼此关联所必需的信息的图。FIG. 18 is a diagram showing information necessary for associating a block set and movement of a 3D object with each other in the present embodiment.
图19是描绘在本实施例中的信息处理设备将块集合的移动和3D对象的移动彼此关联的处理过程的流程图。FIG. 19 is a flowchart depicting a processing procedure in which the information processing device in this embodiment associates movement of a block set and movement of a 3D object with each other.
图20是描绘被显示在显示设备上以在图19中的S46中接收由用户输入的模型选择的屏幕的示例的图。FIG. 20 is a diagram depicting an example of a screen displayed on a display device to receive model selection input by a user in S46 in FIG. 19 .
图21是描绘被显示在显示设备上以在图19中的S48中设置对于块集合和所选择的模型共用的坐标系统的屏幕的示例的图。FIG. 21 is a diagram depicting an example of a screen displayed on the display device to set the coordinate system common to the block set and the selected model in S48 in FIG. 19 .
图22是描绘在本实施例中的当由两个块创建对象时的块集合以及在注册的时间的显示屏幕的过渡的示例的图。FIG. 22 is a diagram depicting an example of a set of blocks when an object is created by two blocks and a transition of a display screen at the time of registration in the present embodiment.
图23是示出在本实施例中的彼此关联的接头在一对一的基础上按相同角度移动的情况的图。FIG. 23 is a diagram showing a case where joints associated with each other move at the same angle on a one-to-one basis in the present embodiment.
图24是描绘在本实施例中的在两个分组的接头与一个接头关联的情况下的各个接头的角度之间的对应的示例的图。FIG. 24 is a diagram depicting an example of correspondence between angles of respective joints in the case where joints of two groups are associated with one joint in the present embodiment.
图25是描绘在本实施例中的在两个接头被分组并且与一个接头关联的情况下的各个接头的角度之间的对应的另一示例的图。FIG. 25 is a diagram depicting another example of correspondence between angles of respective joints in the case where two joints are grouped and associated with one joint in the present embodiment.
图26是示出在本实施例中的使得在一对一的基础上彼此关联的接头的角度的改变不同的情况的图。FIG. 26 is a diagram showing a case where changes in angles of joints associated with each other on a one-to-one basis are made different in the present embodiment.
图27是描绘在本实施例中的块集合的一个接头与3D对象的多个接头关联的示例的图。FIG. 27 is a diagram depicting an example in which one joint of a block set is associated with a plurality of joints of a 3D object in the present embodiment.
图28是描绘被显示在显示设备上以在图19中的S52中设置块集合和3D对象的移动之间的对应的屏幕的示例的图。FIG. 28 is a diagram depicting an example of a screen displayed on a display device to set a correspondence between a block set and movement of a 3D object in S52 in FIG. 19 .
图29是描绘在本实施例中的关于块集合和3D对象的对应位置以及各个对应位置的移动之间的对应的信息的数据结构的示例的图。FIG. 29 is a diagram depicting an example of a data structure of information on correspondence between block sets and corresponding positions of 3D objects and movements of the respective corresponding positions in the present embodiment.
图30是描绘在本实施例中的用于设置3D对象和块集合的移动之间的对应的处理过程的流程图。FIG. 30 is a flowchart depicting a processing procedure for setting correspondence between movements of 3D objects and block sets in the present embodiment.
图31是辅助解释本实施例中的与块集合的轮有关的设置扩展为合成链路的情况的图。FIG. 31 is a diagram of assistance in explaining the case where the settings related to the round of block sets in this embodiment are extended to composite links.
具体实施方式detailed description
在本实施例中,组装或修改多个块,并且块的形状、姿态和位置被用作用于信息处理的输入值。也就是说,这些块可以看作用于信息处理设备的输入设备。此外,存在这样的情况:改变所组装的块的形状、姿态和位置,以便反映由信息处理设备所执行的处理的结果。在此情况下,块被看作用于信息处理设备的输出设备。虽然由信息处理设备所执行的处理在此情况下并非特别地受限,但稍后将示出其优选模式。这些块的联合或块的组装将在下文中统称为“块集合”。此外,如稍后将描述的那样,块集合可以包括与一般意义上的块不同的对象(诸如,模仿服装饰品、粘土工件等的事物),并且对象的形状和材料不受限。包括这些对象的块将在下文中被称为“块”。In the present embodiment, a plurality of blocks are assembled or modified, and the shape, posture, and position of the blocks are used as input values for information processing. That is, these blocks can be regarded as input devices for information processing devices. Also, there are cases where the shape, posture, and position of assembled blocks are changed so as to reflect the results of processing performed by the information processing device. In this case, the block is regarded as an output device for the information processing device. Although the processing performed by the information processing device is not particularly limited in this case, preferred modes thereof will be shown later. A union of these blocks or an assembly of blocks will hereinafter be referred to collectively as a "block set". Also, as will be described later, the block set may include objects other than blocks in the general sense (such as things imitating costume accessories, clay artifacts, etc.), and the shapes and materials of the objects are not limited. A block including these objects will be referred to as a "block" hereinafter.
图1描述可以应用本实施例的信息处理系统的配置的示例。信息处理系统2包括:块集合120;相机122,对块集合120进行成像;信息处理设备10,其作为输入设备或输出设备执行与块集合120的预定信息处理;输入设备14,其接收对于信息处理设备10的用户操作;以及显示设备16,其将信息处理设备所输出的数据作为图像进行显示。FIG. 1 depicts an example of the configuration of an information processing system to which the present embodiment can be applied. The information processing system 2 includes: a block set 120; a camera 122, which images the block set 120; an information processing device 10, which performs predetermined information processing with the block set 120 as an input device or an output device; a user operation of the processing device 10; and a display device 16 that displays data output from the information processing device as an image.
信息处理设备10可以是例如游戏设备或个人计算机,并且可以通过加载必要的应用程序来实现信息处理功能。显示设备16可以是普通显示器(诸如,液晶显示器、等离子体显示器、有机EL显示器等)。显示设备16也可以是包括这些显示器之一以及扬声器的电视机。输入设备14可以是普通输入设备之一(诸如,游戏控制器、键盘、鼠标、操纵杆、显示设备12的屏幕上所安置的触摸板,或其任何组合)。The information processing device 10 may be, for example, a game device or a personal computer, and may realize an information processing function by loading necessary application programs. The display device 16 may be a general display such as a liquid crystal display, a plasma display, an organic EL display, or the like. The display device 16 may also be a television including one of these displays as well as speakers. The input device 14 may be one of common input devices such as a game controller, keyboard, mouse, joystick, touch pad disposed on the screen of the display device 12, or any combination thereof.
信息处理设备10对相机122、输入设备14和显示设备16的连接可以通过有线或无线电来进行,并且可以经由各种网络来进行。可替换地,可以整体地组合并且提供相机122、信息处理设备10、输入设备14和显示设备16中的两个或更多个或全部。此外,相机122并不一定需要安装在显示设备16上。取决于由信息处理设备10所处理的内容,可以存在多个块集合120。块集合120和信息处理设备10使用蓝牙(注册商标)协议、IEEE 802.11协议等来建立无线连接。可替换地,块集合120中的一个块和信息处理设备10可以经由缆线彼此连接。The connection of the information processing device 10 to the camera 122, the input device 14, and the display device 16 may be made by wire or radio, and may be made via various networks. Alternatively, two or more or all of the camera 122 , the information processing device 10 , the input device 14 , and the display device 16 may be integrally combined and provided. Furthermore, the camera 122 does not necessarily need to be mounted on the display device 16 . There may be a plurality of chunk sets 120 depending on the content processed by the information processing device 10 . The block set 120 and the information processing device 10 establish a wireless connection using the Bluetooth (registered trademark) protocol, the IEEE 802.11 protocol, or the like. Alternatively, one block in block set 120 and information processing device 10 may be connected to each other via a cable.
如上所述,根据本实施例的块集合120可以用作用于信息处理设备10的输入设备,或可以用作用于信息处理设备10的输出设备。具体地,在前一情况下,信息处理设备10使用用户改变块集合120的位置、姿态或形状的结果作为输入值来执行信息处理,并且将处理的结果作为图像显示在显示设备16上。在后一情况下,信息处理设备10根据由用户进行的输入设备14的操作来执行信息处理,并且作为信息处理的结果而移动块集合120本身。本实施例可以被配置为能够实现这两个模式,或可以被配置为仅能够实现模式之一。As described above, the block set 120 according to the present embodiment can be used as an input device for the information processing device 10 , or can be used as an output device for the information processing device 10 . Specifically, in the former case, the information processing device 10 executes information processing using the result of the user changing the position, attitude, or shape of the block set 120 as an input value, and displays the result of the processing as an image on the display device 16 . In the latter case, the information processing device 10 performs information processing according to the operation of the input device 14 by the user, and moves the block set 120 itself as a result of the information processing. The present embodiment may be configured to be able to realize both modes, or may be configured to be able to realize only one of the modes.
图2描述构成块集合的个体块的外部外观的示例。在本实施例中,块粗略地分类为两个种类。一种是被配置为能够与另一块或信息处理设备10进行通信的块。另一种是没有通信装置的块。下文中,前者将被称为“通信块”,而后者将被称为“非通信块”。除了用于与另一块进行通信的机制之外,通信块还可以包括测量物理量(诸如,块的取向、角度、位置等)的各个种类的传感器。FIG. 2 depicts an example of the external appearance of individual blocks constituting a block set. In this embodiment, blocks are roughly classified into two categories. One is a block configured to be able to communicate with another block or the information processing device 10 . The other is a block without communication means. Hereinafter, the former will be referred to as "communication block", and the latter will be referred to as "non-communication block". In addition to mechanisms for communicating with another piece, a communicating piece may also include various kinds of sensors that measure physical quantities such as the piece's orientation, angle, position, etc.
无论块是通信块还是非通信块,如附图中所描述的那样,块都可以具有各种形状(诸如,四边形棱柱块102a、102b和102c、立方体块102d、圆形圆柱块102f和102k、球形块102e、板形块102i、矩形平行六面体块102j等的形状)。每个块配备有预定尺寸和形状的突出部段104和凹入部段106。通过将突出部段104插入到凹入部段106中,可以在期望的位置处将各块彼此耦合。可替换地,至于矩形平行六面体块102j、圆形圆柱块102k等,块可以配备有具有可以将另一块本身装配进去并且由此能够包含所述另一块的形状的凹入部段107。Whether a block is a communicating block or a non-communicating block, as depicted in the figures, the blocks can have various shapes (such as quadrangular prismatic blocks 102a, 102b, and 102c, cubical blocks 102d, circular cylindrical blocks 102f and 102k, spherical block 102e, plate-shaped block 102i, rectangular parallelepiped block 102j, etc.). Each block is provided with a protruding section 104 and a concave section 106 of predetermined size and shape. By inserting the protruding section 104 into the concave section 106, the pieces can be coupled to each other at the desired location. Alternatively, as for the rectangular parallelepiped block 102j, the circular cylindrical block 102k, etc., the block may be equipped with a concave section 107 having a shape in which another block can fit itself and thus be able to contain said other block.
块集合还可以包括接头块102g和102h,其具有可以插入到不同块的凹入部段106中以调整彼此耦合的各块之间的间隔的两末端。此外,接头块可以能够通过旋转等来改变彼此连接的各块之间的位置和姿态关系。The set of blocks may also include joint blocks 102g and 102h having two ends that may be inserted into the recessed sections 106 of different blocks to adjust the spacing between the blocks coupled to each other. In addition, the joint block may be capable of changing the position and posture relationship between the blocks connected to each other by rotation or the like.
通信块的突出部段104和凹入部段106还具有使得能够在各块之间进行信号传输的终端的作用。为此,相应部段的末端配备有具有符合块内所提供的标准或总线等的结构的连接器。可以通过采用一般使用的各个种类的连接器或提供专用特殊连接器来同时实现各块之间的信号传输和物理耦合。此外,当可以分开地制备信号传输的路径并且可以分开地标识耦合位置时,用于将各块彼此连接的手段不限于突出部段104与凹入部段106之间的耦合,而是可以通过钩环紧固器、磁体、粘接带、粘合剂等得以实现。分开地制备路径的信号传输的路径可以是无线电通信的机制。The protruding sections 104 and recessed sections 106 of the communication blocks also function as terminals enabling signal transmission between the blocks. To this end, the ends of the respective segments are equipped with connectors having a structure conforming to the standard or bus etc. provided within the block. Both signal transmission and physical coupling between blocks can be achieved by employing various kinds of connectors that are generally used or providing dedicated special connectors. In addition, when the signal transmission path can be separately prepared and the coupling position can be separately identified, the means for connecting the pieces to each other is not limited to the coupling between the protruding section 104 and the concave section 106, but can be made by hooks. Ring fasteners, magnets, adhesive tapes, adhesives and more are realized. The path of the signal transmission of the separately prepared path may be a mechanism of radio communication.
此外,通信块的某些块(在图2的情况下,四边形棱柱块102b)可以包括两个块:弯曲和伸展杆110,其使得两个块能够弯曲且伸展;以及电位计,其检测各块之间所形成的角度。顺便一提,除了如附图中所描述的穿透一个块的弯曲和伸展杆110的两末端与另一块的突出接合的形式之外,弯曲和伸展机构可以是两个块通过铰链、能够弯曲且伸展的金属等彼此耦合的形式,或可以是具有多个自由度的机构(该机构类似于球体接合玩偶等中的接头),并且并非特定地受限于此。可以使得各块之间的角度可连续地改变,或可以使得其可按多个步长改变。此外,杆的取向不限于附图中所描述的取向。Additionally, some of the communication blocks (in the case of FIG. 2 , quadrilateral prism block 102b ) may include two blocks: a bend and stretch rod 110 that enables the two blocks to bend and stretch; The angle formed between the blocks. By the way, in addition to the form in which both ends of the bending and stretching rod 110 penetrating one block are engaged with the protrusions of the other block as described in the drawings, the bending and stretching mechanism may be two blocks that can be bent through a hinge. And the form in which stretched metals and the like are coupled to each other, or may be a mechanism with multiple degrees of freedom which is similar to a joint in a ball joint doll or the like, is not particularly limited thereto. The angle between the blocks may be made continuously changeable, or it may be made changeable in multiple steps. Furthermore, the orientation of the rods is not limited to the orientation depicted in the figures.
甚至在用户将手从块拿开之后,也优选地保持作为构成元件的各块之间的角度。顺便一提,可以通过与电位计不同的角度传感器来测量各块之间的角度。例如,当一块在其内包括测量对于另一块的相对角度的传感器时,块并不一定需要彼此连接。此外,如稍后所描述的,一个块可以被配置为:能够弯曲且伸展,或能够旋转,并且可以测量块的弯曲和伸展角度或旋转角度。Even after the user removes the hand from the blocks, the angles between the blocks as constituent elements are preferably maintained. By the way, the angle between the blocks can be measured by an angle sensor other than a potentiometer. For example, when a piece includes within it a sensor that measures a relative angle to another piece, the pieces do not necessarily need to be connected to each other. Also, as described later, one block can be configured to be able to bend and stretch, or to be able to rotate, and the bending and stretching angle or the rotation angle of the block can be measured.
下文中,用于这样使得角度可变的机构可以被称为“接头”,并且其相对角度根据接头的移动而改变的两个块可以被称为“链接”。此外,可以根据来自信息处理设备10的请求使得这样具有接头的通信块的接头角度可控制。在此情况下,通信块配备有用于控制接头角度的致动器(诸如,伺服电机等)。Hereinafter, a mechanism for making the angle variable in this way may be referred to as a "joint", and two blocks whose relative angles are changed according to movement of the joint may be referred to as a "link". Furthermore, the joint angle of such a communication block having a joint can be made controllable according to a request from the information processing device 10 . In this case, the communication block is equipped with an actuator (such as a servo motor, etc.) for controlling the joint angle.
此外,通信块的某些块(在图2的情况下,板形块102i)可以具有从侧表面突出的可旋转杆109。安装在多个杆109上的轮使得块能够如在车辆的情况下那样移动。可以通过由用户推动块来实现移动,或可以根据来自信息处理设备10的请求来实现移动。在后一情况下,通信块配备有用于旋转杆的致动器(诸如电机等)。在杆109为轮轴的情况下,可以提供用于改变轮的取向的机构(诸如齿条或齿轮等),并且还根据来自信息处理设备10的请求使得该机构可由致动器控制。In addition, some of the communication blocks (in the case of FIG. 2 , plate-shaped blocks 102i) may have rotatable rods 109 protruding from the side surfaces. Wheels mounted on bars 109 enable the mass to move as in the case of a vehicle. The movement may be realized by pushing the blocks by the user, or may be realized according to a request from the information processing device 10 . In the latter case, the communication block is equipped with an actuator (such as a motor, etc.) for rotating the lever. Where the lever 109 is a wheel shaft, a mechanism for changing the orientation of the wheel, such as a rack or pinion, may be provided and also made controllable by an actuator according to a request from the information processing device 10 .
此外,通信块的某些块在其内包括加速度传感器、陀螺仪传感器、地磁传感器等之一或多个加速度传感器、陀螺仪传感器、地磁传感器等的组合以及运动感测功能(诸如,使用相机和附接到对象的标记物或对象的形状本身等来跟踪姿势的方法)。根据将要通过使用块集合实现的信息处理来确定要包括传感器的块以及要被包括的传感器的种类和组合。可替换地,在组装之时用户从各种变型中选择要包括传感器的块以及要被包括的传感器的种类和组合。In addition, some of the communication blocks include therein one or a combination of acceleration sensors, gyro sensors, geomagnetic sensors, etc., and motion sensing functions such as using cameras and A method of tracking gestures such as markers attached to an object, or the object's shape itself, etc.). The blocks to include sensors and the kind and combination of sensors to be included are determined according to information processing to be realized by using a set of blocks. Alternatively, the user selects the block to include the sensor and the kind and combination of the sensor to be included from among various variations at the time of assembly.
此外,通信块的某些块(在图2的情况下,四边形棱柱块102a)可以配备有标记物108。标记物108用于在待稍后描述的相机所拍摄的图像中根据标记物108的位置和尺寸标识三维空间中的位置。因此,标记物108被形成为如下这样:具有可以通过匹配处理等从所拍摄的图像检测出的尺寸、形状和色彩。例如,标记物108可以是包含光学透明球形树脂内的普通发光主体(诸如发光二极管、电灯泡等)的球形主体,或者标记物108可以是条形码、二维码等。当多个块配备有标记物108时,标记物108可以在色彩方面随着块而变化。Furthermore, some of the communication blocks (in the case of FIG. 2 , quadrangular prism blocks 102 a ) may be equipped with markers 108 . The marker 108 is used to identify a position in a three-dimensional space according to the position and size of the marker 108 in an image captured by a camera to be described later. Therefore, the marker 108 is formed to have a size, shape, and color that can be detected from a captured image by matching processing or the like. For example, marker 108 may be a spherical body comprising a general light emitting body such as a light emitting diode, light bulb, etc. within an optically transparent spherical resin, or marker 108 may be a barcode, a QR code, or the like. When multiple blocks are equipped with markers 108, the markers 108 may vary in color from block to block.
典型地通过合成树脂来形成通信块和非通信块的外壳。然而,通信块和非通信块的外壳的材料并不受限,且可以是金属、玻璃等。因为非通信块具体地不包括通信机构等,所以可以自由地确定非通信块的材料、形状和尺寸。例如,非通信块可以是各个种类的部件(诸如,使用布料创造的衣服、使用橡胶创造的玩偶的头等),或可以是附加事物(诸如,武器、饰物等)。用户他本身/她本身可以制作非通信块。非通信块可以是例如通过切削橡皮擦、粘土工件、以纸张制成的工件、以折叠纸张制成的工件等所形成的实心主体。此外,非通信块可以是例如具有通过从通信块或显示图像的显示设备受激励而发射预定色彩的光的LED的块。The housings of the communication block and the non-communication block are typically formed by synthetic resin. However, the material of the housing of the communication block and the non-communication block is not limited, and may be metal, glass, or the like. Since the non-communication block specifically does not include a communication mechanism or the like, the material, shape, and size of the non-communication block can be freely determined. For example, non-communicating pieces may be various kinds of parts (such as clothes created using cloth, doll's heads created using rubber, etc.), or may be additional things (such as weapons, charms, etc.). The user himself/herself can make non-communication blocks. A non-communicating piece may be a solid body formed, for example, by cutting an eraser, a clay workpiece, a workpiece made of paper, a workpiece made of folded paper, or the like. In addition, the non-communication block may be, for example, a block having LEDs that emit light of a predetermined color by being excited from a communication block or a display device that displays an image.
根据本实施例的信息处理设备10通过互补地使用关于块集合的骨架形状、姿态等的信息(该信息可以通过与通信块的通信来获取)以及关于由相机122所拍摄的外部形状的信息以高准确度标识块的状态。因此,可以通过使用非通信块来自由地表示块集合的外部外观。例如,具有包括通信块的形状的块(诸如,图2中的矩形平行六面体块102j或圆形圆柱块102k)可以被实现为非通信块。The information processing apparatus 10 according to the present embodiment uses information on the skeleton shape, posture, etc. of the block set (which can be acquired through communication with the communication block) and information on the external shape captured by the camera 122 to obtain High accuracy identifies the state of the block. Therefore, the external appearance of a collection of blocks can be freely expressed by using non-communicating blocks. For example, a block having a shape including a communication block, such as a rectangular parallelepiped block 102j or a circular cylindrical block 102k in FIG. 2 , may be implemented as a non-communication block.
图3仅描述图1中所描述的块集合120的通信块的结构。具体地,通过从图1的块集合120排除作为非通信块的矩形平行六面体块102j和圆形圆柱块102k并且由图2中所描述的四边形棱柱块102a和102b、立方体块102d以及接头块102h来形成附图中的块集合120a。在各块中,四边形棱柱块102b中的较低块和立方体块102d分别被图1中的块集合120中的作为非通信块的矩形平行六面体块102j和圆形圆柱块102k所包含。因而四边形棱柱块102b中的较低块和立方体块102d从外部不可见。这些通信块所构成的结构也可以被看作构成整个块集合120的骨架。由所组装的块集合120中的通信块构成的部件将在下文中被称为“核心(core)”。FIG. 3 only depicts the structure of the communication blocks of the block set 120 described in FIG. 1 . Specifically, by excluding the rectangular parallelepiped block 102j and the circular cylinder block 102k as non-communication blocks from the block set 120 of FIG. to form block set 120a in the figure. Among the blocks, the lower block of the quadrangular prism block 102b and the cubic block 102d are respectively contained by the rectangular parallelepiped block 102j and the circular cylindrical block 102k which are non-communication blocks in the block set 120 in FIG. 1 . The lower ones of the quadrangular prism blocks 102b and the cubic blocks 102d are thus not visible from the outside. The structure formed by these communication blocks can also be regarded as the skeleton forming the entire set of blocks 120 . The component constituted by the communication blocks in the assembled block set 120 will be referred to as "core" hereinafter.
本实施例通过由构成核心的通信块中所包括的运动传感器和电位计检测必要参数,来高效地计算块集合120的姿态和形状。例如,在图3中的块集合102a的情况下,可以基于以下而推导每个块的取向并且进而推导块集合120的中心轴的形状和姿态:(1)每个块的耦合位置以及块的种类;(2)四边形棱柱块102a或102b的倾斜矢量m1;(3)构成四边形棱柱块102b的两个块之间的角度θ;以及(4)相应块的长度L1、L2、L3、L4和L5。The present embodiment efficiently calculates the pose and shape of the block set 120 by detecting necessary parameters by motion sensors and potentiometers included in the communication blocks constituting the core. For example, in the case of block set 102a in FIG. 3 , the orientation of each block and thus the shape and pose of the central axis of block set 120 can be derived based on: (1) the coupling position of each block and the position of the block Kind; (2) the inclination vector m1 of the quadrilateral prism block 102a or 102b; (3) the angle θ between the two blocks constituting the quadrilateral prism block 102b; and (4) the lengths L1, L2, L3, L4 and L5.
假定在各块之间由信号传输标识上述(1)和(4)并且可以由电位计测量上述(3),那么在四边形棱柱块102a或102b中包括运动传感器以测量上述(2)是必要且充分的。可替换地,选择包括运动传感器的块作为四边形棱柱块102a或102b是充分的。Given that (1) and (4) above are identified by signal transmission between the blocks and (3) above can be measured by a potentiometer, it is necessary and full. Alternatively, it is sufficient to select a block including a motion sensor as the quadrangular prism block 102a or 102b.
此外,通过使用由相机122所拍摄的图像来标识真实世界的三维空间中的块集合的位置坐标。在此,当相机122是立体相机时,可以获取相对于相机122的深度方向以及相机的场平面所形成的三维空间中的块集合的绝对位置。通过使用由立体相机从彼此不同的左视点和右视点所拍摄的图像中的视差根据三角测量原理来获取三维空间中的对象的位置的技术是众所周知的。可以使用与双目立体影像不同的深度或三维信息获取装置来替代立体相机。例如,可以使用视点移动相机,或可以通过使用红外辐射机制和检测反射光的红外传感器的飞行时间(TOF)的方法来标识块集合的位置。可以在放置块集合120的台座的顶部表面上提供触摸面板,并且可以由触摸面板来检测块集合120被放置的位置。In addition, the position coordinates of the block set in the three-dimensional space of the real world are identified by using the image captured by the camera 122 . Here, when the camera 122 is a stereo camera, the absolute position of the block set in the three-dimensional space formed with respect to the depth direction of the camera 122 and the field plane of the camera may be acquired. A technique of acquiring the position of an object in a three-dimensional space according to the principle of triangulation by using parallax in images captured by a stereo camera from mutually different left and right viewpoints is well known. Instead of a stereo camera, a depth or three-dimensional information acquisition device different from a binocular stereo image may be used. For example, a point-of-view camera can be used, or the location of the set of blocks can be identified by a time-of-flight (TOF) method using an infrared radiation mechanism and an infrared sensor that detects reflected light. A touch panel may be provided on the top surface of the pedestal on which the block set 120 is placed, and a position where the block set 120 is placed may be detected by the touch panel.
可替换地,如附图中所描述的,当使用配备有标记物108的四边形棱柱块102a时,可以基于由单目相机122所拍摄的静止图像或运动图像的帧图像来标识位置。当标记物108是具有已知的色彩、亮度和尺寸的发光主体时,如上所述,可以从所拍摄的图像中容易地检测出标记物的图像。然后,可以从所拍摄的图像中的标记物的图像的位置和尺寸来标识三维空间中的标记物的位置坐标(x1,y1,z1)。在采用其它标记物的情况下,可以应用普通图像识别技术(诸如模式匹配、特征点提取等)。在块集合120移动并且移动的块集合120被拍摄为移动图像的情况下,可以通过应用现有跟踪技术来执行有效率的检测。Alternatively, when using the quadrangular prism block 102 a equipped with the marker 108 as described in the drawings, the position may be identified based on a frame image of a still image or a moving image captured by the monocular camera 122 . When the marker 108 is a light-emitting body of known color, brightness, and size, as described above, the image of the marker can be easily detected from the captured image. Then, the position coordinates (x1, y1, z1) of the marker in the three-dimensional space can be identified from the position and size of the image of the marker in the captured image. In the case of using other markers, common image recognition techniques (such as pattern matching, feature point extraction, etc.) can be applied. In a case where the set of blocks 120 moves and the moved set of blocks 120 is photographed as a moving image, efficient detection may be performed by applying an existing tracking technique.
顺便一提,标记物108可以是发射不可见光(诸如红外线等)的设备。在此情况下,分开地引入检测不可见光的设备以检测标记物108的位置。相似地,可以使用深度传感器、超声传感器、声音传感器等。可以通过组合上述绝对位置检测方法中的两个或更多个来计算最终位置坐标。图4示意性地描述这样推导的核心的中心轴。如附图中所描述的,标识三维空间中的中心轴124的位置、姿态和形状。三维空间可以是相机122的相机坐标系统,或可以是相机122的相机坐标系统所转换的期望坐标系统。核心或块集合的位置、姿态和形状可以在下文中统称为“状态”。Incidentally, the marker 108 may be a device that emits invisible light (such as infrared rays, etc.). In this case, a device for detecting invisible light is introduced separately to detect the position of the marker 108 . Similarly, depth sensors, ultrasonic sensors, sound sensors, etc. may be used. The final position coordinates can be calculated by combining two or more of the above-mentioned absolute position detection methods. Figure 4 schematically depicts the central axis of the core thus derived. As depicted in the drawings, the position, attitude and shape of the central axis 124 in the three-dimensional space are identified. The three-dimensional space may be the camera coordinate system of the camera 122 , or may be a desired coordinate system transformed from the camera coordinate system of the camera 122 . The position, pose and shape of a core or collection of blocks may be collectively referred to as a "state" hereinafter.
图5示意性地描述通信块的内部配置的示例。可以通过提供各种变型作为块的内部配置而根据用途来正确地使用块,如上所述。此外,当提供被假设为对于标识核心的状态是必要的传感器以便分布在多个块中时,可以避免过多包括传感器,并且因而可以减少制造成本。Fig. 5 schematically depicts an example of an internal configuration of a communication block. The block can be used properly according to the usage by providing various variations as the internal configuration of the block, as described above. Furthermore, when sensors assumed to be necessary for identifying the state of a core are provided so as to be distributed in a plurality of blocks, excessive inclusion of sensors can be avoided, and thus manufacturing costs can be reduced.
在图5的示例中,块126a包括电池128a、通信机构130a、存储器132a、位置传感器134以及运动传感器136a。假设在此情况下,通信机构130a不仅包括经由连接终端从另一块接收信号的有线通信机构,而且还包括执行与信息处理设备10的无线电通信的机构。存储器132a保存块126a的标识编号。标识编号与信息处理设备10中的信息(诸如块126a的尺寸、块126a的凹入部段或突出部段的位置等)关联。对相同种类的块可以给出相同的标识编号。可替换地,标识编号可以是对于每个块唯一设置的,以便可用于所组装的块集合内的信号传输的路由等。In the example of FIG. 5, block 126a includes battery 128a, communication mechanism 130a, memory 132a, position sensor 134, and motion sensor 136a. Assume in this case that the communication mechanism 130 a includes not only a wired communication mechanism that receives a signal from another piece via a connection terminal but also a mechanism that performs radio communication with the information processing device 10 . Memory 132a holds the identification number of block 126a. The identification number is associated with information in the information processing apparatus 10 such as the size of the block 126a, the position of the concave section or the protruding section of the block 126a, and the like. Blocks of the same kind can be given the same identification number. Alternatively, the identification number may be uniquely set for each block so as to be useful for routing of signal transmissions etc. within the assembled set of blocks.
位置传感器134是用于获取块126a的绝对位置的传感器。位置传感器134还包括用于图像识别的标记物。然而,在标记物的情况下,由标记物和安装在外部的相机122的组合来检测绝对位置,如上所述。运动传感器136a是加速度传感器、陀螺仪传感器和地磁传感器以及使用相机的方法等之一或其中的两个或更多个的组合,如上所述。The position sensor 134 is a sensor for acquiring the absolute position of the block 126a. The position sensor 134 also includes markers for image recognition. However, in the case of a marker, the absolute position is detected by a combination of the marker and the externally mounted camera 122, as described above. The motion sensor 136a is one or a combination of two or more of an acceleration sensor, a gyro sensor, and a geomagnetic sensor, and a method using a camera, etc., as described above.
块126b包括电池128b、通信机构130b、存储器132b以及运动传感器136b。该机构可以与块126a的上述机构相似。然而,可以仅通过从另一块接收信号的有线通信机构来形成通信机构130b。这样的块与能够与信息处理设备10进行通信的块126a结合使用。同样的情况对于其它块的通信机构成立。Block 126b includes battery 128b, communication mechanism 130b, memory 132b, and motion sensor 136b. The mechanism may be similar to that described above for block 126a. However, the communication mechanism 130b may be formed only by a wired communication mechanism that receives a signal from another block. Such a block is used in combination with the block 126 a capable of communicating with the information processing device 10 . The same holds true for the communication mechanisms of the other blocks.
块126c包括电池128c、通信机构130c、存储器132c、角度传感器138以及致动器139a。块126c是具有接头的通信块(诸如图2中的四边形棱柱块102b)。角度传感器138是检测接头角度的传感器(诸如电位计等)。致动器139a根据来自信息处理设备10的控制信号来改变接头角度。与致动器的种类对应的普通技术可以适用于根据控制信号来驱动致动器。Block 126c includes battery 128c, communication mechanism 130c, memory 132c, angle sensor 138, and actuator 139a. Block 126c is a communication block (such as quadrilateral prism block 102b in FIG. 2 ) with joints. The angle sensor 138 is a sensor (such as a potentiometer or the like) that detects the joint angle. The actuator 139 a changes the joint angle according to a control signal from the information processing device 10 . A general technique corresponding to the kind of actuator can be applied to drive the actuator according to the control signal.
块126d包括电池128d、通信机构130d、存储器132d、旋转式编码器141以及致动器139b。块126d是具有向外突出的可旋转杆的通信块(诸如图2中的板形块102i)。当块126d与轮装配时,块126d本身可以手动或自动地推进。可替换地,可以提前整体地提供杆和轮。Block 126d includes battery 128d, communication mechanism 13Od, memory 132d, rotary encoder 141, and actuator 139b. Block 126d is a communication block (such as plate-shaped block 102i in FIG. 2 ) having a rotatable lever protruding outward. When the block 126d is assembled with the wheels, the block 126d itself can be advanced manually or automatically. Alternatively, rods and wheels may be integrally provided in advance.
旋转式编码器141是检测轮的旋转量的传感器。致动器139b是根据来自信息处理设备10的控制信号来旋转轮的电机等。块126e包括通信机构130e和存储器132e。也就是说,块126e既不包括电池,也不包括传感器。因此,块126e与包括电池的另一块126a或126b组合来进行使用。The rotary encoder 141 is a sensor that detects the amount of rotation of the wheel. The actuator 139 b is a motor or the like that rotates a wheel according to a control signal from the information processing apparatus 10 . Block 126e includes communication mechanism 130e and memory 132e. That is, block 126e includes neither a battery nor a sensor. Therefore, the block 126e is used in combination with another block 126a or 126b including a battery.
顺便一提,图5的通信块仅为示例,并且可以通过任何方式组合各个种类的传感器或其它机构。例如,可以不仅提供接头和轮轴而且还提供改变转向方向并且移置(displace)块的一部分的机构作为块集合的移动部件。可以由根据来自信息处理设备10的控制信号而驱动的致动器来移动这些机构。此外,可以提供LED或显示设备。可以提供对所连接的非通信块进行激励的机构。另外,除了附图中所描述的传感器之外,还可以包括实际使用中的任何传感器。Incidentally, the communication block of FIG. 5 is only an example, and various kinds of sensors or other mechanisms may be combined in any way. For example, not only joints and axles but also mechanisms that change the steering direction and displace part of the mass may be provided as moving parts of the mass assembly. These mechanisms can be moved by actuators driven according to control signals from the information processing device 10 . Additionally, LED or display devices may be provided. Mechanisms may be provided to energize connected non-communicating blocks. In addition, any sensor in actual use may be included in addition to the sensors described in the drawings.
以如图2中所描述的各种形状来制备具有这些各种内部配置的通信块。可以制备相同种类的多个块。可替换地,所有块可以具有统一的形状和统一的尺寸,或可以具有统一的内部配置。当形状和内部配置变化时,可以单独地购买各个种类的块,可以根据每个个体用户的使用以最小成本来灵活地组装期望的块集合。可以首先提供能够组装的基本块集合,并且此后可以购买附加块。Communication blocks with these various internal configurations were prepared in various shapes as depicted in FIG. 2 . Multiple blocks of the same kind can be prepared. Alternatively, all blocks may have a uniform shape and a uniform size, or may have a uniform internal configuration. When the shape and internal configuration vary, each kind of block can be purchased individually, and a desired block set can be flexibly assembled at minimum cost according to each individual user's use. A collection of basic blocks that can be assembled may be provided initially, and additional blocks may be purchased thereafter.
图6详细描述块集合120和信息处理设备10的配置。待描述为执行图6中的各种处理的功能块的元件可以在硬件方面由中央处理单元(CPU)、存储器或另一LSI来配置,或在软件方面由加载到存储器等中的程序来实现。此外,如上所述,块集合120中的块包括通信机构、存储器、各个种类的传感器以及致动器。因此,本领域技术人员应当理解,这些功能块可以通过仅硬件、仅软件或其组合以各种形式实现,并且不限于任何形式之一。FIG. 6 describes the configuration of the block set 120 and the information processing device 10 in detail. Elements to be described as functional blocks that execute various processes in FIG. 6 may be configured in terms of hardware by a central processing unit (CPU), a memory, or another LSI, or realized in terms of software by a program loaded into a memory or the like . Furthermore, as described above, the blocks in the block set 120 include communication mechanisms, memory, various kinds of sensors, and actuators. Therefore, those skilled in the art should understand that these functional blocks can be realized in various forms by only hardware, only software or a combination thereof, and are not limited to any one of the forms.
如上所述,由用户通过选择和组装每个块来形成块集合120。图6描述所组装的块集合中的核心的部件的功能块。构成核心的通信块被设置为第一块142a、第二块142b、第三块142c……等。为了防止信息的复杂化,在形成块集合120的通信块当中,基本上仅一个块建立与信息处理设备10的通信。相应地对第一块142a赋予集线器的作用。然后,以至第一块142a的最远连接关系中的通信块开始来传输信息,并且在第一块142a中聚合关于整个核心的信息。As described above, the collection of blocks 120 is formed by the user by selecting and assembling each block. Figure 6 depicts the functional blocks of the core components in the assembled set of blocks. The communication blocks constituting the core are set as a first block 142a, a second block 142b, a third block 142c, . . . and so on. In order to prevent complication of information, basically only one block establishes communication with the information processing device 10 among the communication blocks forming the block set 120 . Accordingly, the role of a hub is assigned to the first block 142a. Then, information is transferred starting with the communication block in the farthest connection relationship to the first block 142a, and information on the entire core is aggregated in the first block 142a.
下文中,在块的连接中相对靠近第一块142a的块将被称为“较高级别”块,在块的连接中相对远离第一块142a的块将被称为“较低级别”块。可以提前确定要被设置为第一块142a的一个块。可替换地,具有与信息处理设备10进行通信的机构的块可以配备有附图中未描述的开关等,并且其开关由用户打开的块可以被设置为第一块142a。可替换地,在组装级中首先建立与信息处理设备10的通信的块可以被设置为第一块142a。Hereinafter, blocks relatively closer to the first block 142a in the connection of blocks will be referred to as "higher-level" blocks, and blocks relatively farther from the first block 142a in the connection of blocks will be referred to as "lower-level" blocks . One block to be set as the first block 142a may be determined in advance. Alternatively, a block having a mechanism for communicating with the information processing apparatus 10 may be equipped with a switch or the like not described in the drawings, and a block whose switch is turned on by the user may be set as the first block 142a. Alternatively, a block that first establishes communication with the information processing device 10 in the assembly level may be set as the first block 142a.
当用户将另一通信块耦合到这样确定的第一块142a时,该块变为第二块142b。当又一通信块耦合到第二块142b时,该块变为第三块142c。顺便一提,虽然附图仅描述三个通信块,但构成核心的通信块的数量并不受限。可以以相似的方式来考虑一个通信块或四个或更多个通信块的配置和操作。When the user couples another communication block to the thus determined first block 142a, the block becomes the second block 142b. When a further communication block is coupled to the second block 142b, that block becomes the third block 142c. Incidentally, although the drawing depicts only three communication blocks, the number of communication blocks constituting the core is not limited. The configuration and operation of one communication block or four or more communication blocks can be considered in a similar manner.
第一块142a、第二块142b和第三块142c分别包括第一通信区段143a、143b和143c、元件信息获取区段144a、144b和144c以及第二通信区段146a、146b和146c。第二块142b还包括驱动区段148。然而,可以在任何其它通信块中提供驱动区段148。第一通信区段143a、143b和143c接收从直接连接到第一通信区段143a、143b和143c的较低级别块所发送的信息。在此情况下接收到的信息包括在比对应块更低的级别处连接的块的标识编号、耦合位置的标识编号以及由内置传感器进行的测量的结果。当多个块彼此耦合时,信息沿着从最低级别块通过块的每个通路而叠加。The first block 142a, the second block 142b, and the third block 142c include first communication sections 143a, 143b, and 143c, component information acquisition sections 144a, 144b, and 144c, and second communication sections 146a, 146b, and 146c, respectively. The second block 142b also includes a drive section 148 . However, the drive section 148 may be provided in any other communication block. The first communication sections 143a, 143b, and 143c receive information transmitted from lower-level blocks directly connected to the first communication sections 143a, 143b, and 143c. The information received in this case includes the identification numbers of the blocks connected at a lower level than the corresponding blocks, the identification numbers of the coupling positions and the results of the measurements made by the built-in sensors. When multiple blocks are coupled to each other, information is superimposed along each path through the block from the lowest level block.
元件信息获取区段144a、144b和144c包括对应块中内置的传感器以及在用于连接其它块的位置处所设置的终端。元件信息获取区段144a、144b和144c获取与传感器进行的测量的结果以及较低级别块连接到的位置有关的信息。第二通信区段146a、146b和146c将由对应块的元件信息获取区段144a、144b和144c所获取的信息添加到由第一通信区段143a、143b和143c所接收的信息,由第一通信区段143a、143b和143c所接收的信息包括较低级别块的标识编号、耦合位置的标识编号以及由内置传感器进行的测量的结果。第二通信区段146a、146b和146c将所得的信息作为信号发送到直接连接的较高级别块。然而,第一块142a的第二通信区段146a将信息发送到信息处理设备10。此外,第二通信区段146a例如通过从信息处理设备10接收处理开始和结束请求信号、建立通信所必需的各个种类的信号、用于驱动块集合的致动器的控制信号等来用作与信息处理设备10的接口。The component information acquisition sections 144a, 144b, and 144c include sensors built in corresponding blocks and terminals provided at positions for connecting other blocks. The element information acquisition sections 144a, 144b, and 144c acquire information on the results of measurements made by the sensors and the locations to which lower-level blocks are connected. The second communication sections 146a, 146b, and 146c add the information acquired by the component information acquisition sections 144a, 144b, and 144c of the corresponding blocks to the information received by the first communication sections 143a, 143b, and 143c. The information received by sections 143a, 143b and 143c includes identification numbers of lower level blocks, identification numbers of coupling locations and results of measurements made by built-in sensors. The second communication sections 146a, 146b and 146c signal the resulting information to directly connected higher level blocks. However, the second communication section 146 a of the first block 142 a transmits information to the information processing device 10 . In addition, the second communication section 146a is used, for example, by receiving processing start and end request signals from the information processing apparatus 10, various kinds of signals necessary to establish communication, control signals for driving actuators of block sets, and the like. interface of the information processing device 10 .
当从信息处理设备10发送用于驱动致动器的控制信号时,信号依次从第一块142a传送到较低级别块。具体地,相应块的第一通信区段143a、143b和143c将信号发送到直接连接的较低级别块。相应块的第二通信区段146b和146c从直接连接的较高级别块接收信号。第二块142b的驱动区段148包括改变接头角度或使轮轴旋转的致动器。当在从较高级别块发送的控制信号中将第二块142b指定为待驱动的对象时,驱动区段148以与控制信号对应的量来移动致动器。When a control signal for driving an actuator is sent from the information processing apparatus 10, the signal is sequentially transmitted from the first block 142a to lower-level blocks. Specifically, the first communication sections 143a, 143b, and 143c of the corresponding blocks transmit signals to directly connected lower-level blocks. The second communication sections 146b and 146c of the respective blocks receive signals from directly connected higher-level blocks. The drive section 148 of the second block 142b includes actuators that change the joint angle or rotate the axle. When the second block 142b is designated as an object to be driven in the control signal transmitted from the higher-level block, the driving section 148 moves the actuator by an amount corresponding to the control signal.
信息处理设备10包括:核心信息接收区段20,其从块集合120中的第一块142a接收与核心的状态有关的信息;结构分析区段22,其基于由相机122所拍摄的图像以及与核心的状态有关的信息来标识块集合120的形状、姿态和位置;信息处理区段30,其根据块集合120的形状、姿态和位置或输入设备14上的用户操作来执行预定信息处理;显示处理区段32,其生成待显示为信息处理的结果的图像,并且将图像输出到显示设备16;以及驱动控制区段34,其发送用于控制块集合120的操作的信号。信息处理设备10还包括:块信息存储区段24,其存储与个体块有关的信息;模型数据存储区段26,其存储待显示在显示设备16上的3D对象的模型数据;以及对应信息存储区段28,其存储块集合和3D对象的部件与移动之间的对应信息。The information processing device 10 includes: a core information receiving section 20 that receives information related to the state of the core from the first block 142a in the block set 120; The state-related information of the core to identify the shape, posture and position of the block set 120; the information processing section 30, which performs predetermined information processing according to the shape, posture and position of the block set 120 or the user operation on the input device 14; display A processing section 32 that generates an image to be displayed as a result of information processing and outputs the image to the display device 16 ; and a drive control section 34 that sends a signal for controlling the operation of the block set 120 . The information processing device 10 also includes: a block information storage section 24 that stores information related to individual blocks; a model data storage section 26 that stores model data of 3D objects to be displayed on the display device 16; and corresponding information storage Section 28, which stores the correspondence information between the set of blocks and the parts and movements of the 3D object.
核心信息接收区段20接收包括与构成核心的通信块的标识编号、通信块的耦合位置以及由内置传感器进行的测量的结果有关的信息的信号,所述信息由块集合120中的第一块142a聚合。结构分析区段22从相机122获取通过对块集合120进行拍摄所获取的运动图像或静止图像的数据。然后,将由核心信息接收区段20接收到的信息以及从所拍摄的图像获取的信息进行整合,以标识整个块集合120的位置、姿态和形状。来自块集合120的信号以及来自相机122的图像数据是瞬时输入的。因此,假设在来自块集合120的信号与来自相机122的数据之间建立时间上(temporal)的对应。然而,取决于必要的时间上的分辨率,可以执行同步处理等。The core information receiving section 20 receives a signal including information on the identification numbers of the communication blocks constituting the core, the coupling positions of the communication blocks, and the results of measurements made by built-in sensors, the information being determined by the first block in the block set 120. 142a polymerized. The structure analysis section 22 acquires data of a moving image or a still image acquired by photographing the block set 120 from the camera 122 . Then, the information received by the core information receiving section 20 and the information obtained from the captured image are integrated to identify the position, posture and shape of the entire block set 120 . Signals from block set 120 and image data from camera 122 are input instantaneously. Therefore, it is assumed that a temporal correspondence is established between the signal from the set of blocks 120 and the data from the camera 122 . However, depending on necessary temporal resolution, synchronization processing and the like may be performed.
结构分析区段22基于来自核心信息接收区段20的信息来标识块集合120的核心的形状和姿态。例如,基于构成核心的通信块的标识编号来推导关于图3中的L1至L5的信息。此外,根据真实耦合位置的标识编号以及角度传感器的信息来标识各块之间所形成的耦合位置和角度。此外,从运动传感器的信息推导图3中的矢量m1。基于从相机122发送的所拍摄的图像、从所拍摄的图像生成的深度图像等,来标识与三维空间中的块集合120的位置以及包括非通信块的块集合120的表面形状有关的信息。The structure analysis section 22 identifies the shape and pose of the core of the block set 120 based on the information from the core information receiving section 20 . For example, the information on L1 to L5 in FIG. 3 is derived based on the identification numbers of the communication blocks constituting the core. In addition, the coupling position and angle formed between the blocks are identified according to the identification number of the real coupling position and the information of the angle sensor. Furthermore, the vector m1 in Fig. 3 is derived from the information of the motion sensor. Information about the position of the block set 120 in three-dimensional space and the surface shape of the block set 120 including non-communication blocks is identified based on the captured image transmitted from the camera 122, a depth image generated from the captured image, and the like.
此时,从图像中检测核心中所包括的通信块的图像(诸如例如图3中的标记物108等)。将标记物108设置为基准部件,并且从深度图像等推导标记物108的位置。然后,可以根据从基准部件连接的核心的结构(诸如图4中的中心轴124)以及非通信块的图像与基准部件的图像的位置关系,来标识核心与非通信块之间的位置关系并且进而标识整个块集合的位置、姿态和形状。当以预定频率执行该处理时,甚至可以实时地识别处于正在被用户组装的过程中的块集合的结构。At this time, an image of a communication block included in the core (such as, for example, the marker 108 in FIG. 3 , etc.) is detected from the image. The marker 108 is set as a reference member, and the position of the marker 108 is derived from a depth image or the like. Then, the positional relationship between the core and the non-communicating block can be identified based on the structure of the core connected from the reference component (such as the central axis 124 in FIG. 4 ) and the positional relationship of the image of the non-communicating block to the image of the reference component and This in turn identifies the position, pose and shape of the entire collection of blocks. When this processing is performed at a predetermined frequency, even the structure of a block set that is in the process of being assembled by the user can be recognized in real time.
块信息存储区段24存储关于用作块集合的各块的基本信息。在通信块的情况下,基本信息是将提前给予块的标识编号关联于与形状、尺寸和其它块可以连接的位置有关的信息的信息。在非通信块的情况下,基本信息是将提前给予块的标识编号关联于外部特征(诸如色彩、图案、材料、纹理等)的信息。在非通信块的情况下,这些外部特征越详细,标识块的准确度就越高。然而,当由信息处理设备10所执行的信息处理不要求标识每个非通信块时,无需存储关于非通信块的信息。The block information storage section 24 stores basic information on each block used as a block set. In the case of a communication block, the basic information is information that associates an identification number given to the block in advance with information on the shape, size, and position where other blocks can be connected. In the case of non-communicating blocks, the basic information is information that associates an identification number given to the block in advance with external features such as color, pattern, material, texture, and the like. In the case of non-communicating blocks, the more detailed these external features are, the more accurately the block can be identified. However, when information processing performed by the information processing device 10 does not require identification of each non-communication block, there is no need to store information on the non-communication block.
信息处理区段30执行将要根据块集合120的状态而执行的处理,该状态由结构分析区段22或经由输入设备14的用户操作来标识。例如,在组装块集合120之后,显示表示块集合的形状的3D对象或与块集合关联的模型的3D对象。然后,使得所显示的3D对象根据块集合120的移动而移动。可替换地,开始计算机游戏,并且使其根据经由输入设备14的用户操作而进展,并且块集合120根据计算机游戏的进展而移动。The information processing section 30 performs processing to be performed according to the state of the block set 120 identified by the structure analysis section 22 or via a user operation of the input device 14 . For example, after the block set 120 is assembled, a 3D object representing the shape of the block set or a 3D object of a model associated with the block set is displayed. Then, the displayed 3D object is caused to move according to the movement of the block set 120 . Alternatively, the computer game is started and made to progress according to user manipulation via the input device 14, and the set of pieces 120 is moved according to the progress of the computer game.
为此,模型数据存储区段26存储由信息处理区段30呈现在显示设备16上所显示的对象模型所需的数据。该对象模型可以是提前设计的(诸如游戏中出现的角色等),或可以由用户根据所组装的块集合来创建。信息处理区段30进一步执行用于将块集合与对象的部件(诸如接头、轮等)彼此关联并且进一步将块集合和对象二者的部件的移动彼此关联的处理。此时,信息处理区段30可以设置所有对应,或可以显示允许用户建立关联并且接收设置输入的设置屏幕。可替换地,它们可以酌情地彼此组合。对应信息存储区段28存储与部件和移动的这样设置的对应关系有关的信息。To this end, the model data storage section 26 stores data required by the information processing section 30 to render the object model displayed on the display device 16 . The object model can be designed in advance (such as a character appearing in a game, etc.), or can be created by the user from a collection of assembled blocks. The information processing section 30 further performs processing for associating the block set and parts of the object (such as joints, wheels, etc.) with each other and further associating the movements of the parts of both the block set and the object with each other. At this time, the information processing section 30 may set all correspondences, or may display a setting screen that allows the user to establish association and receive setting input. Alternatively, they may be combined with each other as appropriate. The correspondence information storage section 28 stores information on such set correspondences of parts and movements.
因此,甚至当用户自由地创建块集合时,不仅块集合的位置而且还有形状和姿态可以与屏幕上的对象互锁(interlock)。例如,可以在真实世界中的块集合中反映游戏的世界,或可以在虚拟世界中的角色中反映块集合的移动。此时,块集合和对象二者的移动并不一定需要彼此完全相同,而是允许通过关联移动来设置各种改变。此外,并不需要实时地反映移动。例如,当存储由用户随时间的流逝而移动的块集合的状态的改变时,可以实现对应对象再现任意时刻的移动的模式。反过来,可以通过简单的操作来创建计算机游戏或动画中的角色的移动。Therefore, even when a user freely creates a block set, not only the position but also the shape and posture of the block set can be interlocked with the object on the screen. For example, the world of a game may be reflected in a block set in the real world, or the movement of a block set may be reflected in a character in a virtual world. At this time, the movement of both the block set and the object does not necessarily need to be exactly the same as each other, but various changes are allowed to be set by associated movement. Furthermore, movement does not need to be reflected in real time. For example, when a change in the state of a block set moved by a user with the lapse of time is stored, a mode in which a corresponding object reproduces movement at an arbitrary time can be realized. In turn, the movement of characters in computer games or animations can be created with simple operations.
在信息处理设备10移动块集合120的模式下,驱动控制区段34根据来自信息处理区段30的请求将控制信号发送到块集合120。具体地,所发送的信号取决于控制系统而变化,并且可以酌情地采取机器人等领域中所普遍使用的技术。所发送的控制信号由块集合120中的第一块142a的第二通信区段146a接收,并且通过块集合120内的信号传输反映在目标块(在图6的情况下,第二块142b)中的驱动区段148的操作中。可替换地,控制信号可以通过无线电通信等直接发送到目标块。In a mode in which the information processing apparatus 10 moves the block set 120 , the drive control section 34 sends a control signal to the block set 120 according to a request from the information processing section 30 . Specifically, the transmitted signal varies depending on the control system, and techniques commonly used in the field of robotics and the like may be adopted as appropriate. The transmitted control signal is received by the second communication section 146a of the first block 142a in the block set 120, and is reflected on the target block (in the case of FIG. 6, the second block 142b) by signaling within the block set 120 The drive section 148 is in operation. Alternatively, the control signal may be directly transmitted to the target block by radio communication or the like.
显示处理区段32创建图像数据以作为信息处理区段30所执行的处理的结果,并且将图像数据显示在显示设备16上。在显示根据块集合120的移动而移动的对象的示例中,以显示设备16的输出帧速率呈现对象以便与块集合120的移动对应,并且输出对象作为显示设备16上的视频信号。可以将普通计算机图形技术应用于呈现处理本身。显示处理区段32进一步在显示设备16上显示用于设置块集合120和对象的部件和移动的彼此的关联的屏幕。在信息处理区段30进行所有关联的情况下,可以显示用于用户检查或校正所设置的对应的屏幕。此外,显示处理区段32酌情地显示与信息处理区段30正在执行的信息处理对应的图像(诸如游戏屏幕等)。The display processing section 32 creates image data as a result of the processing performed by the information processing section 30 and displays the image data on the display device 16 . In the example of displaying an object that moves according to the movement of the set of blocks 120 , the object is rendered at the output frame rate of the display device 16 to correspond to the movement of the set of blocks 120 and is output as a video signal on the display device 16 . Common computer graphics techniques can be applied to the rendering process itself. The display processing section 32 further displays, on the display device 16 , a screen for setting association of parts and movements of the block set 120 and objects with each other. In the case where the information processing section 30 makes all the associations, a corresponding screen for the user to check or correct the settings may be displayed. Furthermore, the display processing section 32 displays an image (such as a game screen or the like) corresponding to the information processing being performed by the information processing section 30 as appropriate.
图7示意性地描述块集合120中的信息传输路径以及所发送的信息的示例。在信息传输路径150中的在其内写入数字的每一个圆圈表示块。各圆圈之间的直线表示块彼此耦合的状态。此外,将圆圈内的数字设置为相应块的标识编号。具有标识编号“1”的块与图6中的第一块142a对应,并且建立与信息处理设备10的通信。此外,图7中的具有标识编号“2”和“3”的块与具有标识编号1的块串行连接,并且可以因此被看作分别与图6中的第二块142b和第三块142c对应。Fig. 7 schematically depicts information transmission paths in block set 120 and an example of the transmitted information. Each circle in which a numeral is written in the information transmission path 150 represents a block. The straight lines between the respective circles represent the state in which the blocks are coupled to each other. Also, set the number inside the circle as the identification number of the corresponding block. A block with identification number "1" corresponds to the first block 142a in FIG. 6, and establishes communication with the information processing device 10. Furthermore, the blocks with identification numbers "2" and "3" in FIG. 7 are connected in series with the block with identification number 1, and can thus be viewed as corresponding to the second block 142b and third block 142c in FIG. 6, respectively. correspond.
另一方面,多个块可以耦合到一个块。在图7的示例中,具有标识编号“2”的块和具有标识编号“5”的块连接到具有标识编号“1”的块。如上所述,具有标识编号“3”的块和具有标识编号“4”的块与具有标识编号“2”按此顺序串行连接。具有标识编号“6”的块和具有标识编号“7”的块彼此与具有标识编号“5”的块并行连接。在本示例中,没有标识编号的块进一步连接到具有标识编号“6”的块,并且具有标识编号“8”的块连接到没有标识编号的块。没有标识编号的块在此情况下与非通信块对应。On the other hand, multiple blocks can be coupled to one block. In the example of FIG. 7 , a block with identification number "2" and a block with identification number "5" are connected to a block with identification number "1". As described above, the block with the identification number "3" and the block with the identification number "4" are connected in series with the identification number "2" in this order. The block with identification number "6" and the block with identification number "7" are connected to each other in parallel with the block with identification number "5". In this example, the block without identification number is further connected to the block with identification number "6", and the block with identification number "8" is connected to the block without identification number. A block without an identification number corresponds in this case to a non-communication block.
如上所述,信息基本上从较低级别块发送到较高级别块。图7描述所发送的信息的内容以及指示发送方向的箭头。从具有标识编号“3”的块发送到具有标识编号“2”的块的信息例如被表达为[3:J2(4)]。这是采用格式“自己的标识编号:提供给块的连接位置的标识编号(被连接到连接位置的块的标识编号)”所形成的信号,并且指示将具有标识编号“4”的块连接到标识编号“3”的连接位置当中的具有标识编号“J2”的位置。然而,附图既不限制信息的格式也不限制内容。As mentioned above, information is basically sent from lower level blocks to higher level blocks. Fig. 7 depicts the content of the information sent and the arrows indicating the direction of sending. Information transmitted from the block with identification number "3" to the block with identification number "2" is expressed as [3:J2(4)], for example. This is a signal formed in the format "Own identification number: identification number provided to the connection position of the block (identification number of the block connected to the connection position)" and indicates that the block with the identification number "4" is connected to The position with the identification number "J2" among the connection positions of the identification number "3". However, the drawings limit neither the format nor the content of the information.
可以通过由具有集线器的作用的块通过搜索将块彼此耦合所形成的网络而执行的排序等,来确定与较高级别的块对应的方向。可以将构成普通信息处理系统的设备树中的连网技术应用于该过程。The direction corresponding to a higher-level block can be determined by sorting or the like performed by a block having a role of a hub by searching a network formed by coupling blocks to each other. The networking technology in the device tree constituting the general information handling system can be applied to this process.
图7中具有标识编号“4”的块在具有标识编号“4”的块所属的连接序列中处于最低级别。因此具有标识编号“4”的块将信息发送到紧接上方的级别处的具有标识编号“3”的块。假设没有其它块连接到具有标识编号“4”的块、具有标识编号“4”的块的连接位置唯一地标识、并且具有标识编号“4”的块不包括任何传感器,那么所发送的信息仅为标识编号“4”的块本身,并且因此所发送的内容被表达为“[4:-]”。“-”指示既不存在传感器测量结果也不存在连接的块。The block with identification number "4" in FIG. 7 is at the lowest level in the connection sequence to which the block with identification number "4" belongs. The block with identification number "4" therefore sends information to the block with identification number "3" at the level immediately above. Assuming that no other blocks are connected to the block with identification number "4", that the connection location of the block with identification number "4" is uniquely identified, and that the block with identification number "4" does not include any sensors, the information sent is only is to identify the block numbered "4" itself, and thus what is sent is expressed as "[4:-]". "-" indicates that neither sensor measurements nor connected blocks exist.
当具有标识编号“3”的块已经从标识编号“4”接收到信号时,具有标识编号“3”的块向紧接上方的级别处的具有标识编号“2”的块发送通过将作为连接位置的标识编号的、已经从标识编号“4”等接收到信号的终端的编号关联于标识编号“4”并且进一步将块本身的标识编号“3”关联于标识编号“4”而获取的信号。该信号的所发送的内容是[3:J2(4)],如上所述。具有标识编号“2”的块类似地生成通过将自己的标识编号关联于连接位置的标识编号(在附图的示例中,“J5”)和所连接的块的标识编号“3”而获取的信号(即[2:J5(3)])。此外,假设具有标识编号“2”的块包括传感器,那么具有标识编号“2”的块还生成通过将指示传感器的测量的结果的信号关联于自己的标识编号而获取的信号。在附图的示例中,测量结果被表达为“结果”。然而,实际上,根据传感器的类型来替换具体数值。When the block with identification number "3" has received a signal from identification number "4", the block with identification number "3" sends a pass to the block with identification number "2" at the level immediately above that will serve as a connection The signal obtained by associating the identification number "4" with the identification number "3" of the block itself with the identification number "4" of the identification number of the position, the number of the terminal that has received the signal from the identification number "4" etc. . The transmitted content of this signal is [3:J2(4)], as described above. A block with identification number "2" is similarly generated by associating its own identification number with the identification number of the connection location (in the example of the drawing, "J5") and the identification number "3" of the connected block. signal (ie [2:J5(3)]). Furthermore, assuming that the block with the identification number "2" includes a sensor, the block with the identification number "2" also generates a signal obtained by associating a signal indicating the result of measurement of the sensor with its own identification number. In the example of the drawings, the measurement result is expressed as "result". However, in reality, specific numerical values are substituted according to the type of sensor.
具有标识编号“2”的块将这样生成的数据以及从较低级别块发送的数据(即[3:J2(4)])发送到紧接上方的级别处的具有标识编号“1”的块。然而,不一定总是同时发送这些信号。例如,当曾经发送的信号的内容改变时,可以仅发送关于改变的信息。同时,假设连接到具有标识编号“5”的块的具有标识编号“6”和“7”的块不包括传感器、并且具有标识编号“6”和“7”的连接位置唯一地标识,那么从这些块将信号[6:-]和[7:-]分别发送到具有标识编号“5”的块,如具有标识编号“4”的块的情况。具有标识编号“6”的块与又一块连接。然而,该块是非通信块,并且因此从非通信块不获取信息。The block with the identification number "2" sends the data thus generated and the data sent from the lower level block (ie [3:J2(4)]) to the block with the identification number "1" at the level immediately above . However, these signals are not always sent at the same time. For example, when the content of a once-transmitted signal is changed, only information on the change may be transmitted. Meanwhile, assuming that the blocks with identification numbers "6" and "7" connected to the block with identification number "5" do not include sensors, and the connection positions with identification numbers "6" and "7" are uniquely identified, then from These blocks send the signals [6:-] and [7:-] respectively to the block with identification number "5", as in the case of the block with identification number "4". The block with identification number "6" is connected with a further block. However, this block is a non-communicating block, and therefore no information is acquired from the non-communicating block.
具有标识编号“5”的块生成通过将自己的标识编号关联于连接位置的标识编号和所连接到的块的标识编号而获取的信号,并且将该信号发送到紧接上方的级别处的具有标识编号“1”的块。当如附图中所描述的多个块连接时,这些块共同由[5:J3(6),J8(7)]等指示。在此,“J3”和“J8”是具有圆括号中的标识编号的块所连接到的连接位置的标识编号。A block with identification number "5" generates a signal obtained by associating its own identification number with the identification number of the connection location and the identification number of the block it is connected to, and sends this signal to the immediately above level with Block number "1" is identified. When multiple blocks are connected as described in the figure, these blocks are collectively indicated by [5: J3(6), J8(7)] and so on. Here, "J3" and "J8" are the identification numbers of the connection positions to which the blocks with the identification numbers in parentheses are connected.
关于块集合的核心的信息被这样聚合在具有标识编号“1”的块中。至于其它块,具有标识编号“1”的块生成通过将自己的标识编号关联于连接位置的标识编号和连接到连接位置的块的标识编号而获取的信号。然后,具有标识编号“1”的块将该信号连同从较低级别块发送的信号一起发送到信息处理设备10。信息处理设备10可以因此连续地获取构成核心的块的标识编号、每个块的连接关系以及包括传感器的块中的测量结果。Information about the core of the set of blocks is thus aggregated in a block with identification number "1". As for the other blocks, a block having an identification number "1" generates a signal obtained by associating its own identification number with the identification number of the connection position and the identification number of the block connected to the connection position. Then, the block with the identification number "1" transmits this signal to the information processing device 10 together with the signal transmitted from the lower-level blocks. The information processing device 10 can thus continuously acquire the identification numbers of the blocks constituting the core, the connection relationship of each block, and the measurement results in the blocks including the sensors.
当一个块被这样设置为具有集线器的作用的块并且信息被这样聚合且然后被发送到信息处理设备10时,可以防止信息的复杂性以及不必要的通信处理。另一方面,在一些情况下,可以执行从多个块到信息处理设备10的通信。例如,在图7的示例中,具有标识编号“8”的块经由非通信块耦合到具有标识编号“6”的块。When one block is thus set as a block having the role of a hub and information is thus aggregated and then transmitted to the information processing device 10, complexity of information and unnecessary communication processing can be prevented. On the other hand, in some cases, communication from a plurality of blocks to the information processing device 10 may be performed. For example, in the example of FIG. 7, a block with identification number "8" is coupled to a block with identification number "6" via a non-communicating block.
在此情况下,具有标识编号“8”的块可以将自己的数据直接发送到信息处理设备10。当所讨论的块包括位置传感器时,例如,块自己的标识编号以及由位置传感器进行的测量的结果被直接发送到信息处理设备10。信息处理设备10可以因此比具有标识编号“6”的块更快地掌握所耦合的块的存在,进一步估计所讨论的块的形状,而且近似(approximate)所讨论的块的连接情况。具有标识编号“8”的块中所包括的传感器的数量越大,信息的准确度就越高。当可以获取多个位置信息的块彼此组合时,也可以准确地标识来自相机122的盲点中的块的结构。In this case, the block with the identification number “8” can directly transmit its own data to the information processing device 10 . When the block in question includes a position sensor, for example, the block's own identification number and the results of measurements made by the position sensor are directly sent to the information processing device 10 . The information processing device 10 can thus grasp the existence of the coupled block faster than the block with the identification number "6", further estimate the shape of the block in question, and approximate the connection situation of the block in question. The greater the number of sensors included in the block with identification number "8", the higher the accuracy of the information. When blocks from which a plurality of position information can be acquired are combined with each other, it is also possible to accurately identify the structure of blocks in the blind spot from the camera 122 .
图8描述通信块的基本信息的数据结构的示例,所述基本信息存储在信息处理设备10的块信息存储区段24中。通信块信息表160包括标识编号字段162、形状字段164、尺寸字段166以及连接位置字段168。标识编号字段162描述提前给予形成块集合的通信块的标识编号。形状字段164描述每个通信块的形状的种类(即,图2所示的块的类型,诸如“四边形棱柱”、“立方体”等))。尺寸字段166描述每个通信块的水平宽度、深度以及垂直长度。FIG. 8 depicts an example of a data structure of basic information of a communication block, which is stored in the block information storage section 24 of the information processing device 10 . The communication block information table 160 includes an identification number field 162 , a shape field 164 , a size field 166 , and a connection location field 168 . The identification number field 162 describes the identification number given in advance to the communication blocks forming the block set. The shape field 164 describes the kind of shape of each communication block (ie, the type of block shown in FIG. 2, such as "quadrilateral prism", "cube", etc.)). Size field 166 describes the horizontal width, depth and vertical length of each communication block.
连接位置字段168描述与连接位置的标识编号关联的被提供给每个通信块的连接位置。在图8的示例中,以格式“连接位置的标识编号(面(face)编号、面内的x坐标、面内的y坐标)”中描述连接位置。提前对于块的每个面唯一地确定面编号。例如,具有标识编号“1”的通信块是具有4cm的水平宽度、4cm的深度以及8cm的垂直长度的四边形棱柱块。具有标识编号“J1”的连接位置位于第一面中的坐标(2,2)的位置处。具有标识编号“J2”的连接位置位于第二面中的坐标(1,2)的位置处。然而,只是表示这些信息,注释的格式并非特定地受限。The connection location field 168 describes the connection location provided to each communication block in association with the identification number of the connection location. In the example of FIG. 8 , the connection position is described in the format "identification number of connection position (face number, x-coordinate in-plane, y-coordinate in-plane)". The face number is uniquely determined for each face of the block in advance. For example, a communication block having an identification number "1" is a quadrangular prismatic block having a horizontal width of 4 cm, a depth of 4 cm, and a vertical length of 8 cm. The connection position with the identification number "J1" is located at the position of coordinates (2, 2) in the first plane. The connection position with identification number "J2" is located at the position of coordinates (1, 2) in the second plane. However, the format of the comments is not particularly limited just to represent such information.
当信息处理设备10保存这样的通信块信息表160时,基于从块集合120发送的信号对于核心标识出图3中所表达的参数。结构分析区段22基于这样标识出的核心的状态以及由相机122所拍摄的图像,来标识包括非通信块的整个块集合120的位置、姿态和形状。图9是辅助解释用于标识包括非通信块的块集合的状态的基本处理的图。附图的左上方描述核心170的状态,该状态是基于由核心信息接收区段20所接收的信息而标识的。根据该信息所标识的是各通信块的连接关系以及核心的形状(该形状基于各通信块的连接关系)。然而,当在内部提供位置传感器时,还标识真实空间中的位置。When the information processing device 10 holds such a communication block information table 160 , the parameters expressed in FIG. 3 are identified for the core based on the signal transmitted from the block set 120 . The structure analysis section 22 identifies the position, pose and shape of the entire set of blocks 120 including non-communicating blocks based on the states of the cores thus identified and the images captured by the camera 122 . FIG. 9 is a diagram of assistance in explaining a basic process for identifying a state of a set of blocks including non-communicating blocks. The upper left of the drawing depicts the state of the core 170 , which is identified based on the information received by the core information receiving section 20 . What is identified according to this information is the connection relationship of each communication block and the shape of the core (the shape is based on the connection relationship of each communication block). However, when a position sensor is provided internally, the position in real space is also identified.
同时,结构分析区段22从相机122所拍摄的图像生成深度图像172。深度图像是示出以距相机的距离作为像素值的在相机122的视场内的对象的图像。可以使用立体相机等作为相机122来生成深度图像,如上所述。图中的深度图像172示意性地表示距离越大亮度越低的图像。在深度图像172中示出整个块集合120的图像,且通信块与非通信块之间没有区别。当在深度图像中检测到属于核心的块的至少一部件(诸如例如标记物等)的图像时,可以标识出该部件在三维空间中的位置坐标(包括该部分距相机的距离)。然后,设置相对于核心170的相机坐标系统,使得在核心170的先前所标识的状态下的图像中所检测的部件存在于位置坐标处。At the same time, the structural analysis section 22 generates a depth image 172 from the image captured by the camera 122 . A depth image is an image showing objects within the field of view of the camera 122 with the distance from the camera as a pixel value. A stereo camera or the like may be used as the camera 122 to generate the depth image, as described above. The depth image 172 in the figure schematically represents an image whose brightness decreases as the distance increases. An image of the entire set of blocks 120 is shown in the depth image 172 with no distinction between communicating and non-communicating blocks. When an image of at least one part (such as eg a marker) belonging to a block of the core is detected in the depth image, the location coordinates of the part in three-dimensional space (including the distance of the part from the camera) can be identified. Then, the camera coordinate system relative to the core 170 is set such that the detected component exists at the position coordinates in the image in the previously identified state of the core 170 .
顺便一提,当检测到核心的图像时,可以使用由相机122所拍摄的色彩图像。然后,可以通过获取从相机122侧观看的核心170与显现为深度图像172的图像的块集合之间的体积差,来标识排除块集合中的核心的部件的非通信块的状态。图9的右边所描述的块集合120的阴影部分是作为差而获取的非通信块。因此,如附图中所描述的,可以标识出包括核心和非通信块的整个块集合120的位置、姿态和形状。此外,当可以通过背景分离等来标识块集合120的图像并且可以基于核心的外表尺寸等来定位图像和核心时,可以仅使用普通拍摄的图像,而不依赖于深度图像。Incidentally, when an image of a kernel is detected, a color image captured by the camera 122 may be used. Then, the status of non-communicating blocks excluding components of the core in the block set can be identified by taking the volume difference between the core 170 viewed from the camera 122 side and the block set of images appearing as the depth image 172 . The shaded parts of the set of blocks 120 depicted on the right side of FIG. 9 are non-communication blocks acquired as differences. Thus, the location, pose and shape of the entire set of blocks 120, including core and non-communicating blocks, can be identified as depicted in the figure. Furthermore, when the image of the block set 120 can be identified by background separation, etc., and the image and core can be located based on the apparent size of the core, etc., it is possible to use only the normally captured image without relying on the depth image.
顺便一提,在图9中所描述的基本处理中,关于非通信块所获取的信息仅为相机的场平面中的二维信息。相应地,当非通信块的基本信息存储在块信息存储区段24中并且对于与场平面中的外表形状和尺寸一致的块进行搜索时,可以提高标识包括深度方向的三维形状的准确度。图10描述信息被存储在信息处理设备10的块信息存储区段24中的非通信块的基本信息的数据结构的示例。Incidentally, in the basic processing described in FIG. 9 , the information acquired on the non-communication block is only two-dimensional information in the field plane of the camera. Accordingly, when basic information of a non-communication block is stored in the block information storage section 24 and a search is performed for a block consistent with the apparent shape and size in the field plane, the accuracy of identifying the three-dimensional shape including the depth direction can be improved. FIG. 10 depicts an example of a data structure of basic information of non-communication blocks whose information is stored in the block information storage section 24 of the information processing device 10 .
非通信块信息表180包括标识编号字段182、形状字段184、尺寸字段186和色彩字段188。标识编号字段182描述提前给予形成块集合的非通信块的标识编号。形状、尺寸和色彩相同的块可以具有相同的标识编号。形状字段184描述每个非通信块的形状的种类(即,图2所示的块的类型,诸如“矩形平行六面体”、“圆形圆柱”等))。尺寸字段186描述每个非通信块的水平宽度、深度(或直径)以及垂直长度。色彩字段188描述每个非通信块的色彩。The non-communication block information table 180 includes an identification number field 182 , a shape field 184 , a size field 186 and a color field 188 . The identification number field 182 describes the identification number given in advance to the non-communication blocks forming the block set. Blocks of the same shape, size and color may have the same identification number. The shape field 184 describes the kind of shape of each non-communication block (ie, the type of block shown in FIG. 2, such as "rectangular parallelepiped", "circular cylinder", etc.)). Size field 186 describes the horizontal width, depth (or diameter) and vertical length of each non-communication block. Color field 188 describes the color of each non-communication block.
形状字段184、尺寸字段186和色彩字段188的信息可以是关于多边形、纹理等的信息,如关于3D图形的对象模型的数据的情况。此外,由非通信块信息表180所保存的信息不限于附图中所描述的信息。例如,当凹入部段等的形状限制了可连接的通信块并且可连接的通信块的标识编号被保存时,可以基于通信块来缩窄可以连接到属于已经标识的核心的通信块的非通信块。结构分析区段22参照非通信块信息表180,并且标识与除了图9中所描绘的深度图像172中的核心之外的部件的图像个体地一致的非通信块。The information of the shape field 184, the size field 186 and the color field 188 may be information about polygons, textures, etc., as is the case with data about object models of 3D graphics. Furthermore, the information held by the non-communication block information table 180 is not limited to the information described in the drawings. For example, when the shape of the recessed section etc. limits the connectable communication blocks and the identification numbers of the connectable communication blocks are saved, the non-communication blocks that can be connected to the communication blocks belonging to the already identified core can be narrowed down based on the communication blocks piece. Structural analysis section 22 refers to non-communicating block information table 180 and identifies non-communicating blocks that are individually consistent with images of components other than the core in depth image 172 depicted in FIG. 9 .
顺便一提,被另一块隐藏的并且因此不能看见的块的准确形状通过在假设该块在初始状态下不存在之后跟踪块集合的移动而以时间演进方式来标识。当部件被隐藏并且甚至当参照非通信块信息表180时也不能确定该部件的形状时,仅对于所隐藏的部件假设某种候选形状,或假设某个面,并且在稍后的时间逐渐地进行校正,以增加形状识别的准确度。Incidentally, the exact shape of a block that is hidden by another block and thus cannot be seen is identified in a time-evolutionary manner by tracking the movement of the set of blocks after assuming that the block does not exist in the initial state. When a part is hidden and the shape of the part cannot be determined even when referring to the non-communication block information table 180, a certain candidate shape is assumed only for the hidden part, or a certain face is assumed, and gradually at a later time Make corrections to increase the accuracy of shape recognition.
图11是辅助解释以时间演进方式标识块集合的形状的处理的图。图中的纵坐标的轴指示时间。假设时间从时间“T1”流逝到“T2”。此外,作为示例,如附图中的最上行中所描绘的,通过将配备有(勾勒描绘的)标记物的四边形棱柱类型的通信块的下一半与(阴影描绘的)圆形圆柱类型的非通信块进行装配来形成块集合190。首先,假设在时间T1,如在附图中,相机122从前面拍摄放置在水平表面上的块集合190。在此情况下,如附图中所描绘的,每个块的侧表面仅显现为所拍摄的图像192a中的图像。FIG. 11 is a diagram of assistance in explaining a process of identifying a shape of a block set in a time-evolving manner. The axis of the ordinate in the figure indicates time. Assume that time elapses from time "T1" to "T2". Furthermore, as an example, as depicted in the uppermost row of the drawings, by combining the lower half of a communication block of quadrangular prism type equipped with markers (outlined) with a non-circular cylinder type (depicted in hatching) Communication blocks are assembled to form block set 190 . First, assume that at time T1, as in the drawing, the camera 122 photographs a block set 190 placed on a horizontal surface from the front. In this case, the side surfaces of each block only appear as images in the captured image 192a, as depicted in the figure.
当如上所述从该图像生成深度图像并且分离地获取与形状被标识的核心的体积差时,剩余部件显然是四边形,其为非通信块的侧表面的图像(深度图像198a)。也就是说,存在这样的可能性:在时间T1无法标识非通信块的三维形状。然而,取决于深度图像的分辨率,可以通过前表面的曲线的存在或不存在来使得圆形圆柱与矩形平行六面体之间的区别变得清楚。此外,在非通信块信息表180中所注册的块当中仅存在一个尺寸、宽高比等一致的非通信块的情况下,可以标识出非通信块的形状。顺便一提,深度图像198a表示通过获取从所拍摄的图像中获取的深度图像中的块集合的图像与核心之间的体积差而生成的体积数据,并且不一定生成为图像。同样情况对于随后附图成立。When a depth image is generated from this image as described above and the volume difference from the shape-identified core is taken separately, the remaining part is clearly a quadrilateral, which is an image of the side surface of the non-communicating block (depth image 198a). That is, there is a possibility that the three-dimensional shape of the non-communication block cannot be identified at time T1. Depending on the resolution of the depth image, however, the distinction between circular cylinders and rectangular parallelepipeds may be made clear by the presence or absence of curves of the front surface. Furthermore, in the case where there is only one non-communication block whose size, aspect ratio, etc. are consistent among the blocks registered in the non-communication block information table 180, the shape of the non-communication block can be identified. Incidentally, the depth image 198a represents volume data generated by acquiring the volume difference between the image of the block set in the depth image acquired from the captured image and the kernel, and is not necessarily generated as an image. The same holds true for subsequent figures.
在其它情况下,结构分析区段22从非通信块信息表180检测候选非通信块,并且假设候选非通信块之一耦合到核心。可替换地,将与形状被标识的通信块的平面相同的平面假设为非通信块的不定型(indefinite)面。作为前一情况的示例,附图描绘了当非通信块假设为矩形平行六面体时的块集合的形状200。顺便一提,附图中所描绘的块集合的形状200是在信息处理设备10中在时间T1的时间点识别的形状,并且不一定意图用于显示。例如,在运行将块集合的状态照原样地显示为3D对象的应用期间,可以照原样地呈现附图中所描述的所假设的形状。可替换地,所假设的形状可以不以任何方式进行显示,而是可以仅作为当在下一时间步骤中校正形状时的基础。In other cases, structure analysis section 22 detects candidate non-communicating blocks from non-communicating block information table 180 and assumes that one of the candidate non-communicating blocks is coupled to the core. Alternatively, the same plane as that of the communication block whose shape is identified is assumed to be an indefinite plane of the non-communication block. As an example of the former case, the figure depicts the shape 200 of the set of blocks when the non-communicating blocks are assumed to be rectangular parallelepipeds. Incidentally, the shape 200 of the block set depicted in the drawing is a shape recognized at the time point of time T1 in the information processing device 10 and is not necessarily intended for display. For example, during execution of an application that displays the state of a collection of blocks as it is as a 3D object, the assumed shape described in the drawing may be presented as it is. Alternatively, the assumed shape may not be displayed in any way, but may only serve as a basis when correcting the shape in the next time step.
为了无论是否进行非通信块的显示都以时间演进方式标识其形状,或使得用户能够实时并且高效地在组装的处理中识别块集合的形状的改变,在至少预定时段内存储与所假设的形状有关的信息,并且该信息用于稍后处理。通过将结构标识编号(下文中称为“元件编号”)给予构成块集合的通信块和非通信块来管理块集合的形状。在附图中,块集合中的通信块被给予块元件编号“#C1”,块集合中的非通信块被给予元件编号“#N1”。在该示例中,通信块和非通信块通过字母表的“C”和“N”彼此区分。然而,这并不限制元件编号的格式。In order to identify the shape of a non-communicating block in a time-evolutionary manner regardless of whether it is displayed or not, or to enable the user to identify changes in the shape of the set of blocks in real-time and efficiently in the process of assembly, store the assumed shape for at least a predetermined period of time. related information, and this information is used for later processing. The shape of the block set is managed by giving structure identification numbers (hereinafter referred to as "element numbers") to communication blocks and non-communication blocks constituting the block set. In the drawing, a communication block in a block set is given a block element number "#C1", and a non-communication block in a block set is given an element number "#N1". In this example, communicating blocks and non-communicating blocks are distinguished from each other by the "C" and "N" of the alphabet. However, this does not limit the format of the component number.
这些元件编号与提前给予各个块的标识编号关联(标识编号描述于图8和图10中),并且将这些元件编号连同与非通信块与通信块之间的连接关系有关的信息(所连接的面、所连接的位置和取向)一起记录。这些与块集合的整体的结构有关的信息将在下文中被称为“结构数据”。由于在图像中显现为一个主体的块集合可以划分为能够由用户附接和拆卸的单元,因此管理每个块的结构不仅使得能够如上所述进行显示,而且还可以改进标识受组装的处理中的块集合的形状或已经修改的块集合的形状的效率。在照原样地呈现块集合的形状的情况下,可以在该时间点生成用于呈现的多边形和纹理。然后,在随后形状标识处理中,可以校正该3D模型,或可以添加或删除块。These element numbers are associated with the identification numbers given to the respective blocks in advance (the identification numbers are described in FIGS. surface, attached position and orientation) are recorded together. Such information on the overall structure of the block set will be referred to as "structural data" hereinafter. Since the collection of blocks that appear as one subject in an image can be divided into units that can be attached and detached by the user, managing the structure of each block not only enables display as described above, but also improves the process of identifying the assembled The shape of the block collection or the efficiency of the shape of the block collection that has been modified. In the case of rendering the shape of the block set as it is, polygons and textures for rendering can be generated at this point in time. Then, in a subsequent shape identification process, the 3D model can be corrected, or blocks can be added or deleted.
于在时间T1识别块集合的形状(诸如形状200)等之后,继续拍摄和形状标识处理。此时,当用户将块集合190的顶点倾斜到相机122的一侧时,如附图中所描绘的,通信块194和非通信块196的顶部表面在时间T2稍微有点被包括在所拍摄的图像192b中。当从该图像生成深度图像并且获取该时间点的状态下与核心的体积差时,剩余部件包括非通信块的圆形圆柱的顶部表面(深度图像198b)。可以从图像的形状确定非通信块很有可能是圆形圆柱,而不是在时间T1所假设的矩形平行六面体。通过随着块集合的姿态改变而重复这些校正,来增加块集合的形状的识别的可靠性。After identifying the shape of the set of blocks, such as shape 200 , etc. at time T1 , the photographing and shape identification process continues. At this point, when the user tilts the apex of block collection 190 to one side of camera 122, as depicted in the figure, the top surfaces of communicating blocks 194 and non-communicating blocks 196 are slightly included in the captured image at time T2. Image 192b. When a depth image is generated from this image and the state-to-core volume difference at that point in time is acquired, the remaining components include the top surface of the circular cylinder of the non-communication block (depth image 198b). It can be determined from the shape of the image that the non-communicating blocks are most likely circular cylinders, rather than rectangular parallelepipeds assumed at time T1. By repeating these corrections as the pose of the block set changes, the reliability of recognition of the shape of the block set is increased.
在非通信块被发现为圆形圆柱的时间点,结构分析区段22用圆形圆柱来替换在时间T1被假设为矩形平行六面体的非通信块的形状。块集合的准确形状202由此得以识别。该处理实际上是将与元件编号#N1关联的矩形平行六面体类型的块的标识编号校正为圆形圆柱类型的块的标识编号的处理。可替换地,可以校正多边形模型。图11的示例示出具有非常简单的结构的块集合,以便方便理解。然而,实际上,例如,另一非通信块可以连接在一非通信块的后面,或者在非通信块和另一块彼此重叠的情况下,可以看见非通信块的仅仅一部分。At the point in time when the non-communicating block is found to be a circular cylinder, the structural analysis section 22 replaces the shape of the non-communicating block assumed to be a rectangular parallelepiped at time T1 with a circular cylinder. The exact shape 202 of the set of blocks is thus identified. This process is actually a process of correcting the identification number of the rectangular parallelepiped type block associated with the element number #N1 to the identification number of the circular cylinder type block. Alternatively, polygonal models can be corrected. The example of FIG. 11 shows a block set with a very simple structure for easy understanding. However, actually, for example, another non-communicating block may be connected behind a non-communicating block, or only a part of the non-communicating block can be seen in a case where the non-communicating block and another block overlap each other.
在此情况下,除了假设每个非通信块的形状并且逐渐标识随着用户握持块集合以及倾斜块集合或者改变块集合的取向而标识的仅仅一部分的方法之外,如上所述,还可以进行显示以向用户提示相对于相机122旋转块集合,以便可以从多个方向拍摄块集合。此外,可以基于未隐藏的一部分的形状和色彩从非通信块信息表180提取候选非通信块,并且将其显示在列表中,使得用户可以指定真实的块。此外,当指示图的形状或标记物的二维条形码附着到每个非通信块时,可以从所拍摄的图像标识形状。In this case, in addition to the method of assuming the shape of each non-communicating block and gradually identifying only a part of it as the user holds and tilts the block set or changes the orientation of the block set, as described above, it is also possible to Displays are made to prompt the user to rotate the block set relative to the camera 122 so that the block set can be photographed from multiple directions. In addition, candidate non-communication blocks may be extracted from the non-communication block information table 180 based on the shape and color of a part that is not hidden, and displayed in a list so that the user can designate a real block. Furthermore, when a two-dimensional barcode indicating the shape of the figure or a marker is attached to each non-communicating block, the shape can be identified from the captured image.
图12是辅助解释标识在组装等期间在结构方面改变的块集合的形状的处理的图。附图的表示方式与图11相似。从具有作为时间轴的纵坐标的轴的左边按顺序描绘的是在各个时间所拍摄的图像192b至192d、排除核心的部件的图像的深度图像198b至198d以及识别出的块集合的形状202、210和216。在附图中的最上行中的时间T2与图11中的时间T2对应。块集合的所拍摄的图像192b、深度图像198b以及所识别的形状202也是同样的。假设从该状态,在随后时间T3,用户连接新的非通信块204(所拍摄的图像192c)。在该时间的深度图像198c与在先前时间T2的深度图像198b的比较指示添加新的非通信块的图像206。FIG. 12 is a diagram of assistance in explaining a process of identifying a shape of a block set that changes in structure during assembly or the like. The representation of the accompanying drawings is similar to that of FIG. 11 . Depicted in order from the left of the axis having the ordinate as the time axis are images 192b to 192d captured at respective times, depth images 198b to 198d of images of components excluding cores, and shapes 202 of recognized block sets, 210 and 216. Time T2 in the uppermost row in the drawing corresponds to time T2 in FIG. 11 . The same is true for the captured image 192b, the depth image 198b, and the recognized shape 202 of the set of blocks. Assume that from this state, at subsequent time T3, the user connects a new non-communication block 204 (the captured image 192c). A comparison of the depth image 198c at this time with the depth image 198b at a previous time T2 indicates the addition of a new image 206 of a non-communication block.
结构分析区段22通过将在先前时间T2的深度图像198b与在当前时间T3的深度图像198c相比较来识别新的非通信块204的连接。在此,也在先前时间出现的非通信块196可以相对于相机在取向上改变,或者非通信块196可以不与新连接的块区分。相应地,通过继续跟踪曾经识别的非通信块的位置和姿态,结构分析区段22甚至在块的位置和姿态改变时也可以将同一块识别为相同的。可以应用使用有效轮廓模型等的普通跟踪技术作为位置和姿态的跟踪。可替换地,可以从位置和姿态能够由来自核心的信号进行标识的核心的位置和姿态的改变来推导在连接到核心的状态下的非通信块的取向的改变。Structural analysis section 22 identifies connections of new non-communicating blocks 204 by comparing depth image 198b at previous time T2 with depth image 198c at current time T3. Here, the non-communicating blocks 196 that also appeared at a previous time may change in orientation relative to the camera, or the non-communicating blocks 196 may not be distinguished from newly connected blocks. Accordingly, by continuing to track the positions and orientations of non-communicating blocks that were once recognized, the structure analysis section 22 can recognize the same block as the same even when the positions and orientations of the blocks change. Ordinary tracking technology using an effective contour model or the like can be applied as tracking of position and orientation. Alternatively, a change in orientation of a non-communicating block in a state connected to the core may be derived from a change in position and orientation of the core, which can be identified by a signal from the core.
作为在体积差之后的图像的比较的结果,可以因而检测出新的非通信块204的连接,在此之后,通过例如以与参照图11所描述的相似方式来参照非通信块信息表180来标识非通信块的形状。然后,在相同的时间基于核心的形状和姿态来标识对核心的连接关系。因此,可以如附图中所描绘地识别块集合在时间T3的形状210。此时,通过以下操作来更新结构数据:将新的元件编号“#N2”给予所添加的非通信块,将新的元件编号“#N2”与提前给予所讨论的块的标识编号关联,并且记录对通信块的连接关系。As a result of the comparison of the images after the volume difference, the connection of a new non-communicating block 204 can thus be detected, after which, by referring to the non-communicating block information table 180, for example in a manner similar to that described with reference to FIG. A shape that identifies a non-communication block. Then, the connection relationship to the core is identified based on the shape and pose of the core at the same time. Accordingly, the shape 210 of the set of blocks at time T3 can be identified as depicted in the figure. At this time, the structural data is updated by giving a new element number "#N2" to the added non-communication block, associating the new element number "#N2" with the identification number given in advance to the block in question, and Record the connection relationship to the communication block.
顺便一提,为了确定出现在相机的视场中的非通信块是连接的还是尚未连接的,可以监控包括核心的块集合与出现在视场中的块之间的相对速度。在此情况下,当相对速度为零时,确定新的块是连接的。假设在时间T3随后的时间T4,用户使用另一形状的非通信块214来替换先前所连接的非通信块196(所拍摄的图像192d)。在该时间的深度图像198d与在先前时间T3的深度图像198c的比较指示非通信块的图像215的形状改变。Incidentally, in order to determine whether non-communicating blocks appearing in the camera's field of view are connected or not yet connected, the relative velocity between the set of blocks including the core and the blocks appearing in the field of view can be monitored. In this case, when the relative velocity is zero, it is determined that the new block is connected. Assume that at time T4 subsequent to time T3, the user replaces the previously connected non-communication block 196 with a non-communication block 214 of another shape (the captured image 192d). A comparison of the depth image 198d at this time with the depth image 198c at a previous time T3 indicates that the shape of the image 215 of the non-communication block has changed.
当可以检测出用另一形状的另外非通信块来替换该非通信块以作为在体积差之后的图像彼此这样比较的结果时,通过与至此所描述的相似方式参照非通信块信息表180来标识新的非通信块的形状。对核心的连接关系与先前所连接的非通信块对核心的连接关系相同。因此,可以照原样地使用先前信息。因此,通过仅将结构数据中的与相同元件编号“#N1”关联的先前连接的块的标识编号更新为此时标识的块的标识编号,由此如附图中所描述的识别块集合在时间T4的形状216。When it can be detected that the non-communication block is replaced with another non-communication block of another shape as a result of such comparison of the images after volume difference with each other, by referring to the non-communication block information table 180 in a manner similar to that described so far Identify the shape of the new non-communication block. The connection relationship to the core is the same as that of the previously connected non-communication block to the core. Therefore, previous information can be used as it is. Therefore, by updating only the identification number of the previously connected block associated with the same element number "#N1" in the structure data to the identification number of the block identified at this time, thereby identifying the block set as described in the drawing in Shape 216 at time T4.
作为在除了连接另一形状的非通信块之外的情况下修改非通信块的示例,可以存在这样的情况:非通信块中所包括的核心的接头角度发生改变。图13是辅助解释标识由于核心的接头角度的改变而修改的块集合的形状的处理的图。附图的表示方式与图11和图12相似。从具有作为时间轴的纵坐标的轴的左边按顺序描绘的是在各个时间所拍摄的图像192e至192g、深度图像198e至198g以及所识别的块集合的形状218、222和224。然而,假设块集合的形状与图11和图12中所描绘的不同,并且分别装配非通信块228和230以便包括具有标记物和接头的通信块226的上链接和下链接。As an example of modifying a non-communicating block other than connecting a non-communicating block of another shape, there may be a case where the joint angle of a core included in the non-communicating block is changed. 13 is a diagram to aid in explaining the process of identifying the shape of a set of blocks modified due to a change in the joint angle of the core. The representation of the drawings is similar to that of Fig. 11 and Fig. 12 . Depicted in order from the left of the axis having the ordinate as the time axis are the images 192e-192g captured at the respective times, the depth images 198e-198g, and the shapes 218, 222, and 224 of the identified block sets. However, it is assumed that the shape of the set of blocks is different than that depicted in FIGS. 11 and 12 , and non-communicating blocks 228 and 230 are assembled respectively to include the upper and lower links of the communicating block 226 with markers and joints.
非通信块在体积差之后在深度图像198e中显然显现为一个主体,所述深度图像是基于在接头未弯曲的时间t1所拍摄的图像192e而生成的。因此,结构分析区段22如附图中所描绘的通过以下操作识别块集合的形状218:分别将元件编号“#C1”和“#N1”给予被假设为一个块的一个(系列)通信块和非通信块,将元件编号与各个块的标识编号关联,并且记录通信块与非通信块之间的连接关系作为结构数据。The non-communicating mass, after the volume difference, clearly appears as a subject in the depth image 198e generated based on the image 192e taken at time t1 when the joint was not bent. Accordingly, the structure analysis section 22 recognizes the shape 218 of the set of blocks as depicted in the drawing by assigning element numbers "#C1" and "#N1" respectively to one (series) of communication blocks assumed to be one block and non-communication blocks, associate the component numbers with the identification numbers of the respective blocks, and record the connection relationship between the communication blocks and the non-communication blocks as structural data.
假设在时间t2,用户接下来弯曲核心的接头(所拍摄的图像192f)。在该时间的深度图像198f与在先前时间t1的深度图像198e的比较指示非通信块的形状改变。根据关于核心的信息,结构分析区段22已经获取到被非通信块所包含的核心的状态,其中所述信息已经从块集合分离地传输。也就是说,结构分析区段22还掌握通信块的接头角度。因此,当存在于内部的通信块的接头角度按与非通信块的修改对应的角度改变时,可以确定由核心的弯曲导致非通信块的修改。Assume that at time t2, the user next bends the joints of the core (taken image 192f). A comparison of the depth image 198f at this time with the depth image 198e at a previous time t1 indicates a change in shape of the non-communicating block. The structure analysis section 22 has acquired the state of the cores contained by the non-communicating blocks based on the information about the cores which have been transmitted separately from the set of blocks. That is, the structural analysis section 22 also grasps the joint angles of the communication blocks. Therefore, when the joint angle of the communication block existing inside is changed at an angle corresponding to the modification of the non-communication block, it can be determined that the modification of the non-communication block is caused by the bending of the core.
因此可以确定实际上存在起初已经被识别为一个块的多个块,而不是确定重新连接了另一块。在此情况下,例如,通过将新的元件编号“#N2”给予其倾斜度已经改变的非通信块(附图中的上块)并且对于其倾斜度尚未改变的块照原样地使用元件编号“#N1”,由此校正结构数据。当元件编号受到校正时,适当地校正对核心的连接关系。从而可以如附图中所描绘地识别块集合在时间t2的形状222。It can thus be determined that there are actually multiple blocks that were initially identified as one block, rather than another block being reconnected. In this case, for example, by giving a new element number "#N2" to the non-communication block (the upper block in the drawing) whose inclination has been changed and using the element number as it is for the block whose inclination has not been changed "#N1", thereby correcting the structure data. When the component number is corrected, the connection relation to the core is corrected appropriately. The shape 222 of the set of blocks at time t2 can thus be identified as depicted in the figure.
在附图的示例中,根据块的倾斜角度和形状,上块与下块之间的区别是清楚的。然而,当倾斜角度很小或者各块具有使得其间的间隙即使在角度改变时也不显眼的形状或材料时,可能并不容易检测各块之间的分裂。在此情况下,可以通过例如设置当接头在接头的位置处不弯曲时与核心的轴垂直的划分平面220并且通过划分平面对块进行划分,来将起初被看作一个块的块划分为两个块。在此情况下,划分平面220的平坦表面被假设为下块的上表面和上块的底表面(下块的上表面和上块的底表面起初彼此接触),并且在随后的形状标识处理中进行校正。In the example of the drawing, the distinction between the upper block and the lower block is clear according to the inclination angle and shape of the blocks. However, it may not be easy to detect splitting between the pieces when the angle of inclination is small or the pieces have a shape or material such that the gap therebetween is inconspicuous even when the angle changes. In this case, a block originally viewed as one block can be divided into two by, for example, setting a dividing plane 220 perpendicular to the axis of the core when the joint is not bent at the position of the joint and dividing the block by the dividing plane. blocks. In this case, the flat surfaces of the division plane 220 are assumed to be the upper surface of the lower block and the bottom surface of the upper block (the upper surface of the lower block and the bottom surface of the upper block initially contact each other), and in the subsequent shape identification process Make corrections.
作为时间t2的处理的结果,非通信块被识别为由两个块构成。因此,即使当在随后时间t3恢复到在时间t1的块集合的接头不弯曲的状态时(所拍摄的图像192g和深度图像198g),信息处理设备10也可以将该状态识别为两个非通信块彼此链接的状态(块集合224)。由于个体地管理包括链接的非通信块,因此即使当核心的接头随后弯曲且伸展时,也无需重新标识形状等的处理。As a result of the processing at time t2, the non-communication block is identified as consisting of two blocks. Therefore, even when returning to the state in which the joint of the block set at time t1 is not bent at subsequent time t3 (the captured image 192g and the depth image 198g), the information processing device 10 can recognize the state as two non-communicating A state in which blocks are linked to each other (block set 224). Since non-communicating blocks including links are individually managed, even when the joints of the core are subsequently bent and stretched, there is no need for a process of re-identifying the shape or the like.
在多个块被组装为一个主体而因此在取向或间隔方面没有时间上的改变的情况下,可以通过将这些块共同地看作一个块来简化数据管理。另一方面,即使在多个块被组装为一个主体的情况下,当多个块在色彩或纹理方面彼此不同并且可以因此识别为不同的块时,可以基于关于块的颜色或纹理的信息而个体地管理块。当甚至用户附接和拆卸块的处理也需要被正确地识别时,通过个体地管理每个块,具体地,可以将结构数据的校正限制到发生改变的部件。因此这在处理效率方面是有利的。In cases where multiple blocks are assembled into one body so that there is no temporal change in orientation or spacing, data management can be simplified by treating the blocks collectively as one block. On the other hand, even in the case where a plurality of blocks are assembled into one body, when the plurality of blocks are different from each other in color or texture and can thus be recognized as different blocks, it is possible to identify based on information about the color or texture of the block. Blocks are managed individually. When even the process of attaching and detaching blocks by the user needs to be correctly recognized, by individually managing each block, in particular, correction of the structure data can be limited to the changed parts. This is therefore advantageous in terms of processing efficiency.
此外,当所获取的块集合的状态在显示设备16上显示为对象时,或者当结构数据被保存为关于多边形和纹理的信息时,可以执行使分辨率粗糙化的低多边形建模,以减少处理负载或存储器消耗,而不是照原样地反映所标识的形状。可替换地,每个非通信块可以进一步与非通信块信息表中的另一对象模型关联,并且可以呈现与非通信块的部件关联的对象模型,以便在显示的时候替换非通信块的部件。因此,即使当块具有粗糙形状(诸如矩形平行六面体等)时,在显示的时候也将块转换为现实对象并且显示该对象。利用块集合的状态、信息处理设备10的处理性能、存储器容量等,根据将要由信息处理区段30执行的处理,来酌情地进行关于是否如此使得信息的细节的级别低于、等于或高于真实块集合的细节的级别的设置。In addition, when the state of the acquired block set is displayed as an object on the display device 16, or when structure data is saved as information on polygons and textures, low-polygon modeling with resolution coarsened can be performed to reduce processing load or memory consumption instead of reflecting the identified shape as-is. Alternatively, each non-communicating block may be further associated with another object model in the non-communicating block information table, and the object model associated with the parts of the non-communicating block may be rendered to replace the parts of the non-communicating block when displayed . Therefore, even when a block has a rough shape such as a rectangular parallelepiped or the like, the block is converted into a real object at the time of display and the object is displayed. Using the state of the block set, the processing performance of the information processing device 10, the memory capacity, and the like, according to the processing to be performed by the information processing section 30, whether or not the level of detail of the information is so lower, equal to, or higher is performed as appropriate Setting for the level of detail of the real block collection.
顺便一提,如图11至图13所描绘的,该实施例获取关于核心和非通信块二者的在块集合中的时间上的改变。因此,可以通过在预定时间内将时间上的改变存储为历史并且根据需要读出和使用历史,来实现各种模式。例如,当用户期望将正在组装的处理中的块集合恢复到几个阶段之前的状态,并且用户经由输入设备14进行请求时,对应阶段中的块集合的状态被显示为3D对象。用户可以在浏览3D对象的同时将真实块集合恢复到先前状态。当通过输入设备14改变相对于被呈现为3D对象的块集合的虚拟视点时,可以从多个方向检查块集合的先前状态。当长时间存储历史时,过去所创建的块集合可以显示为每个进行阶段中的对象,并且可以根据对象通过组装来再现真实块集合。Incidentally, as depicted in FIGS. 11 to 13 , this embodiment captures temporal changes in block sets for both core and non-communication blocks. Therefore, various modes can be realized by storing changes in time as a history within a predetermined time and reading out and using the history as necessary. For example, when a user desires to restore an in-process block set being assembled to a state several stages ago, and the user makes a request via the input device 14, the state of the block set in the corresponding stage is displayed as a 3D object. Users can restore the collection of real blocks to a previous state while browsing the 3D object. When changing the virtual point of view relative to a set of blocks rendered as a 3D object through the input device 14, the previous state of the set of blocks can be checked from multiple directions. When the history is stored for a long time, block sets created in the past can be displayed as objects in each progress stage, and real block sets can be reproduced by assembling according to the objects.
此外,关于曾经拆卸的块(诸如图12中的圆形圆柱类型的非通信块196)的信息可以保持具备先前元件编号而不立即从结构数据中删除,并且可以由指示块被拆卸的标志等进行管理。在此情况下,当另一块附接到相同位置时,相同元件编号被给予多个非通信块。然而,标志可以将该信息与过去信息进行区分。当用户后来进行请求以将块集合恢复到先前状态时,可以通过从结构数据中检测并且恢复先前块来显示先前状态下的块集合的对象。Furthermore, information about blocks that were ever disassembled (such as the round cylinder type non-communicating block 196 in FIG. to manage. In this case, when another block is attached to the same position, the same element number is given to a plurality of non-communication blocks. However, flags can distinguish this information from past information. When the user later makes a request to restore the block set to a previous state, the objects of the block set in the previous state can be displayed by detecting and restoring the previous block from the structural data.
接下来将进行与块集合的状态的标识有关的信息处理设备的操作的描述,所述操作可以由至此所描述的配置来实现。图14是描绘用于标识包括非通信块的块集合的状态的处理过程的流程图。例如,当用户对块集合120中的块当中的具有电池的块打开电源并且通过选择信息处理设备10上的应用经由输入设备14输入指令以开始处理时,流程图开始。Next, a description will be made of the operation of the information processing device related to the identification of the state of the block set, which can be realized by the configuration described so far. 14 is a flowchart depicting a process for identifying a state of a set of blocks including non-communicating blocks. For example, the flowchart starts when the user powers on a block with a battery among the blocks in the block set 120 and inputs an instruction to start processing via the input device 14 by selecting an application on the information processing device 10 .
顺便一提,假设:与以下将要描述处理的信息处理设备10的处理并行地,从用户正在组装或举起的块集合以预定时序发送指示核心的状态的信号。此外,该流程图关注于非通信块的改变,并且假设从指示核心的状态等的信号分离地获取核心的状态的改变。首先,结构分析区段22使得相机122开始拍摄块集合(S10)。同时,通过信息处理区段30与显示处理区段32之间的协作在显示设备16上显示预定初始图像(S12)。此时所显示的图像可以是相机112所拍摄的直播视频、作为应用的一部分的提前创建的图像(诸如游戏图像)等。Incidentally, it is assumed that in parallel with the processing of the information processing apparatus 10 whose processing will be described below, a signal indicating the state of the core is transmitted at a predetermined timing from a block set that the user is assembling or lifting. Also, this flowchart focuses on changes in non-communication blocks, and assumes that changes in the state of the cores are acquired separately from signals indicating the states of the cores and the like. First, the structure analysis section 22 causes the camera 122 to start photographing a block set (S10). At the same time, a predetermined initial image is displayed on the display device 16 by cooperation between the information processing section 30 and the display processing section 32 (S12). The image displayed at this time may be a live video captured by the camera 112, an image created in advance as a part of the application (such as a game image), or the like.
在时间步骤t=0(t为按升序指示时间的流逝的整数)中,当核心信息接收区段20接收从块集合发送的信息时,结构分析区段22基于该信息标识核心在三维空间中的姿态和形状(S14和S16)。当借助于除了拍摄的图像之外的手段来标识核心的位置时,也可以标识出核心的位置。同时,结构分析区段22通过例如从相机122获取所拍摄的图像并且基于所拍摄的图像而生成深度图像来获取块集合的整个图像和位置(S18)。除了块集合、背景、用户的手等之外的事物可能显现在所拍摄的图像中。因此,在某阶段中执行移除这些图像的处理。In time step t=0 (t is an integer indicating the passage of time in ascending order), when the core information receiving section 20 receives the information transmitted from the block set, the structure analyzing section 22 identifies the core in the three-dimensional space based on the information pose and shape of (S14 and S16). The location of the nucleus can also be identified when the location of the nucleus is identified by means other than the captured image. Meanwhile, the structure analysis section 22 acquires the entire image and position of the block set by, for example, acquiring a captured image from the camera 122 and generating a depth image based on the captured image (S18). Things other than the collection of blocks, the background, the user's hand, etc. may appear in the captured image. Therefore, a process of removing these images is performed in a certain stage.
普通方法(诸如前景提取、同时定位和映射(SLAM)方法、色彩分割、基于字典的对象识别等)可以用于该处理。标识核心相对于这样提取的块集合的整体图像如何定位(S20)。具体地,如上所述,从块集合的图像检测具有特征形状、色彩或图案等(诸如核心的标记物等)的部件,并且参照该部件确定核心的位置。然后,基于在S16中标识形状和姿态的核心的形状和姿态而标识如何从相机看见核心。当不存在非通信块时,这是块集合的图像。因此,通过取得在不存在非通信块的情况下的块集合的图像与真实块集合的整体图像之间的体积差来获取非通信块的图像和位置(S22)。Ordinary methods such as foreground extraction, simultaneous localization and mapping (SLAM) methods, color segmentation, dictionary-based object recognition, etc. can be used for this process. Identify how the core is positioned relative to the overall image of the block set thus extracted (S20). Specifically, as described above, a part having a characteristic shape, color, or pattern, etc., such as a marker of a nucleus, etc., is detected from an image of a block set, and the position of the nucleus is determined with reference to the part. How the kernel is seen from the camera is then identified based on the shape and pose of the kernel identified in S16. This is an image of the block collection when there are no non-communicating blocks. Therefore, the image and position of the non-communicating block are acquired by taking the volume difference between the image of the block set in the absence of the non-communicating block and the overall image of the real block set (S22).
当在先前时间步骤t-1中获取非通信块的状态时,将先前时间步骤t-1中的非通信块的状态与非通信块的当前图像彼此进行比较(S24),以检查是否存在改变(S26)。当存在图像的形状的改变(S26中的Y)时,执行标识非通信块的形状并且更新块集合的结构数据的处理(S30)。顺便一提,在时间步骤t=0,非通信块的状态本身(在S22中获取的状态)被看作改变,并且基于非通信块的状态来新创建结构数据。When the state of the non-communicating block is acquired in the previous time step t-1, the state of the non-communicating block in the previous time step t-1 and the current image of the non-communicating block are compared with each other (S24) to check whether there is a change (S26). When there is a change in the shape of the image (Y in S26), a process of identifying the shape of the non-communication block and updating the structural data of the block set is performed (S30). Incidentally, at time step t=0, the status itself of the non-communication block (the status acquired in S22) is regarded as changed, and the structural data is newly created based on the status of the non-communication block.
至于S30的处理,如参照图11至图13所描述的,将S30的处理分类为在添加或移除非通信块的情况下的处理、在以另一非通信块进行替换的情况下的处理、以及在由于核心的接头的弯曲而导致非通信块的形状的改变的情况下的处理,并且执行将要对于每种情况执行的处理。具体地,当添加非通信块时,元件编号被给出并且各自与形状、连接方向等关联,并且记录对核心的连接关系。例如,当移除非通信块时,通过从结构数据中删除非通信块或设置指示非通信块被移除的标志来管理非通信块。当执行以另一非通信块进行替换时,更新与对应元件编号对应的块的形状、连接方向等。As for the processing of S30, as described with reference to FIGS. , and processing in the case of a change in the shape of the non-communication block due to bending of the joint of the core, and the processing to be performed for each case is performed. Specifically, when a non-communication block is added, element numbers are given and are each associated with a shape, connection direction, etc., and a connection relationship to the core is recorded. For example, when a non-communicating block is removed, the non-communicating block is managed by deleting the non-communicating block from the structural data or setting a flag indicating that the non-communicating block is removed. When performing replacement with another non-communication block, the shape, connection direction, etc. of the block corresponding to the corresponding element number are updated.
在归因于核心的接头的弯曲而产生形状的改变时,当并未通过与具有其间所插入的接头的各个链接对应的方式来管理非通信块时,这些块设置为分离的块,新的元件编号给予块之一,并且各个块的形状和连接方向得以更新。因此个体地管理非通信块。此外,甚至当核心或非通信块的形状不改变时,非通信块的图像根据位置或姿态的改变而改变。在此情况下,检查是否可以标识因为归因于部件的隐藏等而无法确定的部件的形状所假设的部件的形状的至少一部分。当标识所假设的部件的形状的一部分时,相应地更新结构数据。因此以时间演进方式标识形状。如上所述,结构数据可以表示为3D图形的模型数据。When the shape changes due to the bending of the joints of the core, when the non-communication blocks are not managed in a manner corresponding to the respective links with the joints inserted therebetween, these blocks are set as separate blocks, the new A component number is given to one of the blocks, and the shape and connection direction of each block are updated. The non-communication blocks are thus managed individually. Furthermore, even when the shape of the core or the non-communicating block does not change, the image of the non-communicating block changes according to the change in position or attitude. In this case, it is checked whether at least a part of the assumed shape of the part can be identified because the shape of the part cannot be determined due to hiding of the part or the like. When a portion of the assumed part's shape is identified, the structure data is updated accordingly. Shapes are thus identified in a time-evolving manner. As described above, structural data can be represented as model data of 3D graphics.
当在S26中不存在图像的形状的改变时(S26中的N),至少非通信块的状态不改变,并且因此,不执行S30的处理。直到用户执行用于结束处理的输入为止,在时间步骤t增加的同时依次重复从S16到S30的处理(S32和S28中的N)。例如,当通过对块集合关闭电源来执行用于结束处理的指令输入时,处理结束(S32中的Y)。顺便一提,在S20的处理中,当从相机观看时,整个核心被非通信块隐藏时,无法执行核心的定位。在此情况下,可以进行向用户提示改变块集合的取向的显示,以使得核心进入相机的视场。可替换地,相对于核心的相机坐标系统可以被假设为这样:核心的整体图像不从块集合的整体图像突出,并且可以在随后时间步骤中进行校正。When there is no change in the shape of the image in S26 (N in S26), at least the state of the non-communication block does not change, and therefore, the processing of S30 is not performed. Until the user performs an input for ending the processing, the processing from S16 to S30 is sequentially repeated while the time step t is incremented (N in S32 and S28 ). For example, when an instruction input for ending the processing is performed by turning off the power to the block set, the processing ends (Y in S32 ). By the way, in the process of S20, when the entire core is hidden by non-communication blocks when viewed from the camera, positioning of the core cannot be performed. In this case, a display may be made that prompts the user to change the orientation of the set of tiles so that the kernel enters the camera's field of view. Alternatively, the camera coordinate system relative to the kernel can be assumed such that the overall image of the kernel does not protrude from the overall image of the block set, and can be corrected in subsequent time steps.
顺便一提,在至此的描述中主要关注于非通信块的形状的改变。在非通信块的色彩或纹理改变的情况下,也可以通过相似的处理来更新结构数据。然而,在此情况下,首先通过定位整体图像以及深度图像中的核心,由此从块集合的整体图像中移除核心的部件,然后通过将剩余非通信块的图像的区域反馈到所拍摄的彩色图像来标识色彩或纹理的改变。Incidentally, in the description so far, attention has been mainly paid to the change of the shape of the non-communication block. In case of a color or texture change of a non-communicating block, the structural data can also be updated by a similar process. However, in this case, first by locating the core in the overall image as well as in the depth image, thereby removing components of the core from the overall image of the block set, and then by feeding back the regions of the image of the remaining non-communicating blocks into the captured Color images to identify changes in color or texture.
图15示出能够通过至此所描述的模式来实现的块集合与显示器之间的关系。在附图的示例中,包括通信块和非通信块的块集合240被呈现为如信息处理设备10所识别的3D对象242,并且显示在显示设备16上。因为相机122获取非通信块的形状、姿态、色彩等,所以可以识别未在非通信块信息表中注册的事物(例如用户他本身/她本身制作的事物)。例如,即使当用户通过毡尖笔在附图中写入组装为块集合240的玩偶的面部或将不干胶粘贴到玩偶时,具有与所写入的面部相似的面部的玩偶或不干胶粘贴到的玩偶也被呈现为3D对象。Fig. 15 shows the relationship between a set of blocks and a display that can be realized by the modes described so far. In the example of the drawing, a block set 240 including communicating blocks and non-communicating blocks is presented as a 3D object 242 as recognized by the information processing device 10 and displayed on the display device 16 . Since the camera 122 acquires the shape, posture, color, etc. of the non-communication block, it is possible to recognize things not registered in the non-communication block information table (such as things made by the user himself/herself). For example, even when the user writes the face of the doll assembled as the block set 240 in the drawing by a felt-tip pen or pastes a sticker to the doll, the doll having a face similar to the written face may not stick Dolls that are glued to are also rendered as 3D objects.
在该示例中,存在于真实相机122的视场中的块集合通过镜面处理水平地翻转,并且被表示为对象。因为块集合240面向显示设备16上的相机122,所以显示器上的3D对象242得以显示,使得块集合240显现在镜中。另一方面,信息处理设备10如上所述识别块集合240的三维形状,并且可以因此自由地改变相对于3D对象242的虚拟视点。因此,即使是玩偶的背侧(该侧在该时间点从相机122看是盲点)上的图像,也可以在不旋转块集合240的情况下进行显示。然而,取决于至此的形状标识处理,无法确定背侧上的形状的细节。In this example, a set of blocks existing in the field of view of the real camera 122 is flipped horizontally by mirror processing, and represented as an object. Because the set of blocks 240 faces the camera 122 on the display device 16, the 3D object 242 on the display is displayed such that the set of blocks 240 appears in the mirror. On the other hand, the information processing device 10 recognizes the three-dimensional shape of the block set 240 as described above, and can thus freely change the virtual viewpoint with respect to the 3D object 242 . Thus, even an image on the doll's back side (which at this point in time is the blind spot from camera 122 ) can be displayed without rotating block set 240 . However, depending on the shape identification process so far, details of the shape on the back side cannot be determined.
至此的描述基于识别实际上所组装的块集合的状态。然而,可以允许虚拟地连接实际上未连接的事物。图15中所示的屏幕显示将要与反映块集合240的3D对象242一起提供的物品的选项的图像244和246。当用户选择一个图像并且经由输入设备14或通过移动块集合240来使得屏幕上的3D对象242具有对应物品时,例如,信息处理设备10可以更新结构数据,以便指示对应物品连接到已经识别的块集合的对应位置。The description so far is based on identifying the state of the set of blocks actually assembled. However, it is possible to allow virtually connected things that are not actually connected. The screen shown in FIG. 15 displays images 244 and 246 of options for items to be provided with a 3D object 242 reflecting a collection of blocks 240 . When the user selects an image and causes the 3D object 242 on the screen to have a corresponding item via the input device 14 or by moving the set of blocks 240, for example, the information processing device 10 may update the structure data to indicate that the corresponding item is connected to the identified block The corresponding location of the set.
作为选项的物品的三维形状保存在信息处理设备10的块信息存储区段24或模型数据存储区段26中。因此,在随后处理中,无论屏幕上的物品是实际上连接到块集合还是虚拟地连接的,物品都可以被表示,以便根据块集合在真实空间中的移动在被3D对象242握持的状态下在虚拟世界中移动。当通过凭借3D扫描器捕获由用户他本身/她本身制作的真实事物等来获取三维形状信息时,三维形状信息充当对于上述物品的替代品。也就是说,即使当非通信块的真实事物实际上未连接时,非通信块也可以显示得如同非通信块在屏幕上连接一样。The three-dimensional shape of an item as an option is stored in the block information storage section 24 or the model data storage section 26 of the information processing device 10 . Therefore, in the subsequent processing, regardless of whether the item on the screen is actually connected to the set of blocks or connected virtually, the item can be represented so that it is held by the 3D object 242 according to the movement of the set of blocks in real space. to move in the virtual world. When the three-dimensional shape information is acquired by capturing a real thing or the like made by the user himself/herself with a 3D scanner, the three-dimensional shape information serves as a substitute for the above-mentioned items. That is, the non-communicating blocks can be displayed as if the non-communicating blocks are connected on the screen even when the real thing of the non-communicating blocks is not actually connected.
可以以相似的方法在显示器上在虚拟世界中创建块集合的外部外观本身。图16示出当对块集合设置外部外观时块集合与显示器之间的关系。在该示例中,与图15的情况相比,块集合248本身是简单配置(诸如例如仅通信块等)。当识别出该块集合248的状态时,在水平地翻转块集合之后,信息处理设备10在显示设备16上照原样地显示所识别的块集合的状态或作为3D对象250。然后,如在图15的物品的情况下,对于每个部件(诸如例如面部等)显示作为候选的3D对象的选项的图像252a、252b和252c。The external appearance itself of the collection of blocks can be created in the virtual world on the display in a similar way. FIG. 16 shows the relationship between a block set and a display when an appearance is set for the block set. In this example, the set of blocks 248 itself is a simple configuration (such as, for example, only communication blocks, etc.) compared to the case of FIG. 15 . When the state of this block set 248 is recognized, the information processing device 10 displays the recognized state of the block set as it is or as a 3D object 250 on the display device 16 after the block set is flipped horizontally. Then, as in the case of the article of FIG. 15 , images 252 a , 252 b , and 252 c are displayed as options of candidate 3D objects for each part (such as, for example, a face, etc.).
用户对于块集合中的每个块或由多个块形成的每个部件执行从图像252a、252b或252c选择输入,并且从而虚拟地进行对3D对象250的连接。外部外观因而是完整的。因此可以自由地创建具有各种外部外观的3D对象,并且进一步根据真实块集合248的移动来移动3D对象或改变虚拟视点。此外,可以通过连接这样创建其虚拟外观的多个块来将虚拟3D对象彼此耦合在显示器上。The user performs a selection input from the image 252a, 252b or 252c for each block in the set of blocks or each part formed of a plurality of blocks, and thereby virtually makes the connection to the 3D object 250 . The external appearance is thus complete. It is thus possible to freely create 3D objects with various external appearances, and further move the 3D objects or change the virtual viewpoint according to the movement of the real block set 248 . Furthermore, virtual 3D objects can be coupled to each other on the display by connecting multiple blocks thus creating their virtual appearance.
例如,可以实现这样的模式:当对于作为目标的3D对象的完整形式中的每个部件创建块集合和与块集合对应的外部外观并且最终连接块集合时,显示具有其中甚至详细部件也被设置的外部外观的完整形式。可替换地,可以重复存储具有曾经创建的虚拟外部外观的3D对象并且使用相同块集合来创建具有另一外部外观的3D对象的过程,并且这样所创建的多个3D对象可以仅在虚拟世界中彼此耦合。在此情况下,由于最终与块集合关联的3D对象与块集合互锁,因此可以实现彼此耦合的所有3D对象根据块集合移动的模式。For example, it is possible to implement a mode in which when a block set and an external appearance corresponding to the block set are created for each part in the complete form of the target 3D object and finally the block set is connected, the display has a function in which even detailed parts are set The complete form of the external appearance. Alternatively, the process of storing a 3D object with a once-created virtual external appearance and using the same set of blocks to create a 3D object with another external appearance can be repeated, and thus created multiple 3D objects can be displayed only in the virtual world coupled with each other. In this case, since the 3D objects finally associated with the block set are interlocked with the block set, a mode in which all 3D objects coupled to each other move according to the block set can be realized.
在图15和图16的示例中,在虚拟世界中的3D对象中反映块集合的移动。反之,可以在块集合的移动中反映3D对象的移动。例如,将表示由用户所组装的块集合的3D对象或由用户虚拟地创建以便与块集合对应的3D对象显现为信息处理区段30所运行的游戏中的角色。当用户使用输入设备14执行游戏操作并且3D对象相应地移动时,也使得真实块集合移动。在此情况下,驱动控制区段34发送用于以与3D对象的移动对应的方式控制块集合的驱动区段148的信号。In the examples of FIGS. 15 and 16 , the movement of the set of blocks is reflected in the 3D objects in the virtual world. Conversely, the movement of the 3D object can be reflected in the movement of the set of blocks. For example, a 3D object representing a set of blocks assembled by the user or a 3D object virtually created by the user so as to correspond to the set of blocks appears as a character in a game run by the information processing section 30 . When the user performs game operations using the input device 14 and the 3D objects move accordingly, the set of real blocks is also caused to move. In this case, the drive control section 34 transmits a signal for controlling the drive section 148 of the block set in a manner corresponding to the movement of the 3D object.
在图16的示例中,假设一种用户应用一个或多个块的单元中的3D对象的模式。因此,真实块与虚拟对象之间的对应关系与非通信块相似,并且也可以以相似的方式来执行管理。也就是说,当真实块集合的接头角度改变时,由改变而导致修改的位置在3D对象中也是清楚的,并且因此,可以容易地在屏幕显示器上反映改变。同样情况对于在块集合中反映3D对象的移动的情况是成立的。另一方面,当一个3D对象与所组装的块集合的整体关联时,需要适当地设置块集合和3D对象的对应位置,以便合适地将块集合和3D对象彼此互锁。In the example of FIG. 16 , a mode in which a user applies a 3D object in units of one or more blocks is assumed. Therefore, the correspondence between real blocks and virtual objects is similar to that of non-communication blocks, and management can also be performed in a similar manner. That is, when the joint angle of the real block set is changed, the modified position caused by the change is also clear in the 3D object, and thus, the change can be easily reflected on the screen display. The same is true for the case of reflecting movement of 3D objects in a set of blocks. On the other hand, when a 3D object is associated with the whole of the assembled block set, the corresponding positions of the block set and the 3D object need to be properly set in order to properly interlock the block set and the 3D object with each other.
图17示出在一个3D对象与所组装的块集合关联的情况下的块集合与显示器之间的关系。该示例假设这样的情况:用户创建被假设为表示升降机货车的块集合260,并且选择升降机货车262作为显示器上的3D对象。块集合260包括被提供给假设为表示升降机的块的多个接头264a、264b和264c,并且还包括装配到充当平台的块的轮266a、266b、266c和266d。Fig. 17 shows the relationship between a block set and a display in the case where one 3D object is associated with the assembled block set. This example assumes a situation where a user creates a set of tiles 260 assumed to represent an elevator truck, and selects an elevator truck 262 as a 3D object on the display. The set of blocks 260 includes a number of joints 264a, 264b and 264c provided to the blocks assumed to represent elevators, and also includes wheels 266a, 266b, 266c and 266d fitted to the blocks acting as platforms.
当用户弯曲和伸展块集合260的接头并且以相同方式在屏幕上移动升降机货车262时,例如,需要设置将要在该位置处反映接头264a、264b和264c的弯曲和伸展的、升降机货车262的位置。此外,当将要在块集合260的实际移动中反映显示器上的升降机货车262的移动时,需要根据显示器上的移动来确定每个轮的作用、旋转速度、转向角度等。该实施例中的块集合260由用户自由地组装。因此,期望作为升降机的部件而移动的部件、升降机货车的前后关系等极大地取决于用户的意图。相应地,将描述设置这样自由组装的事物的移动与提前制备的3D对象的移动之间的对应关系的方法。When the user bends and stretches the joints of the block set 260 and moves the lift truck 262 on the screen in the same manner, for example, it is necessary to set the position of the lift truck 262 at which the bending and stretching of the joints 264a, 264b and 264c will be reflected . Furthermore, when the movement of the lift truck 262 on the display is to be reflected in the actual movement of the block set 260, the role of each wheel, rotation speed, steering angle, etc. needs to be determined from the movement on the display. The block set 260 in this embodiment is freely assembled by the user. Therefore, the parts that are expected to move as parts of the elevator, the front-rear relationship of the elevator wagon, and the like largely depend on the intention of the user. Accordingly, a method of setting the correspondence between the movement of such a freely assembled thing and the movement of a 3D object prepared in advance will be described.
图18示出对于将块集合和3D对象的移动彼此关联所必需的信息。附图中的左侧是与图17中的块集合260对应的块集合270的示意图。附图中的右侧是与图17中的3D对象的升降机货车262对应的升降机货车272的示意图。如附图中所描绘的,对于块集合270设置在信息处理设备10识别形状时所使用的坐标系统,并且对于升降机货车262设置相对于3D模型的局部坐标系统。两个坐标系统是彼此无关地设置的。因此块集合270和升降机货车272在相应坐标系统中的取向发生变化。FIG. 18 shows information necessary for associating a block set and movement of a 3D object with each other. The left side in the figure is a schematic diagram of a block set 270 corresponding to the block set 260 in FIG. 17 . The right side in the figure is a schematic diagram of a lift truck 272 corresponding to the lift truck 262 of the 3D object in FIG. 17 . As depicted in the drawing, a coordinate system used when the information processing apparatus 10 recognizes a shape is set for the block set 270 , and a local coordinate system with respect to the 3D model is set for the lift truck 262 . The two coordinate systems are set independently of each other. The orientation of the set of blocks 270 and the lift truck 272 in the corresponding coordinate system is thus changed.
为了便于理解,图18的示例示出由x轴和y轴所形成的二维平面中的形状,即,当在与相应坐标系统的x轴平行的状态下定义块集合270和升降机货车272时的侧表面形状。然而,块集合270和升降机货车272相对于相应坐标系统的取向相对于x轴彼此相反。在此,块集合270的三个接头被表示为RJ1、RJ2和RJ3,升降机货车272的三个接头被表示为VJ1、VJ2和VJ3。此外,块集合270的四个轮被表示为RA1、RA2、RA3和RA4,并且升降机货车的履带轨道被表示为VA1和VA2。顺便一提,轮RA3和RA4以及履带轨道VA2处于与显示表面相对的侧表面上,并且正常地被隐藏。然而,在图18中,轮RA3和RA4以及履带轨道VA2如虚线所指示地被描绘为有所偏移,并且附图标号被描绘于圆括号中。For ease of understanding, the example of FIG. 18 shows the shape in a two-dimensional plane formed by the x-axis and the y-axis, that is, when the block set 270 and the lift truck 272 are defined in a state parallel to the x-axis of the corresponding coordinate system shape of the side surface. However, the orientations of the set of blocks 270 and the lift truck 272 with respect to the respective coordinate systems are opposite to each other with respect to the x-axis. Here, the three joints of block set 270 are denoted as RJ1, RJ2, and RJ3, and the three joints of lift truck 272 are denoted as VJ1, VJ2, and VJ3. Furthermore, the four wheels of block set 270 are denoted RA1, RA2, RA3, and RA4, and the track tracks of the lift wagon are denoted VA1 and VA2. Incidentally, the wheels RA3 and RA4 and the crawler track VA2 are on the side surface opposite to the display surface, and are normally hidden. However, in FIG. 18 , wheels RA3 and RA4 and track track VA2 are depicted offset as indicated by dashed lines, and reference numerals are depicted in parentheses.
用于将该块集合270与该升降机货车272彼此互锁的最简单的方法可以是:分别将块集合270的接头RJ1、RJ2和RJ3与升降机货车272的接头VJ1、VJ2和VJ3关联,将轮RA1和RA2与附图中未描绘的履带轨道VA2关联,而且将轮RA3和RA4与履带轨道VA1关联。然而,在该示例中,升降机的接头的位置在块集合270与升降机货车272之间有所不同。因此,例如,当以相同角度个体地弯曲块集合270和升降机货车272的对应接头时,可能不发生用户所期待的移动。The simplest method for interlocking the block set 270 and the lift wagon 272 to each other may be to associate the joints RJ1, RJ2 and RJ3 of the block set 270 with the joints VJ1, VJ2 and VJ3 of the lift wagon 272, respectively, and the wheels RA1 and RA2 are associated with track track VA2 not depicted in the figures, and wheels RA3 and RA4 are associated with track track VA1 . However, in this example, the location of the joints of the lifts differs between block collection 270 and lift wagon 272 . Thus, for example, when the corresponding joints of block set 270 and lift truck 272 are individually bent at the same angle, the movement expected by the user may not occur.
此外,通常,块集合270的接头角度具有物理可移动范围,并且作为模型的升降机货车272的接头也具有可移动范围。当不考虑这些约束条件时,可能存在3D模型以不可能的角度弯曲的情况或者块集合的接头角度达到极限并且块集合没有进一步移动的情况。此外,由于相对于坐标系统的取向不同,可能存在当块集合270前进时而显示器上的升降机货车272后退的情况。为了防止该问题,通过执行以下处理:设置共用坐标系统、设置对应位置以及将对应位置的具体移动彼此关联,来协调真实事物与虚拟世界中的事物的互锁。In addition, generally, the joint angle of the block assembly 270 has a physically movable range, and the joint of the lift truck 272 as a model also has a movable range. When these constraints are not considered, there may be situations where the 3D model bends at impossible angles or where the joint angle of a block collection reaches a limit and the block collection does not move further. Additionally, due to the different orientations relative to the coordinate system, there may be instances where the lift truck 272 on the display backs up when the collection of blocks 270 advances. In order to prevent this problem, the interlocking of real things and things in the virtual world is coordinated by performing processes of setting a common coordinate system, setting corresponding positions, and associating specific movements of the corresponding positions with each other.
图19是描绘信息处理设备10将块集合和3D对象的移动彼此关联的处理过程的流程图。首先,在用户将块集合组装成期望的形状之后,用户经由输入设备14输入指令请求以开始与3D对象的关联。当信息处理设备10的信息处理区段30接收到该请求时(S40),信息处理区段30从结构分析区段22获取与所组装的块集合的结构有关的信息(S42)。然后,基于块集合的形状等从已经在模型数据存储区段26中准备好呈现数据的3D对象当中提取合适的模型作为候选(S44)。FIG. 19 is a flowchart depicting a processing procedure in which the information processing device 10 associates a block set and a movement of a 3D object with each other. First, after the user assembles the set of blocks into a desired shape, the user inputs an instruction request via the input device 14 to start the association with the 3D object. When the information processing section 30 of the information processing device 10 receives the request (S40), the information processing section 30 acquires information on the structure of the assembled block set from the structure analyzing section 22 (S42). Then, a suitable model is extracted as a candidate from among 3D objects whose presentation data has been prepared in the model data storage section 26 based on the shape of the block set or the like (S44).
模型数据存储区段26将各个种类的对象模型(诸如升降机货车等)与指示每个模型的特征的元数据关联,并且存储彼此关联的呈现数据和元数据。当粗略地分类时,元数据包括作为事物的特征、结构特征以及外部特征。作为事物的特征包括例如物品(诸如人、动物、车辆、食物等)、专有名词(诸如电影、动画或角色显现的游戏的名称、角色的名称等)以及相关的时段(诸如原始年龄、中间年龄、当前年龄、未来、特定年份等)。结构特征包括接头的数量、每个接头的可移动角度和自由度、链接的长度和厚度、接头的连接关系、驱动力、轮胎直径等。The model data storage section 26 associates various kinds of object models such as lift trucks and the like with metadata indicating characteristics of each model, and stores presentation data and metadata associated with each other. When roughly classified, metadata includes features as things, structural features, and external features. Features that are things include, for example, objects (such as people, animals, vehicles, food, etc.), proper nouns (such as the name of a movie, animation, or game in which a character appears, the name of a character, etc.), and associated time periods (such as original age, middle age, etc.) age, current age, future, specific year, etc.). Structural features include the number of joints, the movable angle and degree of freedom of each joint, the length and thickness of links, the connection relationship of joints, driving force, tire diameter, etc.
外部特征包括非通信块的色彩、表面形状、数量或体积、块集合中的非通信块的覆盖比例、当提供LED或显示设备时的LED或显示设备的数量、显示设备的种类等。在模型数据存储区段26中,这些各种特征与每个模型关联。关联的特征越多,提取合适的候选的准确度就越高。然而,并不是意图关联所有特征。在S44中,信息处理区段30基于结构特征和外部特征从与块集合的形状或结构有关的信息(在S42中获取该信息)中提取具有与真实块集合的高相似度的候选模型。External features include color, surface shape, number or volume of non-communicating blocks, coverage ratio of non-communicating blocks in a block set, number of LEDs or display devices when provided, type of display device, etc. In the model data storage section 26, these various characteristics are associated with each model. The more features associated, the higher the accuracy in extracting suitable candidates. However, not all features are intended to be correlated. In S44, the information processing section 30 extracts a candidate model having a high degree of similarity to the real block set from information on the shape or structure of the block set (acquired in S42) based on structural features and external features.
例如,假定NRJ是块集合的接头的数量,NRA是块集合的轮的数量,NVJ是3D对象的接头的数量,NVA是3D对象的轮的数量,通过以下公式来计算相似度估计值。For example, assuming that N RJ is the number of joints of a block set, N RA is the number of rounds of a block set, N VJ is the number of joints of a 3D object, and N VA is the number of rounds of a 3D object, the similarity is calculated by the following formula estimated value.
相似度估计值=(NRJ-NVJ)×wJ+(NRA-NVA)×wA Estimated value of similarity = (N RJ -N VJ )×w J +(N RA -N VA )×w A
其中,wJ和wA是用于接头的数量的估计和轮的估计的权重,并且是根据接头的数量的估计和轮的估计的重要性来确定的。估计值越接近零,相似度就越高。此外,当估计值为正时,估计值指示块集合具有大量的接头或轮的趋势。当估计值为负时,估计值指示3D对象具有大量的接头或轮的趋势。当存在使得估计值为零的3D对象时,将该3D对象提取作为最可能的候选模型。where wJ and wA are the weights for the estimate of the number of joints and the estimate of the round and are determined according to the importance of the estimate of the number of joints and the estimate of the round. The closer the estimate is to zero, the higher the similarity. Furthermore, when the estimate is positive, the estimate indicates a tendency for the set of blocks to have a large number of joints or rounds. When the estimate is negative, the estimate indicates a tendency for the 3D object to have a large number of joints or rounds. When there is a 3D object such that the estimated value is zero, the 3D object is extracted as the most likely candidate model.
此外,当存在获取具有相同绝对值但在符号上彼此不同的估计值的多个3D对象时,优选地提取提供负估计值的3D对象。这是因为,随着3D对象的接头或轮的数量增加,可以在屏幕上表达更详细的移动,并且块集合的移动可以表达得更丰富。在这种相似度的估计之前,可以基于用户从作为事物的特征当中所选择的特征来缩窄候选。作为事物的特征、结构特征和外部特征可以酌情地彼此组合以提取候选,或者可以允许用户还指定除了作为事物的特征之外的特征。Furthermore, when there are a plurality of 3D objects for which evaluation values having the same absolute value but different in sign from each other are obtained, it is preferable to extract a 3D object providing a negative evaluation value. This is because, as the number of joints or wheels of a 3D object increases, more detailed movement can be expressed on the screen, and movement of a collection of blocks can be expressed richer. Prior to estimation of such similarity, candidates may be narrowed down based on features selected by the user from among features that are things. Features as things, structural features, and external features may be combined with each other as appropriate to extract candidates, or the user may be allowed to also specify features other than features as things.
信息处理区段30将这样提取的多个候选模型显示在显示设备16上,并且接收用户经由输入设备14等执行的选择输入(S46)。由此所选择的模型的示例是图18中所描绘的升降机货车272。接下来,设置对于块集合和图像中的对象共用的坐标系统(S48)。因此,在3D对象中也可以相似地处置确定块集合的姿态和行进方向的参数。例如,当图18中的块集合270在x轴的负方向上前进时,设置坐标系统使得3D对象的升降机货车272也在x轴的负方向上前进。此外,共用坐标系统使得可以进行接头角度的共用限定,并且当接头角度改变时正确地确定哪个链接相对于接头移动。The information processing section 30 displays the plurality of candidate models thus extracted on the display device 16, and receives a selection input by the user via the input device 14 or the like (S46). An example of a model thus selected is the lift truck 272 depicted in FIG. 18 . Next, a coordinate system common to the block set and the objects in the image is set (S48). Thus, the parameters determining the pose and direction of travel of a collection of blocks can be handled similarly in 3D objects as well. For example, when the block set 270 in FIG. 18 advances in the negative direction of the x-axis, the coordinate system is set so that the lift truck 272 of the 3D object also advances in the negative direction of the x-axis. Furthermore, a common coordinate system allows for a common definition of joint angles and correct determination of which link moves relative to the joint when the joint angle changes.
在共用坐标系统中所定义的各个种类的参数经过坐标变换成为起初对3D对象所设置的局部坐标系统中的值,并且从而反映在3D对象的呈现中。当块集合和3D对象的形状彼此相似并且其前面和后面等是清楚的时候,信息处理区段33设置共用坐标系统,使得块集合和3D对象两者具有相同的取向。可替换地,用户可以调整3D对象在屏幕上的取向,使得3D对象的取向变为与块集合的取向相同,并且信息处理区段30可以设置具有该取向的坐标系统作为基准。因此,在用户意图的取向上,即使是前面和后面不清楚的块集合,也可以与3D对象互锁。Various kinds of parameters defined in the common coordinate system undergo coordinate transformation into values in the local coordinate system originally set for the 3D object, and are thus reflected in the rendering of the 3D object. When the shapes of the block set and the 3D object are similar to each other and their front and rear etc. are clear, the information processing section 33 sets a common coordinate system so that both the block set and the 3D object have the same orientation. Alternatively, the user may adjust the orientation of the 3D object on the screen so that the orientation of the 3D object becomes the same as that of the block set, and the information processing section 30 may set a coordinate system with this orientation as a reference. Therefore, even a set of blocks whose front and back are not clear can be interlocked with the 3D object in the orientation of the user's intention.
接下来,设置块集合和3D对象的对应位置(S50)。当接头的数量以及块集合和3D对象的链接的连接关系彼此一致时,可以由信息处理区段30联合地执行该处理。具体地,基于在S42中获取的块集合的结构以及S46中所选择的对象模型的结构,信息处理区段30在几何上推导块集合和对象模型的对应接头,并且将块集合和对象模型的对应接头彼此关联。可替换地,显示设置屏幕以允许用户进行设置。在此情况下所关联的位置典型地是图18中的接头或轮。然而,对于期望反映块集合的改变(诸如弯曲、旋转、移置等)的位置,允许用户自由地在3D对象侧上设置对应点。这使得可以移动没有任何接头的动物(诸如软体动物等),或使得不弯曲的事物处于现实弓形(actuality bow)中。Next, corresponding positions of the block set and the 3D object are set (S50). When the number of joints and the connection relationship of the block set and the link of the 3D object coincide with each other, the processing may be jointly performed by the information processing section 30 . Specifically, based on the structure of the block set acquired in S42 and the structure of the object model selected in S46, the information processing section 30 geometrically derives the corresponding joints of the block set and the object model, and combines the block set and the object model Corresponding joints are associated with each other. Alternatively, a setting screen is displayed to allow the user to make settings. The associated locations in this case are typically joints or wheels in FIG. 18 . However, the user is allowed to freely set a corresponding point on the 3D object side for a position desired to reflect a change (such as bending, rotation, displacement, etc.) of a block set. This makes it possible to move animals without any joints (such as molluscs, etc.), or to have things that do not bend in an actuality bow.
随便一提,所关联的位置不一定需要处于一对一关系中。也就是说,块集合的多个接头可以与3D对象的一个接头关联,或3D对象的多个接头可以与块集合的一个接头关联。同样情况对于轮成立。在即使当块集合和3D对象具有不同数量的接头时也可以通过将多个接头看作一个接头来使得块集合和3D对象的总体结构彼此一致的情况下,信息处理区段30可以以该方式对接头进行分组。As a side note, the associated locations do not necessarily need to be in a one-to-one relationship. That is, multiple joints of a set of blocks may be associated with one joint of a 3D object, or multiple joints of a 3D object may be associated with one joint of a set of blocks. The same holds true for wheels. In the case where the overall structure of the block set and the 3D object can be made consistent with each other by treating a plurality of joints as one joint even when the block set and the 3D object have different numbers of joints, the information processing section 30 can in this way Group connectors.
在该情况下,例如,块集合和3D对象中的一者的接头的一个分组与块集合和3D对象中的另一者的一个接头关联。此时,后者的接头角度的改变被分配为前者的接头的一个分组的移动。稍后将描述具体示例。无论接头是否分组,信息处理区段30不仅考虑块集合和3D对象的总体结构而且还考虑各个接头的可移动角度来设置对应。例如,具有相同可移动角度的接头彼此关联。因此,可以从各种视点(诸如总体结构、可移动角度等)估计各接头之间的相似度,并且估计值高于阈值的接头可以彼此关联。将关于由信息处理区段30或用户所设置的对应位置的信息存储在对应信息存储区段28中。In this case, for example, one group of joints of one of the block set and the 3D object is associated with one joint of the other of the block set and the 3D object. At this time, a change in the joint angle of the latter is assigned as a movement of one group of joints of the former. A specific example will be described later. Regardless of whether the joints are grouped or not, the information processing section 30 sets the correspondence in consideration of not only the block set and the general structure of the 3D object but also the movable angles of the respective joints. For example, joints with the same movable angle are associated with each other. Accordingly, similarities between joints can be estimated from various viewpoints such as overall structure, movable angle, etc., and joints whose estimated values are higher than a threshold can be associated with each other. Information on the corresponding position set by the information processing section 30 or the user is stored in the corresponding information storage section 28 .
接下来,对于这样所关联的位置设置移动对应(S52)。也就是说,关于是否照原样地反映接头角度的改变来进行设置,或者当接头没有基于一对一进行关联时,设置一比例,其中以该比例分配接头角度的改变等。当块集合和3D对象的结构彼此一致并且对应接头的可移动角度彼此相等时,接头角度可以基本上看作彼此相似,并且因而信息处理区段30以此方式进行设置。当通过对接头角度进行分组来使得结构彼此相似时,一个接头角度的改变被分配给属于一个对应分组的接头的移动,如上所述。此时,可以根据相应接头的可移动角度之间的比例来确定分配比例。Next, movement correspondence is set for the positions thus associated (S52). That is, setting is made as to whether to reflect changes in joint angles as they are, or when joints are not associated on a one-to-one basis, a ratio in which changes in joint angles are allocated, etc. is set. When the structures of the block set and the 3D object coincide with each other and the movable angles of the corresponding joints are equal to each other, the joint angles can basically be regarded as similar to each other, and thus the information processing section 30 is set in this way. When structures are made similar to each other by grouping joint angles, a change in one joint angle is assigned to movement of joints belonging to one corresponding group, as described above. At this time, the allocation ratio may be determined according to the ratio between the movable angles of the corresponding joints.
当可以这样以提前设置的规则来设置移动对应时,信息处理区段30可以进行设置。此外,显示设置屏幕,以允许用户自由地设置移动对应,或者校正已经设置的对应关系。此外,当3D对象的车辆的移动被反映在块集合的车辆的移动中时,显示器上的3D对象的车辆的速度和块集合的轮轴的旋转速度彼此关联。这种关系根据连接到块集合的轮的直径来进行改变。因此,当轮的直径是已知时,信息处理区段30可以通过操作来确定块集合的轮轴的旋转速度。当轮的直径是未知时,在用户实际上移动块集合时获取必要的参数,如稍后将描述的。对于将要关联的所有位置,重复S50至S52的处理(S54中的N)。当所有位置关联时,处理结束(S54中的Y)。When the movement correspondence can be set in this way with rules set in advance, the information processing section 30 can make the setting. In addition, a setting screen is displayed to allow the user to freely set the movement correspondence, or to correct the already set correspondence. Also, when the movement of the vehicle of the 3D object is reflected in the movement of the vehicle of the block set, the speed of the vehicle of the 3D object on the display and the rotational speed of the wheel shaft of the block set are associated with each other. This relationship changes according to the diameter of the wheel connected to the set of blocks. Thus, when the diameter of the wheel is known, the information processing section 30 may be operable to determine the rotational speed of the wheel axle of the set of blocks. When the diameter of the wheel is unknown, necessary parameters are acquired when the user actually moves the set of blocks, as will be described later. The processing of S50 to S52 is repeated for all positions to be associated (N in S54). When all positions are associated, the process ends (Y in S54).
图20描绘被显示在显示设备16上以在图19中的S46中接收由用户进行的模型选择输入的屏幕的示例。模型选择接收屏幕280包括多个模型(即“模型1”、“模型2”和“模型3”)的图像、对于选择输入进行提示的字符串282以及由输入设备14可移动的光标284。“模型1”、“模型2”和“模型3”是在图19中的S44中提取的候选模型,并且是作为通过作为事物的特征、结构特征和外部特征中的至少一个进行过滤的结果,如上所述。当用户将“升降机货车”指定为作为事物的特征时,例如,所提取的模型都是升降机货车。在此情况下,在显示模型选择接收屏幕280之前,还显示用于接收“升降机货车”的选择的屏幕。FIG. 20 depicts an example of a screen displayed on the display device 16 to receive a model selection input by the user in S46 in FIG. 19 . The model selection reception screen 280 includes images of a plurality of models (ie, “Model 1 ,” “Model 2 ” and “Model 3 ”), a character string 282 prompting for selection input, and a cursor 284 movable by the input device 14 . "Model 1", "Model 2" and "Model 3" are candidate models extracted in S44 in FIG. 19 , and are as a result of filtering by at least one of features as things, structural features, and external features, as above. When the user specifies "elevator wagon" as a feature of a thing, for example, the extracted models are all lift wagons. In this case, before the model selection acceptance screen 280 is displayed, a screen for accepting selection of "elevator truck" is also displayed.
所提取的数量不限于三个。可以提取匹配条件的所有事物。可替换地,通过使用以上所述的相似度估计值来对模型进行排名,并且可以提取排名高的预定数量的模型。在此情况下,模型选择接收屏幕280可以从左边按排名的降序来布置模型的图像。在图20中,模型1”、“模型2”和“模型3”均是升降机货车,但模型的升降机部件的形状(诸如接头的数量等)彼此不同。例如,用户通过凭借光标284指示期望的模型或与块集合相似的模型以及凭借输入设备14执行确定输入来选择模型。The extracted number is not limited to three. All things that match the criteria can be extracted. Alternatively, the models are ranked by using the similarity estimation values described above, and a predetermined number of high-ranked models may be extracted. In this case, the model selection receiving screen 280 may arrange images of models in descending order of ranking from the left. In FIG. 20 , Model 1”, “Model 2” and “Model 3” are all lift wagons, but the shapes of the lift parts of the models (such as the number of joints, etc.) are different from each other. For example, the user indicates the desired A model or a model similar to a set of blocks and by means of the input device 14 performs a definite input to select a model.
此外,除了用于经由光标284选择输入的手段之外的手段可以用于选择模型。例如,提出这样一种技术:由相机122拍摄用户,并且从深度图像等中检测用户的指尖的位置并且进而检测显示屏幕上所指示的位置。当使用该技术并且用户指示待选择的模型时,信息处理设备10可以识别所选择的模型。可以以相似的方式来实现用户在图21和图22中所描绘的相应设置屏幕上进行的输入。Furthermore, means other than means for selecting input via cursor 284 may be used to select a model. For example, there is proposed a technique of photographing a user by the camera 122 and detecting the position of the user's fingertip from a depth image or the like and further detecting the position indicated on the display screen. When this technique is used and the user indicates a model to be selected, the information processing device 10 can recognize the selected model. User input on the respective setup screens depicted in FIGS. 21 and 22 may be implemented in a similar manner.
图21描绘被显示在显示设备16上以在图19中的S48中设置对于块集合以及所选择的模型共用的坐标系统的屏幕的示例。在该示例中,用户通过根据块集合的取向调整屏幕上的3D对象的取向来指定共用坐标系统。因此,如上所述,可以将总体结构的前后取向、每个链接相对于接头的位置关系、接头角度的限定等进行统一。模型显示取向设置接收屏幕290包括:图像292,其中升降机货车的前部取向为左;图像294,其中升降机货车的前部取向为右;字符串296,其提示取向的说明;以及光标298,可由输入设备14移动。FIG. 21 depicts an example of a screen displayed on the display device 16 to set the coordinate system common to the block set and the selected model in S48 in FIG. 19 . In this example, the user specifies a common coordinate system by adjusting the orientation of the 3D objects on the screen according to the orientation of the set of blocks. Therefore, as described above, the front-back orientation of the overall structure, the positional relationship of each link with respect to the joint, the definition of the joint angle, etc. can be unified. The model display orientation setup reception screen 290 includes: an image 292, where the front of the lift truck is oriented left; an image 294, where the front of the lift truck is oriented right; a string 296, which prompts a description of the orientation; and a cursor 298, which can be accessed by The input device 14 moves.
该示例假设用户在图20中的模型选择接收屏幕280上选择“模型1”。显示从左右两个方向观看相同的模型的对象的图像。例如,用户将块集合260放置得如附图中所描绘的那样,通过光标298来指示描绘与块集合相似的取向或描绘用户认为与块集合的取向相同的取向的图像,并且通过输入设备14执行确定输入。在附图的示例中,选择左取向的图像292。然后,信息处理区段30对块集合260和3D对象设置坐标系统,使得块集合260的取向(该取向由结构分析区段22获取)以及3D对象在所选择的图像中的取向被限定为相同取向。顺便一提,如在该示例中,当可以基于结构(诸如升降机相对于平台车辆等的位置)估计块集合260和3D对象前部和后部时,信息处理区段30可以如上所述地设置坐标系统。This example assumes that the user selects "Model 1" on the model selection reception screen 280 in FIG. 20 . Displays images of objects looking at the same model from both left and right directions. For example, the user places block set 260 as depicted in the figure, indicates by cursor 298 an image depicting a similar orientation to the block set or depicts an orientation that the user believes is the same as that of the block set, and via input device 14 Execute OK input. In the example of the figure, the left-oriented image 292 is selected. Then, the information processing section 30 sets a coordinate system for the block set 260 and the 3D object such that the orientation of the block set 260 (which is acquired by the structure analysis section 22) and the orientation of the 3D object in the selected image are defined to be the same orientation. By the way, as in this example, when the block set 260 and the 3D object front and rear can be estimated based on structures such as the position of the elevator relative to the platform vehicle, etc., the information processing section 30 can be set as described above coordinate system.
图22描绘被显示在显示设备16上以在图19中的S50中设置块集合和3D对象的对应位置的示例。对应位置设置屏幕300包括:3D对象的图像302;命令列表区段304;字符串306,其提示设置输入;以及光标308,可由输入设备14移动。屏幕上的3D对象在经过模型显示取向设置接收屏幕290之后处于与块集合相同的取向中。因此,用户容易理解与块集合的对应。对应位置设置屏幕300可以进一步显示块集合260的图像310。FIG. 22 depicts an example displayed on the display device 16 to set the corresponding positions of the block set and the 3D object in S50 in FIG. 19 . The corresponding position setting screen 300 includes: an image 302 of a 3D object; a command list section 304 ; a character string 306 prompting setting input; and a cursor 308 movable by the input device 14 . The 3D objects on the screen are in the same orientation as the block set after passing through the model display orientation setting reception screen 290 . Therefore, the user can easily understand the correspondence with the block set. The corresponding location setting screen 300 may further display an image 310 of the block set 260 .
图像310是由相机122所拍摄的图像或者其中块集合260的状态(该状态由信息处理设备10识别)被呈现为3D对象的图像。在前一情况下,当用户和相机122相对于块集合260处于彼此相对的侧上时,将所拍摄的图像水平地翻转以再现从用户观看的块集合260。在后一情况下,当非通信块使得难以确认核心的结构时,可以仅显示核心的图像。The image 310 is an image captured by the camera 122 or an image in which the state of the block set 260 , which is recognized by the information processing device 10 , is represented as a 3D object. In the former case, when the user and the camera 122 are on opposite sides of each other with respect to the tile set 260 , the captured image is flipped horizontally to reproduce the tile set 260 as viewed from the user. In the latter case, when non-communication blocks make it difficult to confirm the structure of the core, only the image of the core may be displayed.
首先,用户通过例如弯曲和伸展接头来移动块集合260中期望关联的接头(例如箭头A)。由结构分析区段22识别移动。由此实现指定块集合侧上待关联的接头(例如RJ2)的输入。接下来,用户通过光标308在3D对象的图像302中指示3D对象侧上待关联的接头(例如VJ3),并且通过输入设备14执行确定输入。块集合260的接头RJ2和3D对象的接头VJ3由此彼此关联。信息处理区段30记录这些接头的对应关系并且将其存储在对应信息存储区段28中。First, the user moves the desired associated joint (eg, arrow A) in tileset 260 by, for example, bending and stretching the joint. Movements are identified by the structural analysis section 22 . An input specifying the connector to be associated (for example RJ2) on the side of the block set is thus achieved. Next, the user designates a joint (for example, VJ3 ) to be associated on the 3D object side in the image 302 of the 3D object by the cursor 308 , and performs a determination input by the input device 14 . The joint RJ2 of the block set 260 and the joint VJ3 of the 3D object are thus associated with each other. The information processing section 30 records the correspondence of these joints and stores it in the corresponding information storage section 28 .
对于用户期望移动接头的块集合260的所有接头进行这种设置。此外,可以对于轮进行相似的设置。当实际上基于这样所设置的对应关系来移动块集合260时,可以允许用户检查3D对象的移动。然后,可以允许根据需要进行校正。为此,命令列表区段304显示GUI(诸如,用于取消对应位置的紧接在前的设置并且再次进行设置的“向前(prev)”按钮、用于确认当前设置并且设置下一对应位置的“向后(next)”按钮、用于在当前时间存储所有设置并且结束设置处理的“停止”按钮等)。此外,还显示用于对显示各个种类的设置屏幕作为菜单的屏幕进行过渡的“菜单(menu)”按钮。此外,在设置待稍后描述的移动对应之后,可以执行移动确认处理,并且可以通过“向前”按钮或“向后”按钮相应地确认是否取消设置。This is done for all joints of the block set 260 that the user desires to move joints. Also, similar settings can be made for wheels. When the block set 260 is actually moved based on such set correspondence, the user may be allowed to check the movement of the 3D object. Then, you can allow corrections as needed. For this, the command list section 304 displays a GUI such as a "prev" button for canceling the immediately preceding setting of the corresponding position and setting it again, for confirming the current setting and setting the next corresponding position "next" button, "stop" button for storing all the settings at the current time and ending the setting processing, etc.). In addition, a "menu" button for making a transition to a screen displaying various kinds of setting screens as a menu is also displayed. Also, after setting a movement correspondence to be described later, movement confirmation processing can be performed, and whether to cancel the setting can be confirmed by a "forward" button or a "backward" button accordingly.
顺便一提,当能够根据接头的可移动角度或结构约束条件来自动地缩窄可以与块集合260的指定接头关联的3D对象的接头时,信息处理区段30可以对用户建议所述接头作为候选。也就是说,在指定块集合侧上的待关联的接头的时间点,在对应位置设置屏幕300上所显示的3D对象的图像302中的用于关联的作为候选的接头在色彩等方面进行改变,并且允许用户选择接头之一。因此,即使当允许用户进行自由的对应设置时,也可以避免不可能的关联。By the way, when the joints of the 3D objects that can be associated with the specified joints of the block set 260 can be automatically narrowed according to the movable angles of the joints or structural constraints, the information processing section 30 can suggest the joints to the user as candidate. That is, at the point of time when joints to be associated on the block set side are specified, joints that are candidates for association in the image 302 of the 3D object displayed on the corresponding position setting screen 300 are changed in color or the like. , and allow the user to select one of the connectors. Therefore, even when the user is allowed to make free correspondence settings, impossible association can be avoided.
此外,如上所述,允许块集合的多个接头与3D对象的一个接头关联,或允许块集合的一个接头与3D对象的多个接头关联。在图22的示例中,指示块集合的两个接头与3D模型的接头VJ3关联的两个标记312被提供给3D模型的接头VJ3。例如,通过凭借移动块集合260的接头RJ1将块集合260的接头RJ1与3D对象的接头VJ3关联并且进一步通过移动接头RJ2将接头RJ2与3D对象的同一接头VJ3关联的操作来实现该情况。Furthermore, as described above, multiple joints of a set of blocks are allowed to be associated with one joint of a 3D object, or one joint of a set of blocks is allowed to be associated with multiple joints of a 3D object. In the example of FIG. 22 , two markers 312 indicating that the two joints of the set of blocks are associated with the joint VJ3 of the 3D model are provided to the joint VJ3 of the 3D model. This is achieved, for example, by the operation of associating the joint RJ1 of the block set 260 with the joint VJ3 of the 3D object by moving the joint RJ1 of the block set 260 and further associating the joint RJ2 with the same joint VJ3 of the 3D object by moving the joint RJ2.
另一方面,3D对象的接头VJ1和VJ2被分组为一个分组并且被椭圆314包围,该椭圆314指示3D对象的接头VJ1和VJ2与块集合的一个接头关联。为了这样将3D对象的多个接头分组为一个分组,命令列表区段304还显示“分组”按钮的GUI,以用于呈现指示分组的椭圆314。例如,用户移动块集合260的接头RJ3。然后,通过光标308选择屏幕上的“分组”按钮,并且绘制椭圆314以便包围3D对象的接头VJ2和VJ1。块集合260的接头RJ3由此与3D对象的接头VJ2和VJ1关联。On the other hand, the joints VJ1 and VJ2 of the 3D object are grouped into one group and surrounded by an ellipse 314 indicating that the joints VJ1 and VJ2 of the 3D object are associated with one joint of the block set. In order to thus group multiple joints of a 3D object into a group, the command list section 304 also displays a GUI of a "group" button for presenting an oval 314 indicating the group. For example, the user moves joint RJ3 of block set 260 . Then, the "Group" button on the screen is selected by the cursor 308, and an ellipse 314 is drawn so as to enclose the joints VJ2 and VJ1 of the 3D object. Joint RJ3 of block set 260 is thus associated with joints VJ2 and VJ1 of the 3D object.
信息处理区段30可以从3D对象的块集合的总体结构、可移动角度等视点确定一些合适的分组图案,并且在对应位置设置屏幕300上显示分组图案作为候选。在此情况下,用户通过从候选中选择一个图案来确定分组。可替换地,分组图案候选可以被创建为3D对象的元数据,并且被显示在对应位置设置屏幕300上以便用户进行选择。顺便一提,当将块集合的图像310显示在对应位置设置屏幕300上时,可以通过光标308在图像310上指定块集合的接头。此外,在3D对象的图像302和块集合的图像310中可以以相同的色彩显示关联的接头,或者可以通过凭借直线将关联的接头彼此连接来清楚地指示其对应关系。The information processing section 30 may determine some suitable grouping patterns from viewpoints such as the overall structure of a block set of 3D objects, movable angles, etc., and display the grouping patterns as candidates on the corresponding position setting screen 300 . In this case, the user determines the group by selecting one pattern from the candidates. Alternatively, grouping pattern candidates may be created as metadata of the 3D object and displayed on the corresponding location setting screen 300 for user selection. Incidentally, when the image 310 of the block set is displayed on the corresponding position setting screen 300 , the joint of the block set can be designated on the image 310 by the cursor 308 . Furthermore, associated joints may be displayed in the same color in the image 302 of the 3D object and the image 310 of the block set, or their correspondence may be clearly indicated by connecting the associated joints to each other by means of straight lines.
接下来将描述这样所关联的接头的移动对应。在图19中的S52中,通过信息处理区段30、用户或信息处理区段30和用户二者的协作来设置对应。作为基本模式,图23描绘块集合和3D对象的接头在一对一的基础上彼此关联并且接头移动到相同角度的情况。图23的左边描绘块集合的接头部件320a,图23的右边描绘3D对象的对应接头部件322a。也就是说,当块集合的接头部件320a从接头不弯曲的状态按角度θ弯曲时,3D对象的对应接头部件322a也按角度θ弯曲。取决于由信息处理区段30所执行的处理,当3D对象的接头部件322a按角度θ弯曲时,对应接头322a可以通过经由驱动控制区段34驱动作为块集合的驱动区段148的致动器等按角度θ弯曲。Next, the movement correspondence of such associated joints will be described. In S52 in FIG. 19, correspondence is set by the information processing section 30, the user, or the cooperation of both the information processing section 30 and the user. As a basic pattern, FIG. 23 depicts a case where joints of block sets and 3D objects are associated with each other on a one-to-one basis and the joints move to the same angle. The left side of FIG. 23 depicts a joint component 320a of a collection of blocks, and the right side of FIG. 23 depicts a corresponding joint component 322a of a 3D object. That is, when the joint part 320a of the block set is bent by the angle θ from the state where the joint is not bent, the corresponding joint part 322a of the 3D object is also bent by the angle θ. Depending on the processing performed by the information processing section 30, when the joint part 322a of the 3D object is bent at an angle θ, the corresponding joint 322a may be driven by the actuator of the driving section 148 as a block set via the driving control section 34 etc. are bent according to the angle θ.
基于该模式,根据约束条件(诸如可移动角度、待关联的接头的数量等)、用户的意图等来实现各种设置。图24描绘在两个分组的接头与一个接头关联的情况下的各个接头的角度之间的对应的示例。图24的左边描绘块集合的接头部件320b,图24的右边描绘3D对象的对应接头部件322b。在该示例中,块集合的两个接头部件320b与3D对象的一个接头部件322b关联。然后,当块集合的接头之一按角度θ1弯曲并且另一接头按角度θ2弯曲时,3D对象的对应接头部件322b按角度(θ1+θ2)弯曲,其为角度θ1和角度θ2之和。也就是说,通过3D对象的一个接头来实现由块集合的两个接头所进行的接头角度的改变。Based on this mode, various settings are realized according to constraints such as movable angles, the number of joints to be associated, and the like, user's intention, and the like. FIG. 24 depicts an example of the correspondence between the angles of the respective joints in the case where two grouped joints are associated with one joint. The left side of FIG. 24 depicts a joint component 320b of a collection of blocks, and the right side of FIG. 24 depicts a corresponding joint component 322b of a 3D object. In this example, two joint parts 320b of the block collection are associated with one joint part 322b of the 3D object. Then, when one of the joints of the block set is bent at angle θ1 and the other joint is bent at angle θ2, the corresponding joint part 322b of the 3D object is bent at angle ( θ1 + θ2 ) , which is angle θ1 and angle The sum of θ2. That is, the change of the joint angle by two joints of the block set is realized by one joint of the 3D object.
当块集合的每个接头的可移动角度小于3D对象的对应接头要求改变的接头角度的改变时,该模式是有效的。可以合计块集合的三个或更多个接头角度的改变。角度对应关系在3D对象的多个接头被分组并且与块集合的一个接头关联的情况下也是相似的。当块集合的接头的数量小于3D对象的接头的数量时,该模式是有效的。This mode is valid when the movable angle of each joint of the block set is less than the change in joint angle required by the corresponding joint of the 3D object. Changes in three or more joint angles of a collection of blocks can be summed. The angular correspondence is also similar in the case where multiple joints of a 3D object are grouped and associated with one joint of a collection of blocks. This mode is valid when the number of joints of the block collection is less than the number of joints of the 3D object.
此外,反之,当3D对象的接头部件322b按角度(θ1+θ2)弯曲时,块集合的两个对应接头部件320b可以按相应角度θ1和θ2弯曲。在此情况下,信息处理区段30可以根据约束条件(诸如相应接头的可移动角度、块集合被假设所表示的事物的实际移动(即3D对象所表示的事物)等)来确定角度θ1与θ2之间的比例。当块集合的两个接头的可移动角度处于1:2的比例中时,例如,角度θ1和θ2也设置在1:2的比例中。Also, conversely, when the joint part 322b of the 3D object is bent at an angle (θ 1 +θ 2 ), the two corresponding joint parts 320b of the block set may be bent at corresponding angles θ 1 and θ 2 . In this case, the information processing section 30 may determine the angle θ1 according to constraint conditions such as movable angles of corresponding joints, actual movement of what the block set is supposed to represent (ie, what the 3D object represents), etc. The ratio between and θ 2 . When the movable angles of the two joints of the block set are in a ratio of 1:2, for example, the angles θ 1 and θ 2 are also set in a ratio of 1:2.
同样情况对于块集合的一个接头的角度的改变被分配给3D对象的多个接头的角度的情况成立。当假设图22中所描绘的升降机货车时,例如,自然的是,连接到3D对象的接头VJ1的挂钩在所有时间向下垂直地取向。因此,信息处理区段30计算角度θ1和θ2,以便保持该状态。这种分配规则与3D对象的数据一起创建。顺便一提,当块集合和3D对象中的一者的角度的改变之和被反映在另一者的角度的改变中的模式以及块集合和3D对象中的一者的角度的改变被反映以便分配给另一者的多个角度的改变的模式彼此组合时,块集合的多个接头也可以与3D对象的多个接头关联。The same holds for the case where a change in the angle of one joint of a set of blocks is assigned to the angles of multiple joints of a 3D object. When assuming the lift truck depicted in Fig. 22, for example, it is natural that the hook connected to the joint VJ1 of the 3D object is oriented vertically downwards at all times. Therefore, the information processing section 30 calculates the angles θ 1 and θ 2 so as to maintain this state. This distribution rule is created together with the data of the 3D object. By the way, when the sum of the change of the angle of one of the block set and the 3D object is reflected in the change of the other's angle and the change of the angle of one of the block set and the 3D object is reflected so that Multiple joints of a block set may also be associated with multiple joints of a 3D object when modes of change of multiple angles assigned to one another are combined with each other.
图25描绘在两个接头被分组并且与一个接头关联的情况下的各个接头的角度之间的对应的另一示例。图25的左边描绘块集合的接头部件320c,图25的右边描绘3D对象的对应接头部件322c。在该示例中假设块集合的两个接头具有彼此不同的旋转轴,两个接头之一关于与附图的平面垂直的轴在角度上改变,并且两个接头中的另一个关于链接的轴在角度上改变。另一方面,假设其接头与块集合的两个接头关联的3D对象的一个接头是具有使得角度能够关于与块集合的轴对应的两个轴进行改变的两个自由度的接头。FIG. 25 depicts another example of the correspondence between the angles of the respective joints where two joints are grouped and associated with one joint. The left side of FIG. 25 depicts a joint component 320c of a collection of blocks, and the right side of FIG. 25 depicts a corresponding joint component 322c of a 3D object. It is assumed in this example that the two joints of the block collection have different axes of rotation from each other, that one of the two joints changes angularly about an axis perpendicular to the plane of the drawing, and that the other of the two joints changes about the linked axis in change in angle. On the other hand, it is assumed that one joint of a 3D object whose joint is associated with two joints of a block set is a joint with two degrees of freedom enabling angles to be changed about two axes corresponding to the axes of the block set.
于是,当块集合的接头部件320c的一个接头按角度θ改变并且另一接头按角度ψ改变时,3D对象的对应接头部件322c关于相应轴按角度θ和ψ改变。此外,反之,当3D对象的接头部件322c关于相应轴按角度θ和ψ改变时,块集合的两个对应接头320c可以分别按θ和ψ改变。Thus, when one joint of the joint part 320c of the block set changes by angle Θ and the other joint changes by angle ψ, the corresponding joint part 322c of the 3D object changes by angle Θ and ψ about the corresponding axis. Also, conversely, when the joint part 322c of the 3D object changes by angles θ and ψ about the corresponding axis, the two corresponding joints 320c of the block set may change by θ and ψ, respectively.
图26示出使得在一对一的基础上彼此关联的接头的角度的改变彼此不同的情况。图26的左边描绘块集合的接头部件320d,图26的右边描绘3D对象的对应接头部件322d。在该示例中,当块集合的接头按角度θ改变时,3D对象的对应接头按角度3θ改变,其为角度θ的三倍。当块集合的接头的可移动角度小于3D对象的对应接头要求改变的角度的改变时,例如,即使当块集合移动到极限时,3D对象也不能如期望地移动。还存在期望3D对象动态地移动而没有移动块集合的很多工作量的情况。FIG. 26 shows a case where changes in angles of joints associated with each other on a one-to-one basis are made different from each other. The left side of FIG. 26 depicts a joint component 320d of a collection of blocks, and the right side of FIG. 26 depicts a corresponding joint component 322d of a 3D object. In this example, when the joint of the set of blocks changes by angle Θ, the corresponding joint of the 3D object changes by angle 3Θ, which is three times the angle Θ. When a movable angle of a joint of a block set is smaller than a change in angle required by a corresponding joint of a 3D object, for example, even when the block set moves to a limit, the 3D object cannot move as desired. There are also cases where it is desired that a 3D object move dynamically without much work of moving a collection of blocks.
该问题可以通过以下来解决:按通过将块集合的接头角度的改变乘以大于1的预定值而获取的角度来改变3D对象的接头角度,如附图中所描绘的。可替换地,通过将块集合的角度的改变乘以小于1的预定值,可以按小于块集合的角度来改变3D对象的接头角度。例如,当如在例如操控器的操作中那样地期望3D对象以比移动块集合的手的移动更高的精准度微小地移动时,该模式是有效的。在3D对象的接头的角度的改变被反映在块集合的角度的改变中的情况下,进行相似设置也是足够的。顺便一提,接头之一的角度的改变乘以预定值以获取另一个接头的角度的改变的模式可以与图24和图25中所描绘的模式相组合。在此情况下,对于所有分组的接头可以乘以相同值,或可以乘以根据接头而不同的值。This problem can be solved by changing the joint angle of the 3D object by an angle obtained by multiplying the change of the joint angle of the set of blocks by a predetermined value greater than 1, as depicted in the figure. Alternatively, the joint angle of the 3D object may be changed by an angle smaller than the block set by multiplying the change in the angle of the block set by a predetermined value smaller than 1. For example, this mode is effective when a 3D object is expected to move minutely with higher precision than the movement of a hand moving a set of blocks, as in an operation such as a manipulator. It is also sufficient to make a similar setting in the case where a change in the angle of the joint of the 3D object is reflected in a change in the angle of the block set. Incidentally, the mode in which the change in the angle of one of the joints is multiplied by a predetermined value to obtain the change in the angle of the other joint may be combined with the modes depicted in FIGS. 24 and 25 . In this case, the joints for all groups may be multiplied by the same value, or may be multiplied by different values depending on the joints.
图27描绘将块集合的一个接头与3D对象的多个接头关联的另一示例。图27的左边描绘块集合的接头部件320e。图27的右边描绘3D对象的对应接头部件322e。在该示例中,块集合的一个接头部件320e与3D对象的三个接头部件322e关联。于是,当块集合的接头按角度θ弯曲时,3D对象的三个对应接头各自按相同角度θ弯曲。FIG. 27 depicts another example of associating one joint of a collection of blocks with joints of a 3D object. The left side of Figure 27 depicts the joint component 320e of the block set. The right side of Figure 27 depicts the corresponding joint part 322e of the 3D object. In this example, one joint part 320e of the block collection is associated with three joint parts 322e of the 3D object. Then, when the joints of the collection of blocks are bent by angle Θ, the three corresponding joints of the 3D object are each bent by the same angle Θ.
因此,即使在块集合具有简单配置的情况下,块集合的移动也可以被反映在3D对象的宽区域中。例如,当块集合的一个接头与具有通过进一步连接3D对象的多个接头部件322e所形成的形状的大蛇形物(snake)的所有接头关联时,大蛇形物的移动(诸如前进移动)可以甚至由仅由图27中的接头部件320e所构成的块集合来表示。如上所述,当存储其中以各种方式使得大蛇形物移动的移动图像时,大蛇形物可以在稍后的任意时序中用作游戏或动画中的角色。可以通过具有接头部件320e的这种简单的块集合来实现这种前进的图像表达。顺便一提,在该模式下,3D对象中的关联的接头不限于附图中所描绘的彼此的相邻关系,而可以是存在于3D对象的远距离位置处的多个接头。Therefore, even in the case where the block set has a simple configuration, the movement of the block set can be reflected in a wide area of the 3D object. For example, when one joint of a block set is associated with all joints of a snake having a shape formed by further connecting a plurality of joint parts 322e of a 3D object, the movement of the snake, such as forward movement, may be even It is represented by a block set composed of only the joint part 320e in FIG. 27 . As described above, when a moving image in which a serpent is moved in various ways is stored, the serpent can be used as a character in a game or animation at an arbitrary timing later. This progressive image expression can be achieved by this simple collection of blocks with joint component 320e. Incidentally, in this mode, the associated joints in the 3D object are not limited to the adjacent relationship with each other depicted in the drawings, but may be a plurality of joints existing at distant positions of the 3D object.
图28描绘显示在显示设备16上以在图19中的S52中设置块集合与3D对象之间的移动对应的示例。移动对应设置屏幕330是通过每当用户在屏幕上设置对应位置时就在图22所描绘的对应位置设置屏幕300上进行用于输入移动对应的对话框332的覆盖显示而获取的屏幕。该示例假设,在块集合的接头RJ1和RJ2被分组并且与3D对象的接头VJ3关联之后,设置在VJ3的角度的改变被分配给块集合的RJ1和RJ2的角度的改变的情况下的分配比例。为此,对话框332显示提示输入比例的字符串334以及用于输入比例的每个数值的文本框336。FIG. 28 depicts an example displayed on the display device 16 to set movement correspondence between a set of blocks and a 3D object in S52 in FIG. 19 . The movement correspondence setting screen 330 is a screen acquired by overlay displaying a dialog box 332 for inputting movement correspondence on the correspondence position setting screen 300 depicted in FIG. 22 every time the user sets a correspondence position on the screen. This example assumes that after the joints RJ1 and RJ2 of the block set are grouped and associated with the joint VJ3 of the 3D object, the allocation ratio in the case where a change in the angle of VJ3 is assigned to a change in the angle of RJ1 and RJ2 of the block set is set . To this end, dialog box 332 displays a string 334 prompting for a scale and a text box 336 for entering each numerical value of the scale.
当用户经由输入设备14等将具体数值输入到文本框时,信息处理区段30进一步将比例关联于块集合的接头RJ1和RJ2与3D对象的接头VJ3的关联,并且存储在对应信息存储区段28中。对话框332中所设置的信息不限于此。允许根据接头是否被分组来依次设置如图23至图27中的关联当中的必要信息。然而,如上所述,当信息处理区段30可以通过提前设置的规则来关联移动时,可以省略由用户进行的设置。可替换地,可以允许用户在相似的对话框中校正由信息处理区段30所执行的关联。When the user enters a specific numerical value into the text box via the input device 14, etc., the information processing section 30 further associates the ratio with the joint RJ1 and RJ2 of the block set and the joint VJ3 of the 3D object, and stores it in the corresponding information storage section 28 in. The information set in dialog 332 is not limited thereto. Necessary information among the associations in FIGS. 23 to 27 is allowed to be sequentially set according to whether or not joints are grouped. However, as described above, when the information processing section 30 can associate movements by rules set in advance, setting by the user can be omitted. Alternatively, the user may be allowed to correct the association performed by the information processing section 30 in a similar dialog box.
图29描绘关于块集合和3D对象的对应位置以及各个对应位置的移动之间的对应的信息的数据结构的示例,所述信息存储在对应信息存储区段28中。对应信息表340包括:块集合信息区段342,描绘块集合侧的对应位置和移动;以及3D对象信息区段344,描绘3D对象侧的对应位置和移动,3D对象侧的对应位置和移动与块集合的位置和移动相对应,块集合的位置和移动是在区段中录入(enter)的。在该示例中,块集合的接头与3D对象的接头关联,并且这些接头的角度的改变之间的其它对应得以设置。FIG. 29 depicts an example of a data structure of information on correspondence between block sets and corresponding positions of 3D objects and movements of the respective corresponding positions, which information is stored in the correspondence information storage section 28 . The corresponding information table 340 includes: a block set information section 342 depicting the corresponding position and movement of the block set side; and a 3D object information section 344 depicting the corresponding position and movement of the 3D object side, the corresponding position and movement of the 3D object side are The position of the block set corresponds to the movement, and the position and movement of the block set are entered in the section. In this example, the joints of the collection of blocks are associated with the joints of the 3D object, and other correspondence between changes in the angles of these joints is set.
对应基本上是以行为单位录入的。块集合信息区段342和3D对象信息区段344的相应“接头”区段例如示出:块集合的接头RJ1和RJ2与3D对象的接头VJ3关联。当块集合的移动在该对应中被反映在3D对象中时,接头RJ1和RJ的角度的改变之和被定义为表示3D对象的接头VJ3的角度的改变。Correspondence is basically entered in units of behavior. The corresponding "Joints" section of the block set information section 342 and the 3D object information section 344 shows, for example, that the joints RJ1 and RJ2 of the block set are associated with the joint VJ3 of the 3D object. When the movement of the block set is reflected in the 3D object in this correspondence, the sum of the changes in the angles of the joints RJ1 and RJ is defined as representing the change in the angle of the joint VJ3 of the 3D object.
块集合信息区段342和3D对象信息区段344的相应“角度改变”区段示出:当3D对象的移动相反地反映在块集合中并且3D对象的接头VJ3的角度按θ改变时,接头RJ1和RJ2的角度各自按θ/2改变,也就是说,分配比例是1:1。块集合的接头RJ3与3D对象的接头VJ2和VJ1关联,并且当块集合的移动被反映在3D对象中时,角度改变分配比例是1:2。在下面的区段中,参照图23至图27所描述的任何移动之间的对应与对应位置一起被相似地录入。The corresponding "angle change" section of the block set information section 342 and the 3D object information section 344 shows that when the movement of the 3D object is reflected in the block set inversely and the angle of the joint VJ3 of the 3D object is changed by θ, the joint The angles of RJ1 and RJ2 each change according to θ/2, that is, the distribution ratio is 1:1. The joint RJ3 of the block set is associated with the joints VJ2 and VJ1 of the 3D object, and when the movement of the block set is reflected in the 3D object, the angle change distribution ratio is 1:2. In the following sections, the correspondence between any of the movements described with reference to FIGS. 23 to 27 is similarly entered along with the corresponding positions.
至此已经主要进行与接头的移动之间的对应有关的具体示例的描述。接下来将进行轮的移动的关联的描述。在接头的情况下,虽然块集合和3D对象都具有约束条件(诸如可移动角度、总体结构等),但接头基本上是彼此独立的,并且因此,块集合的接头和3D对象的接头可以等效地关联。另一方面,在轮的情况下,实际上存在这样的困难:即使当轮的移动并未精准地定义时,块集合也具有比在接头的情况下更多的约束条件,而3D对象可以被表达得如同3D对象正在行驶。也就是说,为了使得块集合和3D对象显现为与彼此互锁,将行进方向和近似速度彼此关联是足够的。通过在图19中的S48中设置共用坐标系统来获取这些对应关系。Descriptions of specific examples related to the correspondence between the movements of the joints have been mainly made so far. Next, a description of the association of the movement of the wheels will be made. In the case of joints, although both the block collection and the 3D object have constraints (such as movable angles, overall structure, etc.), the joints are basically independent of each other, and therefore, the joints of the block collection and the joints of the 3D object can be equal effectively relate. In the case of wheels, on the other hand, there is actually the difficulty that even when the movement of the wheel is not precisely defined, the collection of blocks has more constraints than in the case of joints, while 3D objects can be Expressed as if the 3D object was driving. That is, in order for the set of blocks and the 3D object to appear interlocked with each other, it is sufficient to associate the direction of travel and the approximate speed with each other. These correspondences are acquired by setting a common coordinate system in S48 in FIG. 19 .
当用户移动块集合260并且该移动被反映在3D对象中时,可以仅基于这些对应关系而容易地实现块集合的移动在3D对象中的反映。具体地,从相机122的拍摄的图像等获取块集合的移动量和行进方向并且表达3D对象使得3D对象也基于块集合的移动量和行进方向而相似地移动是足够的。另一方面,当3D对象的移动待反映在块集合中时,根据约束条件的设置是必要的。例如,当轮不执行协作操作时,无法使得车辆行驶。此外,用于获取期望的速度的轮的旋转速度根据轮的直径而改变。因此,例如,当不进行适当调整时,车辆可能达到过高的速度,并且与墙壁碰撞。When the user moves the set of blocks 260 and this movement is reflected in the 3D object, the reflection of the movement of the set of blocks in the 3D object can be easily achieved based only on these correspondences. Specifically, it is sufficient to acquire the moving amount and traveling direction of the block set from the captured image of the camera 122 or the like and express the 3D object so that the 3D object also moves similarly based on the moving amount and traveling direction of the block set. On the other hand, when the movement of the 3D object is to be reflected in the set of blocks, setting according to constraint conditions is necessary. For example, when the wheels do not perform cooperative operations, the vehicle cannot be made to travel. Furthermore, the rotational speed of the wheel used to obtain the desired speed varies according to the diameter of the wheel. So, for example, when proper adjustments are not made, the vehicle may reach excessive speeds and collide with a wall.
因此,在关联轮的移动时,由于在块集合侧上存在更多的约束条件,因此对于由用户进行的自由设置比在接头的情况下存在更少的空间。因此,信息处理区段30主要对移动进行关联。具体地,在块集合的前后左右变得清楚的时间点,根据提前设置的驱动系统来确定驱动轮、从动轮以及转向轮。此外,执行分组,以便满足左右驱动轮和左右转向轮具有相同旋转速度和相同转向角度的约束条件。此外,块集合的轮的旋转速度和转向角度与3D对象的虚拟速度和方向改变关联,使得块集合以与虚拟世界中所表达的3D对象的速度和方向改变对应的合适的速度和合适的方向改变来行驶。Therefore, when associating the movement of the wheel, there is less room for free setting by the user than in the case of joints, since there are more constraints on the block set side. Therefore, the information processing section 30 mainly associates movements. Specifically, at the point in time when the front, rear, left, and right of the block set becomes clear, the driving wheels, driven wheels, and steering wheels are determined according to the driving system set in advance. In addition, grouping is performed so that the constraint condition that the left and right drive wheels and the left and right steered wheels have the same rotation speed and the same steering angle is satisfied. In addition, the rotation speed and steering angle of the wheels of the block set are associated with the virtual speed and direction change of the 3D object, so that the block set is at a suitable speed and a suitable direction corresponding to the speed and direction change of the 3D object expressed in the virtual world. Change to drive.
图30是描绘用于在3D对象的移动被反映在块集合中的模式下设置3D对象的移动和块集合的移动之间的对应的处理过程的流程图。该处理与图19中的S50和S52的处理对应。当信息处理区段30首先基于来自结构分析区段22的信息而检测到轮被装配到块集合时,信息处理区段30根据块集合的前后左右取向和驱动系统将轮的作用(诸如驱动轮、转向轮等)分配给前轮或后轮(S58)。另外,至少两个轮被布置为彼此平行,其中所述轮被分配了驱动轮或转向轮的作用并且被分组成一个分组,从而使得所述轮执行协作操作(S60)。30 is a flowchart depicting a processing procedure for setting correspondence between movement of a 3D object and movement of a block set in a mode in which the movement of the 3D object is reflected in the block set. This processing corresponds to the processing of S50 and S52 in FIG. 19 . When the information processing section 30 first detects that the wheel is assembled to the block set based on the information from the structure analysis section 22, the information processing section 30 assigns the role of the wheel (such as driving the wheel , steering wheels, etc.) are assigned to the front or rear wheels (S58). In addition, at least two wheels are arranged parallel to each other, wherein the wheels are assigned a role of a driving wheel or a steering wheel and are grouped into a group such that the wheels perform a cooperative operation (S60).
顺便一提,当彼此平行布置的两个轮关于一个轮轴旋转时,这两个轮自然地执行协作操作,并且因此可以省略S60的处理。接下来,获取用于获取反映3D对象的虚拟行驶的合适的移动速度和合适的方向改变的控制参数。控制参数在此情况下是使驱动轮的轮轴旋转的致动器的旋转速度、使转向轮的转向角度改变的致动器的移动量等。顺便一提,对控制在S60中所分组的驱动轮和转向轮的多个致动器进行控制,使得根据来自信息处理设备10的控制信号执行相同操作。Incidentally, when two wheels arranged in parallel to each other rotate about one wheel shaft, the two wheels naturally perform cooperative operations, and thus the processing of S60 can be omitted. Next, control parameters for obtaining an appropriate moving speed and an appropriate direction change reflecting the virtual travel of the 3D object are obtained. The control parameters are in this case the rotational speed of the actuator that rotates the axle of the drive wheel, the amount of movement of the actuator that changes the steering angle of the steered wheel, and the like. Incidentally, the plurality of actuators controlling the driving wheels and steering wheels grouped in S60 are controlled so that the same operation is performed according to the control signal from the information processing device 10 .
为了获取控制参数,首先,使得用户实际上在预定方向上移动块集合。测量块集合的移动量,并且测量在移动之时的轮轴的旋转量和转向角度(S62、S64和S66)。例如,用户可以通过分离地制备的控制机构来电子地驱动块集合,或可以通过用手推动块集合的主体来手动地移动块集合。在后一情况下,轮轴以及用于改变转向角度的机构不受致动器的控制。可以从相机122的拍摄的图像或根据相机122的拍摄的图像而生成的深度图像中获取块集合的移动量。可以从来自被提供给轮的旋转式编码器的信号获取旋转量。可以由被提供给轮的转向角度传感器来获取转向角度。顺便一提,当不提供传感器(诸如旋转式编码器等)时,例如,可以基于轮的直径、行进距离以及行进方向来计算旋转量和转向角度。In order to acquire the control parameters, first, the user is made to actually move the set of blocks in a predetermined direction. The movement amount of the block set is measured, and the rotation amount and steering angle of the axle at the time of movement are measured (S62, S64, and S66). For example, a user may electronically actuate the block set through a separately prepared control mechanism, or may manually move the block set by pushing the body of the block set by hand. In the latter case, the axle and the mechanism for changing the steering angle are not controlled by the actuator. The movement amount of the block set may be acquired from a captured image of the camera 122 or a depth image generated from the captured image of the camera 122 . The amount of rotation can be obtained from a signal from a rotary encoder provided to the wheel. The steering angle can be acquired by a steering angle sensor provided to the wheels. Incidentally, when a sensor such as a rotary encoder or the like is not provided, for example, the amount of rotation and the steering angle can be calculated based on the diameter of the wheel, the travel distance, and the travel direction.
然后,基于关于包括方向改变的移动量的实际旋转量和实际转向角度,获取用于获取移动量的控制量(诸如电机的旋转量、致动器的移动量等)(S68)。将该对应关系转换为每单位时间或每单位角度的值。由此将移动速度和单位转向角度与控制参数的值关联(S70)。在该情况下的移动速度是块集合本身的合适的移动速度。然而,当块集合与屏幕上的3D对象互锁时,移动速度是通过虚拟世界中的移动速度所确定的值。同样情况对于转向角度成立。因此,通过S70的处理,3D对象的移动与块集合的移动关联。Then, based on the actual rotation amount and the actual steering angle regarding the movement amount including the direction change, a control amount for acquiring the movement amount (such as the rotation amount of the motor, the movement amount of the actuator, etc.) is acquired (S68). Convert this correspondence to a value per unit of time or per unit of angle. The speed of movement and the unit steering angle are thus associated with the values of the control parameters (S70). The moving speed in this case is an appropriate moving speed of the block set itself. However, when the block set is interlocked with the 3D object on the screen, the moving speed is a value determined by the moving speed in the virtual world. The same holds for the steering angle. Therefore, through the process of S70, the movement of the 3D object is associated with the movement of the block set.
顺便一提,当根据连接到块集合的轮的标识编号获知所述轮的直径时,可以通过操作来获取移动速度与控制参数之间的对应关系。因此,可以省略S62至S68的处理。此外,至此所描述的示例假设:被假设为表示升降机货车的块集合和升降机货车的3D对象彼此关联。因此已经进行轮的移动的关联的描述。然而,即使当3D对象没有轮时,也相似地应用图28中所描绘的流程图。By the way, when the diameter of the wheel connected to the block set is known from the identification number of said wheel, the correspondence between the moving speed and the control parameter can be obtained through operation. Therefore, the processing of S62 to S68 can be omitted. Furthermore, the examples described so far assume that the set of blocks assumed to represent the lift truck and the 3D object of the lift truck are associated with each other. The description of the association of the movement of the wheels has thus been made. However, even when the 3D object has no wheels, the flowchart depicted in FIG. 28 is similarly applied.
也就是说,即使在3D对象是人、动物、昆虫、除了汽车之外的车辆等的情况下,当虚拟世界中的移动被反映在块集合的移动中时,通过凭借图28的处理过程将移动速度和转向角度与控制参数关联,可以按与3D对象的虚拟移动对应的速度和方向来移动块集合。此外,这可不仅应用于反映3D对象的移动的模式,而且还应用于根据由信息处理设备10所执行的处理的结果来简单地移动块集合的模式。That is, even in the case where the 3D object is a person, an animal, an insect, a vehicle other than a car, etc., when the movement in the virtual world is reflected in the movement of the block set, by virtue of the processing procedure of FIG. The movement speed and steering angle are associated with the control parameters, and the set of blocks can be moved at a speed and direction corresponding to the virtual movement of the 3D object. Furthermore, this can be applied not only to a mode reflecting movement of a 3D object but also to a mode of simply moving a block set according to the result of processing performed by the information processing device 10 .
图31是辅助解释与块集合的轮有关的上述设置扩展到合成链接的情况的图。在附图中所描绘的合成链接350中,接头并非完全彼此独立,而是链接彼此互锁。也就是说,当合成链接350的一个接头如箭头所指示的那样移动时,四个接头都移动(合成链接352)。在此情况下,致动器不可能仅移动一个接头。因此,如在驱动轮的情况下,将四个接头进行分组并且使其执行协作操作。当将合成链接并入到块集合中时,用户在对应设置屏幕等上清楚地指示合成链接的存在性,或者当块集合的真实事物中的合成链接移动时,信息处理区段30识别合成链接的存在性。然后,当设置与3D对象的移动对应时,将合成链接中所包括的所有接头进行分组。FIG. 31 is a diagram of assistance in explaining the case where the above-described setting related to the round of block sets is extended to composite links. In the composite link 350 depicted in the figure, the joints are not completely independent of each other, but rather the links interlock with each other. That is, when one joint of composite link 350 moves as indicated by the arrow, all four joints move (composite link 352). In this case, it is not possible for the actuator to move only one joint. Thus, as in the case of the drive wheel, the four joints are grouped and made to perform cooperative operations. When a synthetic link is incorporated into a block set, the user clearly indicates the existence of the synthetic link on the corresponding setting screen or the like, or when the synthetic link in the real thing of the block set moves, the information processing section 30 recognizes the synthetic link existence. Then, all joints included in the compositing link are grouped when the setting corresponds to the movement of the 3D object.
根据上述该实施例,能够自由组装的块被用作输入设备或输出设备,以用于信息处理设备中的处理。通过使用用于获取位置和姿态的各个种类的传感器以及具有通信功能的通信块来获取在组装之后的块的细节(诸如块的骨架和位置)等。此外,通过使用用于检测块在真实空间中的存在性的手段(诸如相机所拍摄的图像等)来获取在组装之后的块的表面形状。即使当没有通信功能的非通信块被用作块的部件时,也可以通过整合这些信息来以高准确度标识在组装之后的块的位置、姿态和形状。According to this embodiment described above, a block that can be freely assembled is used as an input device or an output device for processing in an information processing device. The details of the block after assembly, such as the skeleton and position of the block, etc. are acquired by using various kinds of sensors for acquiring the position and orientation and a communication block having a communication function. Furthermore, the surface shape of the block after assembly is acquired by using means for detecting the presence of the block in real space, such as an image taken by a camera or the like. Even when a non-communicating block having no communication function is used as a part of the block, the position, attitude, and shape of the block after assembly can be identified with high accuracy by integrating these information.
因此,块的形状、材料、色彩等不受限,甚至可以使用用户他本身/她本身制作的事物,并且可以自由地创建具有服务于用户的意图的外部外观的对象。此外,无论外部外观如何,信息处理设备都可以通过高准确度来获取位置、姿态和形状。因此,可以利用由用户作为输入信息进行的组装或移动动作来执行各个种类的信息处理。此外,作为信息处理的结果,可以移动所组装的块。Therefore, the shape, material, color, etc. of the blocks are not limited, and even things made by the user himself/herself can be used, and an object with an external appearance serving the user's intention can be freely created. In addition, information processing devices can acquire position, attitude, and shape with high accuracy regardless of external appearance. Accordingly, various kinds of information processing can be performed with an assembling or moving action performed by a user as input information. Furthermore, as a result of information processing, assembled blocks can be moved.
例如,可以显示具有与所组装的块相同的外部外观的3D对象,或者可以显示具有更真实的外部外观的3D对象(该3D对象与所组装的块对应)。在后一情况下,用户可以通过对于块的每个部件指定3D对象的部件来形成3D对象本身,或者可以使得整个块与一个3D对象对应。此时,通过关联待互锁的接头的位置等,可以不仅相互反映位置的改变而且还相互反映姿态或形状的改变。可以基于约束条件(诸如块集合和3D对象的形状、接头的数量、接头的可移动角度、轮的协作操作等)来对设置对应位置和移动关联进行设置。由信息处理设备自动建立这些关联,或者提供允许用户进行设置的环境。由此可以在减少对用户的负载的同时自由地形成真实世界与虚拟世界之间的链接。For example, a 3D object may be displayed with the same external appearance as the assembled blocks, or a 3D object may be displayed with a more realistic external appearance (the 3D object corresponding to the assembled blocks). In the latter case, the user may form the 3D object itself by specifying parts of the 3D object for each part of the block, or may make the entire block correspond to one 3D object. At this time, by associating the positions and the like of the joints to be interlocked, not only changes in positions but also changes in attitude or shape can be mutually reflected. Setting corresponding position and movement associations can be set based on constraints such as shapes of block sets and 3D objects, number of joints, movable angles of joints, cooperative operation of wheels, etc. These associations are automatically established by the information processing device, or an environment that allows the user to make settings is provided. It is thereby possible to freely form a link between the real world and the virtual world while reducing the load on the user.
以上已经基于本发明实施例描述了本发明。前述实施例是说明性的,并且本领域技术人员应当理解,实施例的构成要素和处理过程的组合易受各种修改,并且这些修改也落入本发明的范围内。The present invention has been described above based on the embodiments of the present invention. The aforementioned embodiments are illustrative, and those skilled in the art should understand that combinations of constituent elements and processing procedures of the embodiments are susceptible to various modifications, and these modifications also fall within the scope of the present invention.
例如,参照图22所描述的对应位置设置屏幕300假设块集合作为将要与屏幕上的3D对象关联的对象。然而,除了块集合之外的事物(诸如例如用户他本身/她本身等)可以相似地关联。当关联用户时,相机122拍摄用户,例如基于所拍摄的图像而生成深度图像,并且估计骨架的位置。可以通过应用传统技术(诸如骨架跟踪等)来跟踪骨架的位置。当用户接着关于期望待关联的接头(诸如肩部、肘部等)移动部件(诸如手臂等)时,信息处理设备10如在块集合的情况下那样识别接头。此外,在屏幕上指定3D对象的接头,从而用户和3D对象的接头可以彼此关联。For example, the corresponding position setting screen 300 described with reference to FIG. 22 assumes a block set as an object to be associated with a 3D object on the screen. However, things other than block sets, such as, for example, the user himself/herself, etc., may be similarly associated. When associating a user, the camera 122 photographs the user, for example generates a depth image based on the photographed image, and estimates the position of the skeleton. The position of the skeleton can be tracked by applying conventional techniques such as skeleton tracking. When the user then moves a part (such as an arm, etc.) with respect to a joint desired to be associated (such as a shoulder, an elbow, etc.), the information processing device 10 recognizes the joint as in the case of a block set. Also, joints of 3D objects are specified on the screen, so that the user and the joints of 3D objects can be associated with each other.
可以由此实现3D对象根据用户的移动而移动的模式。可替换地,当如在该实施例中的将块集合组装为人的形式并且与3D对象关联时,用户的接头和块集合的接头间接地经由3D对象的接头彼此关联。当在该实施例中该状态得以利用并且与将3D对象的移动反映于块集合中的模式组合时,也可以实现根据用户的移动而移动块集合的模式。A mode in which a 3D object moves according to a user's movement can thus be realized. Alternatively, when a block set is assembled in a human form and associated with a 3D object as in this embodiment, the joints of the user and the joints of the block set are indirectly associated with each other via the joints of the 3D object. When this state is utilized in this embodiment and combined with a mode of reflecting movement of a 3D object in a block set, a mode of moving the block set according to the user's movement can also be realized.
作为该模式的修改,可以从所拍摄的图像实时地生成用户的图像和描绘骨架的位置的图像,并且将其显示在对应位置设置屏幕上,使得用户的接头和3D对象的接头在屏幕上彼此关联。此时,这两个图像可以同时显示或交替地显示,以接收其对应将要被逐一设置的接头的说明。顺便一提,这些修改假设用户将用户他本身/她本身的接头与3D对象的接头关联。然而,当3D对象是人、机器人等并且与用户的接头的对应是明显的时候,可以省略由用户进行的设置,并且信息处理设备可以进行所有设置。As a modification of this mode, an image of the user and an image depicting the position of the skeleton may be generated in real time from the captured image, and displayed on the corresponding position setting screen so that the joint of the user and the joint of the 3D object are mutually aligned on the screen associated. At this time, the two images may be displayed simultaneously or alternately to receive descriptions corresponding to the joints to be set one by one. Incidentally, these modifications assume that the user associates his/her own joints with those of the 3D object. However, when the 3D object is a person, a robot, or the like and the correspondence with the user's joint is obvious, the setting by the user can be omitted, and the information processing device can make all the settings.
此外,在该实施例中,在车辆的前部和后部为已知的状态下,将轮装配到轮轴,并且信息处理设备相应地确定驱动轮、从动轮和转向轮的作用。然后,根据这些作用来改变控制车辆的操作的致动器的移动。这种模式可以扩展为实现包括根据所连接的事物而改变其移动的致动器的块。例如,当装配由轮轴和轮构成的部件时,通过旋转轮轴来移动块集合的车辆。当装配由凸轮和弹簧等构成的部件时,通过凸轮的旋转来释放弹簧,并且在所设置的状态下的箭头等弹射。当装配包括上述接头的部件时,使得该部件操作为接头。Furthermore, in this embodiment, in a state where the front and rear of the vehicle are known, the wheels are fitted to the axles, and the information processing apparatus determines the roles of the driving wheels, driven wheels, and steering wheels accordingly. The movements of the actuators controlling the operation of the vehicle are then varied in accordance with these actions. This pattern can be extended to implement blocks that include actuators that change their movement depending on what they are connected to. For example, when assembling a part consisting of an axle and wheels, a vehicle of a block assembly is moved by rotating the axle. When assembling the parts consisting of the cam and the spring, etc., the spring is released by the rotation of the cam, and the arrow etc. are ejected in the set state. When assembling a part comprising the joint described above, the part is made to operate as a joint.
在此情况下,信息处理设备10通过从所拍摄的图像识别所连接的事物的种类并且将与所连接的事物的种类对应的控制信号发送到块集合来适当地改变致动器的移动。因此,包括致动器的块的多样性增加,并且可以通过比对于不同的种类制备不同的块更低的成本来实现广泛的块集合。In this case, the information processing apparatus 10 appropriately changes the movement of the actuator by recognizing the kind of connected thing from the captured image and sending a control signal corresponding to the kind of connected thing to the block set. Therefore, the variety of blocks including actuators is increased, and a wide collection of blocks can be realized at a lower cost than making different blocks for different kinds.
[标号列表][label list]
2信息处理系统、10信息处理设备、14输入设备、16显示设备、20核心信息接收区段、22结构分析区段、24块信息存储区段、26模型数据存储区段、28对应信息存储区段、30信息处理区段、32显示处理区段、34驱动控制区段、102a四边形棱柱块、122相机、120块集合、126a块、128a电池、130a通信机构、132a存储器、134位置传感器、136a运动传感器、138角度传感器、139a致动器、141旋转式编码器、142a第一块、143a第一通信区段、144a元件信息获取区段、146a第二通信区段、148驱动区段。2 information processing system, 10 information processing equipment, 14 input equipment, 16 display equipment, 20 core information receiving section, 22 structure analysis section, 24 block information storage section, 26 model data storage section, 28 corresponding information storage area Section, 30 information processing section, 32 display processing section, 34 drive control section, 102a quadrangular prism block, 122 camera, 120 block assembly, 126a block, 128a battery, 130a communication mechanism, 132a memory, 134 position sensor, 136a Motion sensor, 138 angle sensor, 139a actuator, 141 rotary encoder, 142a first block, 143a first communication section, 144a component information acquisition section, 146a second communication section, 148 drive section.
[工业应用性][Industrial applicability]
如上所述,本发明可应用于玩具、游戏设备、组装式设备、学习材料、内容显示终端、信息处理设备、机器人等。As described above, the present invention is applicable to toys, game devices, built-in devices, learning materials, content display terminals, information processing devices, robots, and the like.
Claims (30)
Applications Claiming Priority (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014008895A JP6177145B2 (en) | 2014-01-21 | 2014-01-21 | Information processing apparatus and information processing method |
| JP2014008896A JP6177146B2 (en) | 2014-01-21 | 2014-01-21 | Information processing apparatus and information processing method |
| JP2014008897A JP6177147B2 (en) | 2014-01-21 | 2014-01-21 | Information processing apparatus and information processing method |
| JP2014-008896 | 2014-01-21 | ||
| JP2014-008895 | 2014-01-21 | ||
| JP2014-008897 | 2014-04-23 | ||
| PCT/JP2014/077873 WO2015111261A1 (en) | 2014-01-21 | 2014-10-20 | Information processing device and information processing method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN105917385A true CN105917385A (en) | 2016-08-31 |
Family
ID=53681084
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201480073221.XA Pending CN105917385A (en) | 2014-01-21 | 2014-10-20 | Information processing device and information processing method |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US10130883B2 (en) |
| EP (1) | EP3098782B1 (en) |
| CN (1) | CN105917385A (en) |
| WO (1) | WO2015111261A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113316504A (en) * | 2019-01-25 | 2021-08-27 | 索尼互动娱乐股份有限公司 | Robot control system |
| US12103162B2 (en) | 2019-01-25 | 2024-10-01 | Sony Interactive Entertainment Inc. | Robotic device having an image analysis system |
| US12260490B2 (en) | 2019-12-27 | 2025-03-25 | Sony Group Corporation | Three-dimensional image processing apparatus, system, and method thereof |
| US12377548B2 (en) | 2019-01-25 | 2025-08-05 | Sony Interactive Entertainment Inc. | Robot controlling system |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2571337B (en) * | 2018-02-26 | 2021-03-10 | Sony Interactive Entertainment Inc | Controlling data processing |
| WO2021024524A1 (en) * | 2019-08-06 | 2021-02-11 | パナソニックIpマネジメント株式会社 | Display device |
| CN112908191B (en) * | 2019-12-04 | 2023-04-07 | 深圳蓝普科技有限公司 | Automatic maintenance system for positioning device and splicing display device |
| CN115809039A (en) * | 2022-12-13 | 2023-03-17 | 广州小鹏汽车科技有限公司 | Three-dimensional display method of vehicle parts, server and computer storage medium |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020196250A1 (en) * | 2001-06-20 | 2002-12-26 | Gateway, Inc. | Parts assembly for virtual representation and content creation |
| US20060136180A1 (en) * | 2003-05-20 | 2006-06-22 | Hansen Mark W | Selecting virtual brick models |
| WO2012160057A1 (en) * | 2011-05-23 | 2012-11-29 | Lego A/S | Generation of building instructions for construction element models |
| WO2014010004A1 (en) * | 2012-07-13 | 2014-01-16 | 株式会社ソニー・コンピュータエンタテインメント | Input device, information processing system, information processing device and information processing method |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10302085A (en) | 1997-04-30 | 1998-11-13 | Yamaha Corp | Operation recording system for cg model |
| US6290565B1 (en) | 1999-07-21 | 2001-09-18 | Nearlife, Inc. | Interactive game apparatus with game play controlled by user-modifiable toy |
| WO2004104811A2 (en) | 2003-05-20 | 2004-12-02 | Lego A/S | Method and system for manipulating a digital representation of a three-dimensional object |
| JP4592276B2 (en) | 2003-10-24 | 2010-12-01 | ソニー株式会社 | Motion editing apparatus, motion editing method, and computer program for robot apparatus |
| RU2007101498A (en) | 2004-06-17 | 2008-07-27 | Лего А/С (Dk) | AUTOMATIC GENERATION OF INSTRUCTIONS FOR BUILDING MODELS FROM STANDARD BLOCKS |
| US7874921B2 (en) * | 2005-05-11 | 2011-01-25 | Roblox Corporation | Online building toy |
| JP2007004732A (en) | 2005-06-27 | 2007-01-11 | Matsushita Electric Ind Co Ltd | Image generating apparatus and image generating method |
| WO2007050885A2 (en) | 2005-10-26 | 2007-05-03 | Sony Computer Entertainment America Inc. | System and method for interfacing with a computer program |
| JP4660357B2 (en) | 2005-11-18 | 2011-03-30 | 任天堂株式会社 | Image processing program and image processing apparatus |
| FR2897680B1 (en) | 2006-02-17 | 2008-12-05 | Commissariat Energie Atomique | MOTION CAPTURE DEVICE AND ASSOCIATED METHOD |
| WO2011017393A1 (en) | 2009-08-04 | 2011-02-10 | Eyecue Vision Technologies Ltd. | System and method for object extraction |
| WO2007130582A2 (en) | 2006-05-04 | 2007-11-15 | Sony Computer Entertainment America Inc. | Computer imput device having gearing effects |
| US8210945B2 (en) | 2007-05-16 | 2012-07-03 | Eyecue Vision Technologies Ltd. | System and method for physically interactive board games |
| WO2009100051A1 (en) * | 2008-02-04 | 2009-08-13 | Polchin George C | Physical data building blocks system for video game interaction |
| US8690631B2 (en) * | 2008-09-12 | 2014-04-08 | Texas Instruments Incorporated | Toy building block with embedded integrated circuit |
| BR112012007559B1 (en) * | 2009-10-02 | 2021-04-27 | Lego A/S | COMPUTER IMPLEMENTED METHOD FOR VIEWING / RENDERING A COMPUTER MODEL |
| JP6077016B2 (en) | 2012-02-17 | 2017-02-08 | テクノロジー ワン インコーポレイテッドTechnology One, Inc. | Board assembly used with toy pieces |
| US9609031B1 (en) | 2013-12-17 | 2017-03-28 | Amazon Technologies, Inc. | Propagating state information to network nodes |
-
2014
- 2014-10-20 CN CN201480073221.XA patent/CN105917385A/en active Pending
- 2014-10-20 US US15/110,876 patent/US10130883B2/en active Active
- 2014-10-20 EP EP14879435.7A patent/EP3098782B1/en active Active
- 2014-10-20 WO PCT/JP2014/077873 patent/WO2015111261A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020196250A1 (en) * | 2001-06-20 | 2002-12-26 | Gateway, Inc. | Parts assembly for virtual representation and content creation |
| US20060136180A1 (en) * | 2003-05-20 | 2006-06-22 | Hansen Mark W | Selecting virtual brick models |
| WO2012160057A1 (en) * | 2011-05-23 | 2012-11-29 | Lego A/S | Generation of building instructions for construction element models |
| WO2014010004A1 (en) * | 2012-07-13 | 2014-01-16 | 株式会社ソニー・コンピュータエンタテインメント | Input device, information processing system, information processing device and information processing method |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113316504A (en) * | 2019-01-25 | 2021-08-27 | 索尼互动娱乐股份有限公司 | Robot control system |
| US12103162B2 (en) | 2019-01-25 | 2024-10-01 | Sony Interactive Entertainment Inc. | Robotic device having an image analysis system |
| US12260579B2 (en) | 2019-01-25 | 2025-03-25 | Sony Interactive Entertainment Inc. | Robot controlling system |
| US12377548B2 (en) | 2019-01-25 | 2025-08-05 | Sony Interactive Entertainment Inc. | Robot controlling system |
| US12260490B2 (en) | 2019-12-27 | 2025-03-25 | Sony Group Corporation | Three-dimensional image processing apparatus, system, and method thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3098782A4 (en) | 2017-08-09 |
| US10130883B2 (en) | 2018-11-20 |
| EP3098782A1 (en) | 2016-11-30 |
| US20160332075A1 (en) | 2016-11-17 |
| WO2015111261A1 (en) | 2015-07-30 |
| EP3098782B1 (en) | 2021-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105917386B (en) | Information processing apparatus, information processing system, block system, and information processing method | |
| EP3098782B1 (en) | Information processing device and information processing method | |
| JP6193135B2 (en) | Information processing apparatus, information processing system, and information processing method | |
| JP5977231B2 (en) | Information processing system, information processing apparatus, and information processing method | |
| KR101881620B1 (en) | Using a three-dimensional environment model in gameplay | |
| CN109069929B (en) | System and method for toy identification | |
| CN101715581B (en) | Volume recognition method and system | |
| JP2021170341A (en) | Method and system for generating detailed dataset of environment through gameplay | |
| JP6177145B2 (en) | Information processing apparatus and information processing method | |
| US12172328B1 (en) | Displaying operating environment of robot by object detection | |
| JP6177146B2 (en) | Information processing apparatus and information processing method | |
| JP6177147B2 (en) | Information processing apparatus and information processing method | |
| TWI413018B (en) | Volume recognition method and system | |
| JP7752134B2 (en) | Computationally efficient method for computing synthetic representations of 3D environments | |
| Schurz et al. | Multiple full-body tracking for interaction and navigation in social VRR |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160831 |