WO2022196514A1 - データ処理装置、プログラム、及びデータ処理方法 - Google Patents

データ処理装置、プログラム、及びデータ処理方法 Download PDF

Info

Publication number
WO2022196514A1
WO2022196514A1 PCT/JP2022/010541 JP2022010541W WO2022196514A1 WO 2022196514 A1 WO2022196514 A1 WO 2022196514A1 JP 2022010541 W JP2022010541 W JP 2022010541W WO 2022196514 A1 WO2022196514 A1 WO 2022196514A1
Authority
WO
WIPO (PCT)
Prior art keywords
avatar
clothing
data
clothes
unit
Prior art date
Application number
PCT/JP2022/010541
Other languages
English (en)
French (fr)
Inventor
裕子 石若
マイケル イーストマン
和人 須田
翔 嘉数
Original Assignee
ソフトバンク株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソフトバンク株式会社 filed Critical ソフトバンク株式会社
Publication of WO2022196514A1 publication Critical patent/WO2022196514A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A41WEARING APPAREL
    • A41HAPPLIANCES OR METHODS FOR MAKING CLOTHES, e.g. FOR DRESS-MAKING OR FOR TAILORING, NOT OTHERWISE PROVIDED FOR
    • A41H1/00Measuring aids or methods
    • A41H1/02Devices for taking measurements on the human body
    • AHUMAN NECESSITIES
    • A41WEARING APPAREL
    • A41HAPPLIANCES OR METHODS FOR MAKING CLOTHES, e.g. FOR DRESS-MAKING OR FOR TAILORING, NOT OTHERWISE PROVIDED FOR
    • A41H43/00Other methods, machines or appliances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Definitions

  • the present invention relates to a data processing device, program, and data processing method.
  • Patent Literature 1 describes a technique for estimating a try-on person's posture in real time and simulating the movement of clothes in accordance with the estimated time-series posture.
  • Non-Patent Document 1 and Non-Patent Document 2 describe tools and the like for generating a clothing model.
  • Patent Literature [Patent Literature] [Patent Document 1] JP-A-2006-249618 [Non-Patent Document] [Non-Patent Document 1] UMETANI N., KAUFMAN D. M., IGARASHI T., GRINSPUN E.: Sensitive fashion for interactive garment editing and modeling. ACM Transactions on Graphics (SIGGRAPH 2011) 30, 4 (2011).
  • Non-Patent Document 2 BERTHOUZOZ F., GARG A., KAUFMAN D. M., GRINSPUN E., AGRAWALA M.: Parsing sewing patterns into 3d garments. ACM Trans. Graph. 32, 4 (July 2013), 85:1-85 : 12.
  • a data processing device may include a user dimension data acquisition unit that acquires user dimension data including dimensions of each of a plurality of parts of the user.
  • the data processing device may include an avatar dimension data acquisition unit that acquires avatar dimension data including dimensions of each of a plurality of parts of an avatar having a default body shape.
  • the data processing device reduces the dimensions of some of the multiple parts of the avatar so that the total error between the multiple parts of the user and the multiple parts of the avatar corresponding to the multiple parts of the user is reduced.
  • the size of the user's parts corresponding to the partial parts is changed so as to reduce the difference, and the dimensions of the avatar's parts related to the user's parts are changed according to the change, and then the total error is
  • An adjusting unit that repeats the calculation process may be provided.
  • the number of the plurality of parts of the avatar may be greater than the number of the plurality of parts of the user.
  • the data processing device may include a degree-of-relevance data acquisition unit that acquires degree-of-relevance data for each of the plurality of regions of the user, in which degree of association with each of the plurality of regions of the avatar is registered.
  • the adjustment unit may use the part relevance data to change dimensions of parts of the avatar related to parts of the user.
  • the data processing device comprises: an avatar data acquiring unit for acquiring avatar data of an avatar whose dimensions of the plurality of parts are adjusted to match the dimensions of the plurality of parts of the user by the adjusting unit; and clothing data of clothes.
  • a clothing data acquisition unit that acquires the avatar data
  • a generation unit that generates an image of the avatar wearing the clothing based on the avatar data and the clothing data
  • a display control unit that controls the display of the image.
  • the generating unit may generate an animation of the avatar wearing the clothes based on the avatar data and the clothes data.
  • the data processing device may include an action selection unit that selects an action to be executed by the avatar, and the generation unit selects the clothes according to the movement of the avatar that executes the action selected by the action selection unit. may generate the above animation in which
  • the data processing device may include a display designation reception unit that receives designation of at least one of the color and size of the clothing, and the generation unit receives at least the color and size of the clothing received by the display designation reception unit. Based on any specification, the animation of the avatar wearing the clothing may be generated.
  • the generating unit may generate the image reflecting the tightness of the clothes determined based on the avatar data and the clothes data.
  • the clothes data may include a stretch parameter related to the stretch of the material of the clothes, and the generating unit generates data from the clothes of the part of the avatar where the clothes are worn, specified based on the stretch parameters.
  • the image may be generated to reflect the degree of force received.
  • the stretch parameter includes a length threshold of a side length of the mesh of the clothes at which the clothes start applying force to the part where the clothes are worn, and a length of a side of the mesh of the clothes at which the clothes break. and a tolerance violation threshold.
  • the generating unit may generate the image in which a color corresponding to the degree of force received from the clothes of the part of the avatar on which the clothes are worn is reflected in the clothes.
  • the data processing device includes a latitude determination unit that determines the latitude of the size of the clothes with respect to the avatar based on the distance between the avatar and the clothes when the avatar is wearing the clothes.
  • the generating unit may generate the image reflecting the margin.
  • the generation unit may generate the image in which the clothing reflects a color corresponding to the degree of leeway.
  • the data processing device may include a fricative storing unit that stores fricatives for each material of clothes, and the generating unit generates the fricatives of the wearer wearing the clothes based on the fricatives stored in the fricative storing unit.
  • a fricative sound may be generated corresponding to the friction of the clothing caused by the movement of the avatar.
  • the generation unit may generate the fricative sound with a higher volume as the size of the rubbing area of the clothing increases.
  • the generating unit may generate a higher fricative sound as the acceleration of friction of the clothes is higher.
  • the data processing device may include a waist designation reception unit that receives designation of a waist position of the avatar at which the clothing is to be placed and a fixing strength for fixing the clothing to the avatar when the clothing is bottoms,
  • the generation unit may generate the image in which the clothes are fixed to the avatar at the designated waist position with the designated fixing strength.
  • the data processing device may include a hemming identification unit that identifies the length of the clothing corresponding to the avatar and the type of hemming of the clothing when the clothing is trousers, and the generation unit includes: The clothing data may be changed based on the length of the clothing and the type of hemming of the clothing.
  • the generation unit generates the image by deleting a portion of the clothing data of the clothing based on the length of the clothing and applying a texture corresponding to the type of hemming to a position corresponding to the portion.
  • the data processing device may include a state identification unit that identifies a state of the zipper or the button when the clothing is a top and the clothing has a zipper or buttons, and the generation unit includes the The image may be generated according to the state of the zipper or the button. When the clothing has a zipper, the generation unit may increase the bending constraint condition for a portion corresponding to the zipper in the clothing data.
  • the data processing device may include an accessory identification unit that identifies an accessory in contact with the clothing, and the generating unit may generate movement of the clothing according to a relationship between the clothing and the clothing.
  • the data processing device may include a pocket identification unit that identifies an object in a pocket of the garment, and the generation unit may generate movement of the clothing according to the object in the pocket.
  • a data processing device may include an avatar data acquisition unit that acquires avatar data of an avatar.
  • the data processing device may comprise a clothing data acquisition unit that acquires clothing data including stretch parameters related to stretching of the material of the clothing.
  • the data processing device includes a generating unit that generates an image of the avatar wearing the clothes, reflecting the degree of force received from the clothes on the part of the avatar wearing the clothes, which is specified based on the stretch parameter. good.
  • the data processing device may comprise a display controller for controlling the display of the image.
  • a data processing device may include an avatar data acquisition unit that acquires avatar data of an avatar.
  • the data processing device may include a clothing data acquisition unit that acquires clothing data of clothing.
  • the data processing device may include a latitude determination unit that determines the latitude of the clothing size for the avatar based on the distance between the avatar and the clothing when the avatar is wearing the clothing.
  • the data processing device may include a generation unit that generates an image of the avatar wearing clothes that reflects the degree of leeway.
  • a data processing device may include an avatar data acquisition unit that acquires avatar data of an avatar.
  • the data processing device may include a clothing data acquisition unit that acquires clothing data of clothing.
  • the data processing device may include a fricative storage unit that stores fricatives for each clothing material.
  • the data processing device generates an image of the avatar wearing clothes based on the avatar data and the clothes data, and based on the fricative sound stored in the fricative sound storage unit, the motion of the avatar wearing the clothes generates the image.
  • a generator may be provided for generating a fricative sound corresponding to the friction of the clothing on the skin.
  • the data processing device may include an output control section that controls to display the image generated by the generation section and to output the fricative sound as an audio.
  • a data processing device may include an avatar data acquisition unit that acquires avatar data of an avatar.
  • the data processing device may include a clothing data acquisition unit that acquires clothing data of clothing.
  • the data processing device may include a waist designation reception unit that receives designation of the waist position of the avatar at which the clothing is to be placed and the strength of fixing the clothing to the avatar when the clothing is bottoms.
  • the data processing device may include a generation unit that generates an image of the avatar wearing the clothing, with the clothing fixed to the avatar at the designated waist position with the designated fixing strength.
  • a data processing device may include an avatar data acquisition unit that acquires avatar data of an avatar.
  • the data processing device may include a clothing data acquisition unit that acquires clothing data of clothing.
  • the data processing device may include a hemming identification unit that identifies the length of the clothing corresponding to the avatar and the type of hemming of the clothing when the clothing is trousers.
  • the data processing device may comprise a generation unit that generates an image of the avatar wearing clothes that have been changed based on the length of the clothes and the type of hemming of the clothes.
  • a data processing device may include an avatar data acquisition unit that acquires avatar data of an avatar.
  • the data processing device may include a clothing data acquisition unit that acquires clothing data of clothing.
  • the data processing device may include a state identification unit that identifies the state of the zipper or buttons when the clothing is a top and the clothing has zippers or buttons.
  • the data processing device may include a generation unit that generates an image of the avatar wearing clothes and corresponding to the state of the zipper or button.
  • a data processing device may include an avatar data acquisition unit that acquires avatar data of an avatar.
  • the data processing device may include a clothing data acquisition unit that acquires clothing data of clothing.
  • the data processing device may include an accessory identification unit that identifies accessories that come into contact with clothing.
  • the data processing device may include a generating unit that generates an image of the avatar wearing clothes, the clothes moving in accordance with the relationship between the clothes and the accessories.
  • a data processing device may include an avatar data acquisition unit that acquires avatar data of an avatar.
  • the data processing device may include a clothing data acquisition unit that acquires clothing data of clothing.
  • the data processing device may comprise a pocket identifier for identifying objects in pockets of clothing.
  • the data processing device may include a generating unit that generates an image of the avatar wearing clothes, the clothes moving according to the object in the pocket.
  • a program for causing a computer to function as the data processing device.
  • a computer-implemented data processing method may comprise a user data obtaining step of obtaining user dimensional data including dimensions of each of a plurality of parts of the user.
  • the data processing method may comprise an avatar data acquisition step of acquiring avatar dimension data including dimensions of each of a plurality of parts of an avatar having a default body shape.
  • the data processing method reduces the dimensions of some of the multiple parts of the avatar so that the total error between the multiple parts of the user and the multiple parts of the avatar corresponding to the multiple parts of the user is reduced.
  • An example of a data processing device 100 is shown schematically.
  • An example of UI200 by the data processing device 100 is shown roughly.
  • An example of UI210 by the data processor 100 is shown roughly. It is an explanatory view for explaining a length dimension. It is an explanatory view for explaining a circumference dimension.
  • An example of UI230 by the data processor 100 is shown roughly.
  • An example of a tight spot indication is shown schematically.
  • An example of the functional configuration of the data processing device 100 is shown schematically. 1 schematically shows an example of a hardware configuration of a computer 1200 functioning as the data processing device 100.
  • the data processing apparatus 100 provides the user with the length of a tight part, hemline, or the like, for example, by trying on clothes on an avatar that matches the user's body.
  • the data processing device 100 provides the user with an experience that could not be realized with the conventional technology, for example, by generating animations of how the clothes sway and the sound of the clothes rubbing against each other.
  • the data processing device 100 for example, automatically generates a body that matches the size of the user, presents tight spots that match the body, presents texture due to shaking of cloth, texture due to rubbing sound, decorations such as accessories, and clothing. We provide technology that allows you to feel a sense of fitting.
  • FIG. 1 schematically shows an example of a data processing device 100.
  • the data processing device 100 executes processing related to virtual fitting.
  • the data processing device 100 generates an avatar according to the body shape of the user 300, for example.
  • the data processing device 100 for example, generates an animation in which the generated avatar wears the clothes selected by the user 300.
  • FIG. The data processing device 100 provides the generated animation to the user 300, for example.
  • the data processing device 100 stores, for example, avatar data of an avatar having a default body shape in advance.
  • the avatar data includes dimensions of each of the plurality of parts.
  • the avatar data may be configured so that the dimensions of each part can be changed.
  • the dimensions of each section may be directly changeable.
  • the dimensions of each region may be controlled by abstract parameters.
  • the dimensions of each part may be changeable by changing the parameters that indicate the dimensions.
  • the avatar data may be configured such that when the dimensions of each part are changed, the dimensions of other parts related to the part are changed so that the body shape of the person is natural.
  • the avatar data is configured such that, when the waist size is greatly changed, not only a portion of the waist size increases, but the nearby portions also increase as the size of the portion increases. In this way, the avatar data may be realized by a parametric human body model.
  • the data processing device 100 acquires user dimension data including the dimensions of each of a plurality of parts of the user 300 .
  • the data processing device 100 acquires user dimension data generated by measuring the user 300 by the sensor 450, for example.
  • the sensor 450 is, for example, a sensor capable of measuring a three-dimensional shape.
  • Sensor 450 may be a sensor that measures a plurality of parts of user 300 by imaging user 300 wearing a special suit.
  • the sensor 450 may be any sensor as long as it can measure the body shape of the user 300 .
  • the data processing device 100 may also acquire user dimension data input by the user 300, for example.
  • the user 300 can input the dimensions, for example, by taking measurements by himself using a tape measure or the like, or by having someone else take the measurements.
  • the data processing device 100 may receive user dimension data of the user 300 from the communication terminal 400 .
  • the communication terminal 400 may be a PC (Personal Computer), a tablet terminal, a smart phone, or the like.
  • Data processing apparatus 100 and communication terminal 400 may communicate via network 20 .
  • Network 20 may include the Internet.
  • the network 20 may include a LAN (Local Area Network).
  • Network 20 may include a mobile communication network.
  • the mobile communication network conforms to any of the 3G (3rd Generation) communication method, LTE (Long Term Evolution) communication method, 5G (5th Generation) communication method, and 6G (6th Generation) communication method and later communication methods. good too.
  • the data processing device 100 may acquire user dimension data by measuring the user 300 with the sensor 150 .
  • the sensor 150 is, for example, a sensor capable of measuring a three-dimensional shape.
  • Sensor 150 may be a sensor that measures a plurality of parts of user 300 by imaging user 300 wearing a special suit.
  • the data processing device 100 uses the acquired user dimension data to adjust the dimensions of the avatar data.
  • the data processing device 100 uses an iterative optimization algorithm for minimizing the error between the dimensions of the user's parts indicated by the user dimension data and the dimensions of the avatar's parts to match the body shape of the user 300.
  • avatar data may be generated.
  • FIG. 2 schematically shows an example of a UI 200 by the data processing device 100.
  • FIG. FIG. 3 schematically shows an example of the UI 210 by the data processing device 100.
  • User 300 can use UI 200 and UI 210 by accessing data processing apparatus 100 through communication terminal 400, for example.
  • the right side of the UI 200 shows the dimensions of each of multiple parts of the user 300 . These dimensions are values measured by sensor 150 or sensor 450, for example.
  • the user 300 for example, confirms the displayed dimensions, and if there is no problem, gives an instruction to generate an avatar.
  • the right side of the UI 210 shows an input screen for entering the dimensions of multiple parts of the user 300 .
  • the user 300 may manually input all the dimensions of the multiple parts.
  • User 300 may also generate user dimension data by editing the results measured by sensor 150 or sensor 450 .
  • the data processing device 100 may generate avatar data as shown on the left side of the UI 200 or the left side of the UI 210 using the set user dimension data in response to receiving an avatar generation instruction.
  • the data processing device 100 identifies which parts of the avatar the measured parts of the user 300 correspond to.
  • the data processing device 100 associates the parts of the user 300 with the parts of the avatar corresponding to the parts according to the user's 300 instructions.
  • the user 300 designates a part of the avatar corresponding to the part to be measured on the UI (User Interface), and then measures the part.
  • the parts are associated with each other.
  • the user 300 may specify which part of the avatar the already measured data corresponds to.
  • the data processing device 100 may register the degree of association with each of the plurality of parts of the avatar for each of the plurality of parts of the user 300 .
  • the registration may be performed by the user 300 or may be performed by the administrator of the data processing device 100 or the like.
  • the data processing device 100 may store part relevance data in which the degrees of relevance between each of the plurality of parts of the user 300 and each of the plurality of parts of the avatar are registered.
  • the degree of association may be, for example, 0 at the minimum and 1 at the maximum.
  • a degree of association 1 may be registered for a part of the user 300 and a part of the avatar corresponding to that part, and a lower degree of association may be registered as the distance from the part of the avatar corresponding to that part increases.
  • 1 is registered for the waist of the avatar with respect to the waist of the user 300, and relevance degrees of 0.9, 0.8, 0.7, .
  • the waist size is large and the arm size tends to be large, a relatively high degree of association can be registered between the user's 300 waist and the avatar's arm size.
  • the data processing device 100 for example, first measures the avatar.
  • the data processing device 100 may perform measurement for each part in parallel.
  • FIG. 4 is an explanatory diagram for explaining the length dimension.
  • the data processor 100 calculates the distance from the object 222 placed at the part start point of the avatar 220 to the object 222 placed at the part end point.
  • the data processing device 100 calculates the distance between the object 222 placed on the shoulder of the avatar 220 and the object 222 placed on the wrist of the avatar 220 .
  • FIG. 5 is an explanatory diagram for explaining the dimensions of the circumference.
  • the data processing device 100 first calculates all the intersections of the plane 224 at the position corresponding to the measurement site and the mesh faces and sides of the model of the avatar 220 . Then, the data processing device 100 connects the intersections into a polygon and calculates the length of the perimeter.
  • the avatar 220 is realized using a parametric human body model, and since there are restrictions between each part, it is difficult to change the dimensions of each part of the avatar 220 at once so as to match the user's dimension data. .
  • the data processing apparatus 100 may use user dimension data and an iterative optimization algorithm for minimizing errors in the body shape of the avatar.
  • the data processing device 100 changes the dimensions of some of the plurality of parts of the avatar so that the difference between the dimensions of the parts of the user 300 corresponding to the part of the avatar is reduced, and , using the part relevance data, the dimensions of the parts of the avatar related to the parts of the user 300 are changed.
  • the data processing device 100 may change the dimensions of the parts of the avatar related to the parts of the user 300 by applying a multiplier according to the degree of association. After the change, the data processing device 100 calculates the total error between the multiple parts of the user 300 and the multiple parts of the avatar corresponding to the multiple parts of the user 300 .
  • the data processing device 100 repeats such processing, for example, until the total error becomes smaller than a predetermined threshold. Further, the data processing device 100 may repeat such processing up to a preset maximum number of times of execution. As a result, it is possible to generate an avatar with less error from the body shape of the user 300 while observing the restrictions between each part in the parametric human body model.
  • FIG. 6 schematically shows an example of the UI 230 by the data processing device 100.
  • FIG. A UI 230 illustrated in FIG. 6 includes an avatar area 240 and a setting area 250 .
  • An avatar 242 wearing clothes selected by the user 300 is displayed in the avatar area 240 .
  • the avatar 242 is placed in 3D space, and the avatar 242 may be pull-around or 360-degree viewable.
  • the setting area 250 includes a product description 252, a color selection 254, a size selection 256, an action selection 258, a camera selection 260, and a tight spot display box 262.
  • the item description 252 displays the detailed description of the active garment.
  • the detailed description may include the trade name of the garment.
  • the detailed description may include the price of the garment.
  • the detailed description may include a description of the garment.
  • the color selection 254 accepts the selection of the color of the clothing 244.
  • Data processing device 100 changes the color of clothing 244 to the color selected in color selection 254 .
  • the size selection 256 accepts the selection of the clothing 244 size.
  • Data processor 100 resizes clothing 244 to the size selected in size selection 256 .
  • the action selection 258 accepts selection of actions for the avatar 242 .
  • Data processing device 100 generates and displays an animation executed by avatar 242 for the action selected in action selection 258 .
  • the camera selection 260 accepts selection of a camera angle.
  • Data processing device 100 changes the camera angle in 3D space of avatar region 240 to the camera angle selected in camera selection 260 .
  • the tight spot display box 262 accepts a selection to display tight spots on the worn clothes 244 .
  • the data processing device 100 displays tight spots on the clothing 244 when the tight spot display box 262 is selected.
  • the UI 230 shown in FIG. 6 is an example, and the configuration etc. can be changed.
  • the UI 230 may not include all of the product description 252, color selection 254, size selection 256, action selection 258, camera selection 260, and tight location display box 262, or may include others.
  • the UI 230 may have the ability to accept background selections and lighting selections.
  • FIG. 7 schematically shows an example of the display of tight spots. Based on the avatar data of the avatar 242 and the clothing data of the clothing 244, the data processing device 100 may determine the tightness of the clothing 244 and reflect it in the display.
  • FIG. 7 exemplifies a case where the degree of tightness is expressed by color gradation.
  • the data processing device 100 may display a tight spot for the avatar 242 in a stationary state, and concurrently display the tight spot while causing the avatar 242 to perform the action selected in the action selection 258.
  • the user 300 can know how much tightness he/she feels in which part when he/she moves while wearing the selected clothes. Materials of choice can be provided.
  • FIG. 8 schematically shows an example of the functional configuration of the data processing device 100.
  • FIG. Data processing device 100 includes storage unit 102, registration unit 104, user dimension data acquisition unit 106, avatar dimension data acquisition unit 108, relevance data acquisition unit 110, adjustment unit 112, avatar data acquisition unit 114, clothing data acquisition unit 116. , generation unit 120, display control unit 122, display designation reception unit 124, action selection unit 126, tightness determination unit 128, margin determination unit 130, waist designation reception unit 132, hemming identification unit 134, state identification unit 136, An accessory identification unit 138 and a pocket identification unit 140 are provided. It should be noted that it is not essential that the data processing apparatus 100 have all of these.
  • the storage unit 102 stores various data.
  • the storage unit 102 stores, for example, avatar data of an avatar having a default body type.
  • the storage unit 102 stores, for example, clothes data of a plurality of clothes.
  • the registration unit 104 registers various data. Registration unit 104 stores the registered data in storage unit 102 .
  • the registration unit 104 registers user dimension data of the user 300 .
  • the registration unit 104 may receive and register the user dimension data from the communication terminal 400 .
  • the registration unit 104 may register user dimension data measured by the sensor 150 .
  • User dimension data includes, for example, height, inseam, neck circumference, shoulder width, chest circumference, underbust circumference, arm circumference, wrist circumference, arm length, body length, waist, waist (above the hip), hips, thigh circumference, knee circumference, Includes calf and ankle measurements. Note that these are examples, and the user dimension data may not include some of them, or may include others.
  • the number of multiple parts in the avatar dimension data containing the dimensions of each of the multiple parts of the avatar is greater than the number of multiple parts in the user dimension data. If the user 300 measures all the dimensions of his/her own body, an accurate avatar can be generated, but this is difficult especially for general users. However, it is difficult to generate an accurate avatar with measurement data only for locations that a general user can reasonably measure.
  • multiple parts of the avatar are associated with each of the multiple parts included in the user dimension data. For example, if the avatar has five waist dimensions, the waist in the user dimension data is associated with the five waist dimensions. Then, for example, the degree of association between the middle dimension of the five and the waist of the user measurement data is set to 1, and the degree of association is set to 0.9, 0.8, or 0.8, 0 for each vertical separation. .6.
  • the registration unit 104 may register part relevance data including such relevance between parts.
  • the registration unit 104 may store avatar data generated by another device in the storage unit 102 .
  • the registration unit 104 stores, in the storage unit 102, avatar data generated according to the body type of the user 300 by another device, for example.
  • the user dimension data acquisition unit 106 acquires user dimension data of the user 300 .
  • the user dimension data acquisition unit 106 may read the user dimension data from the storage unit 102 .
  • the avatar dimension data acquisition unit 108 acquires the avatar dimension data of the avatar.
  • the avatar dimension data acquisition unit 108 may generate avatar dimension data by measuring the avatar of the avatar data stored in the storage unit 102 .
  • the avatar dimension data acquisition unit 108 may measure multiple parts of the avatar in parallel.
  • the avatar dimension data acquisition unit 108 measures a plurality of length dimensions and a plurality of surrounding dimensions.
  • the relevance data acquisition unit 110 acquires part relevance data.
  • the relevance data acquisition unit 110 may read the part relevance data from the storage unit 102 .
  • the adjustment unit 112 generates avatar data using the user dimension data, avatar dimension data, and part relevance data.
  • the adjustment unit 112 stores the generated avatar data in the storage unit 102 .
  • Adjusting unit 112 adjusts some of the multiple parts of the avatar so that the total error between the multiple parts of user 300 and the multiple parts of avatar corresponding to the multiple parts of user 300 is reduced.
  • the dimensions are changed so as to reduce the difference from the dimensions of the parts of the user 300 corresponding to the partial parts, and along with the change, the dimensions of the parts of the avatar related to the parts of the user 300 are changed. After that, the process of calculating the total error is repeated.
  • the adjustment unit 112 may change the dimensions of the parts of the avatar related to the parts of the user 300 using the part relevance data.
  • the adjustment unit 112 adjusts the size of the other part of the avatar corresponding to the one part of the user 300 .
  • the dimensions can be changed by the value X multiplied by the relevance.
  • the adjuster 112 may directly change the dimensions of the target site.
  • the adjustment unit 112 may change parameters indicating the dimensions of the target site.
  • the adjustment unit 112 may continue repeating until the total error is less than a predetermined threshold. Further, the adjustment unit 112 may continue repeating the process a predetermined number of times.
  • the threshold may be determined according to the number of measured parts of the user 300 . For example, the greater the number of measured parts of the user 300, the higher the threshold.
  • the adjustment unit 112 may calculate the total error between the multiple parts of the user 300 and the multiple parts of the avatar corresponding to the multiple parts without weighting or with weighting. .
  • the adjustment unit 112 for example, weights each part and calculates the total error.
  • the weighting for each part can be set according to the type of clothing worn by the avatar. For example, if the garment is a skirt, it may be weighted more around the waist, and if the garment is a top, it may be weighted more around the chest.
  • the avatar data acquisition unit 114 acquires avatar data.
  • the avatar data acquisition unit 114 acquires avatar data of an avatar whose dimensions have been adjusted by the adjustment unit 112 to match the dimensions of the user's 300 parts.
  • the avatar data acquisition unit 114 may read the avatar data stored in the storage unit 102 .
  • the avatar data acquisition unit 114 may read from the storage unit 102 avatar data generated by another device and stored in the storage unit 102 by the registration unit 104 .
  • the clothing data acquisition unit 116 acquires clothing data of clothing.
  • the clothing data acquisition unit 116 may read clothing data stored in the storage unit 102 .
  • the clothing data acquisition unit 116 acquires clothing data of clothing selected by the user 300 on the UI 230, for example.
  • the generation unit 120 generates an image of the avatar wearing clothes based on the avatar data acquired by the avatar data acquisition unit 114 and the clothing data acquired by the clothing data acquisition unit 116 .
  • the generation unit 120 generates an animation of the avatar wearing clothes, for example, based on the avatar data and the clothes data.
  • the generation unit 120 stores the generated image in the storage unit 102 .
  • the display control unit 122 controls to display the image generated by the generation unit 120 stored in the storage unit 102 .
  • the display control unit 122 controls to display an image on a display included in the data processing device 100, for example. Further, the display control unit 122, for example, transmits an image to the communication terminal 400 and causes the communication terminal 400 to display the image.
  • the display designation reception unit 124 receives designation regarding the display of the avatar wearing clothes.
  • the display designation receiving unit 124 receives designation of the color of clothes, for example.
  • the display specification accepting unit 124 accepts color specification via the color selection 254 on the UI 230 .
  • the display designation receiving unit 124 receives designation of clothing size, for example.
  • the display specification accepting unit 124 accepts specification of the size via the size selection 256 on the UI 230 .
  • the display specification accepting unit 124 accepts specification of a camera angle, for example.
  • the display designation reception unit 124 receives designation of a camera angle via a camera selection 260 on the UI 230 .
  • the generation unit 120 may generate an image of the avatar wearing clothes according to the designation received by the display designation reception unit 124 . For example, the generation unit 120 generates an image of an avatar wearing clothes of a specified color. Also, for example, the generating unit 120 generates an image of an avatar wearing clothes of a specified size. For example, the generation unit 120 generates an image of the avatar wearing clothes at a specified camera angle.
  • the action selection unit 126 selects an action to be executed by the avatar.
  • the action selection unit 126 may select an action to be executed by the avatar from a plurality of preset actions.
  • the action selector 126 selects an action specified via an action selection 258 on the UI 230, for example.
  • the action selection unit 126 may select actions in order from a plurality of preset actions, for example.
  • the generation unit 120 may generate an animation in which clothes move in accordance with the movement of the avatar executing the action selected by the action selection unit 126 .
  • the tightness determination unit 128 determines the tightness of the clothes worn by the avatar based on the avatar data and the clothes data.
  • the generator 120 may generate an image that reflects the tightness of the clothes determined by the tightness determiner 128 .
  • the tightness determination unit 128 determines the degree of tightness of the clothes, for example, by comparing the size of the avatar and the size of the clothes.
  • the tightness determination unit 128 may determine the tightness of clothes from the force of the stretch parameter in cloth simulation, which is a simulation of clothes.
  • the clothing data includes stretch parameters related to the stretch of the material of the clothing.
  • the generation unit 120 may generate an image that reflects the degree of force received from the clothes of the part where the avatar wears the clothes, specified by the tightness determination unit 128 based on the stretch parameter.
  • the stretch parameter may include a length threshold of the length of the side of the clothing mesh at which the clothing begins to exert force on the part where the clothing is worn.
  • the stretch parameter may include a tear threshold for the edge length of the clothing mesh at which the clothing tears.
  • the stretch parameter for each clothing material is registered by, for example, the user 300, the administrator of the data processing device 100, or the like.
  • the tightness determination unit 128 may determine the stretch parameter for each material of the clothing based on the physical properties of the cloth simulation.
  • the tightness determination unit 128 first stores the initial state of the clothing mesh of the target clothing. For each vertex of the clothing mesh, the tightness determination unit 128 obtains a group of 1-neighbor vertices, stores the index, and stores the distance (d v0 ) between the vertex v and each 1-neighbor vertex. The tightness determination unit 128 compares the current state and the initial state for each frame of the animation of the avatar wearing clothes.
  • the generation unit 120 When reflecting the color of the original clothing, the generation unit 120 adds a color corresponding to the tightness a to the color of the original clothing, for example.
  • the generation unit 120 acquires vertex colors using the Choten shader and passes them to the fragment shader.
  • the fragment shader takes a weighted average of the color sampled from the texture and the preset color. As a result, it is possible to provide an image in which a color corresponding to the tightness a is added to the original clothing.
  • the margin determination unit 130 determines the margin of clothing size for the avatar based on the distance between the avatar and the clothing when the avatar is wearing the clothing.
  • the spare capacity determination unit 130 may determine the spare capacity while the avatar is stopped, or may determine the spare capacity while the avatar is moving.
  • the leeway degree determination unit 130 may cause the avatar wearing clothes to take a T pose.
  • the margin determination unit 130 calculates the difference between the size of the avatar and the size of the clothes with respect to arm circumference, neck circumference, shoulder width, and the like.
  • the margin determination unit 130 calculates the number of vertices of the clothing mesh that are distant from the avatar and the distance from the avatar for each vertex.
  • the margin determination unit 130 compares the total distance with a preset threshold value, and determines that the silhouette is loose-eyed when the total distance value is greater than the threshold value.
  • the margin determining unit 130 may determine that the margin is high as the difference between the total distance and the threshold is large.
  • the leeway determination unit 130 may calculate the total distance when the avatar is properly fitted with clothes, and set the threshold value based on the total distance.
  • the leeway determination unit 130 When determining the degree of leeway with the avatar moving, the leeway determination unit 130 causes the avatar to perform a predetermined action.
  • the margin determination unit 130 performs real-time cloth simulation in accordance with the motion of the avatar.
  • the margin determination unit 130 calculates the number of vertices of the clothing mesh that are distant from the avatar and the distance from the avatar for each vertex.
  • the margin determination unit 130 compares the total distance with a preset threshold value, and determines that the silhouette is loose-eyed when the total distance value is greater than the threshold value.
  • the margin determining unit 130 may determine that the margin is high as the difference between the total distance and the threshold is large.
  • the margin determination unit 130 may limit the parts for which the vertex distance is calculated. For example, if the target garment is trousers, the allowance determination unit 130 limits the waist, thigh circumference, and hem. Further, for example, when the target garment is a skirt, the allowance determination unit 130 limits the waist and hem. Further, for example, when the target clothing is a T-shirt, the allowance determination unit 130 limits the arm circumference and the neck circumference.
  • the generation unit 120 may generate an image that reflects the margin determined by the margin determination unit 130 .
  • the generator 120 generates, for example, an image reflecting a color corresponding to the margin.
  • the generation unit 120 may set the color of each vertex of the clothing mesh to a color with a density corresponding to the degree of margin. When reflecting the color of the original clothing, the generation unit 120 adds, for example, a color corresponding to the degree of leeway to the color of the original clothing.
  • the storage unit 102 may store fricative sounds for each clothing material.
  • a fricative for each material may be generated by simulation. Friction may be generated in the clothes of each material and recorded.
  • the storage unit 102 may be an example of a fricative storage unit. Based on the fricative sounds stored in the storage unit 102, the generation unit 120 may generate a fricative sound corresponding to the friction of the clothes caused by the movement of the avatar wearing the clothes.
  • the generation unit 120 may generate a fricative sound with a higher volume as the size of the rubbing area of the clothing increases.
  • the generation unit 120 may generate a fricative sound with a higher sound as the acceleration of friction of the clothes is higher.
  • the generation unit 120 first sets the sound volume per unit area of the clothing mesh.
  • the generation unit 120 sets the sound around the friction duration unit time.
  • the generation unit 120 performs collision determination on the animation of the mesh structure of the clothes.
  • the generator 120 calculates the volume from the friction surface and friction speed.
  • the generator 120 may calculate the pitch of the sound from the acceleration of friction.
  • the generation unit 120 generates a sound waveform from the duration of friction.
  • the generation unit 120 may store the generated voice in the storage unit 102 .
  • the display control unit 122 may display the image generated by the generation unit 120 and output audio as sound.
  • the waist designation reception unit 132 receives the designation of the waist position of the avatar on which the clothes are to be placed and the fixing strength for fixing the clothes to the avatar.
  • the generating unit 120 generates an image in which the clothes are fixed to the avatar at the specified waist position with the specified fixing strength.
  • the waist designation reception unit 132 receives designation of the waist position and fixing strength from the user 300, for example. For example, when the user 300 wears the bottoms, he/she designates the waist position to which the bottoms should be fixed and the fixing strength of the belt. As a specific example, the user 300 designates a position where the bottoms are to be fixed to the avatar displayed by the display control unit 122 .
  • the generation unit 120 extracts the nearest edge loop of the fixing position from the mesh collider of the avatar. The generation unit 120 extracts the nearest edge loop of the fixing position from the mesh of the bottoms.
  • the generation unit 120 calculates the center points of both edge loops.
  • the generator 120 moves the bottoms so that the center points match.
  • the generator 120 selects the nearest vertex from the edge loops of the mesh collider for each vertex of the edge loops of the bottoms.
  • the generation unit 120 defines distance constraints for all vertex pairs when activating the cloth simulation. Specifically, the generation unit 120 sets the conditional distance to a value close to zero. Don't set it to 0 so it doesn't intersect with mesh colliders. Also, the generation unit 120 sets the strength of the condition from 0 to 1. FIG. The generation unit 120 sets the strength of the condition from 0 to 1 according to the fixed strength designated by the user 300 .
  • the generation unit 120 optimizes the positions of the vertices of the mesh of the bottoms using the existing constraints as well as the waist position distance constraints. That is, the generation unit 120 constrains the bottoms to be fixed to the avatar according to the existing constraints so that the waist position is fixed.
  • the generation unit 120 may fire an event if the distance between the vertices of a certain percentage of the edge loops of the bottoms mesh exceeds the constraint condition in each iteration. For example, if the avatar's parametric model's controller receives an event and the waist is larger than the minimum waist circumference defined, slightly less of the parameter affects the waist portion under the avatar's edge loops. That is, when the waist of the avatar is larger than the size of the bottoms and the bottoms are stretched, the generation unit 120 fires an event, receives it on the avatar side, reduces the waist of the avatar, and reduces the avatar's flesh to the size of the bottoms. Generates an image that looks like you are immersed in it.
  • the hemming identification unit 134 identifies the length of the clothing corresponding to the avatar and the type of hemming of the clothing when the clothing is pants. Types of hemming include, for example, single, double, tri-fold, and cut-and-sew.
  • the generating unit 120 changes the clothing data based on the length of the clothing and the type of hemming of the clothing specified by the hemming specifying unit 134 .
  • the generation unit 120 for example, deletes part of the clothing data of the clothing based on the length of the clothing, and creates an image in which a texture corresponding to the type of hemming is applied to a position corresponding to the part of the clothing data. Generate.
  • the hemming identifying unit 134 identifies the center vertex of the inseam of the mesh of the trousers.
  • the hemming identifying unit 134 may identify the vertex by analyzing the clothing data, or may identify the vertex by receiving a designation from the user 300 .
  • the hemming specifying unit 134 specifies the length of the trousers.
  • the hemming identifying unit 134 may identify the appropriate trouser length for the user 300 using the inseam dimension (actual measurement data) of the user 300 . Further, the hemming specifying unit 134 may accept specification of the length desired by the user 300 from the user 300 .
  • the generation unit 120 saves the original pants mesh.
  • the hemming specifier 134 inserts edge loops (a sequence of vertices and edges) at both ends of the mesh at positions below the crotch vertex by the specified height.
  • the generating unit 120 interpolates UV coordinates from surrounding vertices to the newly added vertex.
  • the generator 120 deletes vertices below the newly added vertex.
  • the generation unit 120 selects the newly added vertex and the vertices above it within a certain range.
  • the range may be a range according to the specified type of hemming.
  • the generator 120 applies the texture to the vertices being selected.
  • the texture may be a texture corresponding to the specified hemming type.
  • the generation unit 120 may change the cloth simulation parameters of the currently selected vertex.
  • the generating unit 120 changes the cloth simulation parameter of the currently selected vertex according to, for example, the identified hemming type.
  • the generating unit 120 may double the mass of the selected vertex and double the strength of the bending constraint (or weighting). .
  • the generating unit 120 may double the mass of the selected vertex and double the strength of the bending constraint (or weighting). .
  • the hem of the single it is possible to pseudo-reflect the state in which the cloth is doubled in the cloth simulation.
  • the generation unit 120 may quadruple the mass of the selected vertex and quadruple the strength of the bending constraint (or weight it). As a result, by raising the double hem, it is possible to pseudo-reflect the state in which the cloth becomes four layers in the cloth simulation.
  • the generation unit 120 may triple the mass of the selected vertex and triple the strength of the folding constraint (or weight it). As a result, by raising the hem of the three folds, it is possible to pseudo-reflect the state in which the cloth is three-folded in the cloth simulation.
  • the generation unit 120 may double the mass of the selected vertex and double the strength of the bending constraint (or weighting). As a result, by raising the hem of the cut-and-sew, it is possible to pseudo-reflect the state in which the cloth is doubled in the cloth simulation.
  • the generation unit 120 may redo the process using the original mesh that has been saved.
  • the state identification unit 136 identifies the state of the zipper or button when the clothing is a top and has a zipper or button.
  • the data processing device 100 provides the user 300 with a UI that can change the open/close state of the zipper and the open/close state of the button for the avatar wearing clothes.
  • the user 300 changes the opening/closing state of the zipper and the opening/closing state of the button on the UI in order to consider how to wear the clothes.
  • the generation unit 120 generates an image according to the zipper or button state identified by the state identification unit 136 . If the garment has a zipper, the generation unit 120 may increase the bending constraint conditions for the portion corresponding to the zipper in the garment data. The generation unit 120 may make the folding constraint stronger when the zipper is closed than when the zipper is open. When the zipper is half open, the generator 120 may make the folding constraint for the closed portion stronger than the folding constraint for the open portion.
  • the generation unit 120 selects a pair of edge vertices where both front hemlines are connected from the mesh of the garment.
  • the generation unit 120 strengthens the folding constraint condition for the selected vertex.
  • the generation unit 120 may set a fixed value that can reproduce the zipper.
  • the generator 120 defines a distance constraint for a vertex pair.
  • the generator 120 may set the distance to 0 and the strength to the maximum value.
  • the generation unit 120 may be configured to be able to freely change the rate at which the zipper is open while the animation of the avatar wearing clothes is being displayed, and the above constraints are invalidated for the part where the zipper is open. can be
  • the generator 120 may prepare in advance the meshes of the zippers that are connected and the zippers that are not connected.
  • the generation unit 120 aligns the mesh with each edge of the front hem for each frame of the animation of the avatar wearing clothes. If both vertices of the edge are closed, the generation unit 120 places the mesh of the connected zipper and does not place the mesh on the pair of edges. If even one vertex of the edge is not closed, the generation unit 120 places a disconnected zipper mesh.
  • the generation unit 120 specifies two pairs of vertices for each button.
  • the button side may be two vertices around the top and bottom of the button viewed from the front, and the hole side of the button may be two vertices directly above and below the hole.
  • the generation unit 120 may set the bending constraint condition of the specified vertex to a fixed value that can reproduce the button.
  • the generator 120 defines a distance constraint for a vertex pair.
  • the generator 120 may set the distance to 0 and the strength to the maximum value.
  • the generation unit 120 may be configured to be able to freely change whether or not each button is open while displaying the animation of the avatar wearing clothes, and the above constraint conditions are applied to the portions where the buttons are open. You can disable it.
  • the accessory identification unit 138 identifies accessories that come into contact with clothing.
  • the accessory identification unit 138 may identify accessories originally attached to the clothes.
  • the data processing device 100 may provide the user 300 with a UI for adding accessories to clothes, and the accessory identification unit 138 may specify the accessories added by the user 300 .
  • the generation unit 120 may generate the movement of the clothes according to the relationship between the clothes and the accessories.
  • Examples of accessories include hats, bags, backpacks, scarves, mufflers, ties, bow ties, socks, stockings, tights, pocket squares, boutonnieres, watches, bracelets, and rings.
  • Decorations may be divided into three categories. The categories are those that attach hard objects to cloth, those that interact with hard objects controlled by physics simulations and cloth, and those that attach one cloth to another (for example, attaching a handkerchief to a jacket). ) and
  • the generation unit 120 does not have to reflect the ornament in the cloth simulation when the ornament is a small rigid body.
  • the generating unit 120 for example, arranges the ornament at the position designated by the user 300.
  • FIG. The generator 120 searches for the closest vertex from the ornament on the clothing mesh when the cloth simulation is started.
  • the generation unit 120 calculates an average normal line from the retrieved vertices and peripheral vertices.
  • the generation unit 120 saves the arrangement information at startup.
  • the placement information may include relative positions of vertices and adornments, and relative orientations of normals and adornments.
  • the generation unit 120 calculates the position of the vertex and the normal line around each frame of the animation of the avatar wearing clothes. Then, the generation unit 120 changes the position and orientation of the ornament so as to maintain the saved arrangement information. This makes it possible to express the natural movement of the accessory, which is a small rigid body.
  • the generator 120 reflects it in the cloth simulation.
  • the generating unit 120 for example, arranges the ornament at the position designated by the user 300.
  • FIG. The generation unit 120 surrounds the mesh of the ornament with a collider for cloth simulation.
  • the generation unit 120 designates the vertices of the collider for pasting.
  • the generator 120 defines the distance constraint between the specified vertex and the closest vertex of the clothing mesh when the cloth simulation is started.
  • the generation unit 120 moves and rotates not only the cloth particles but also the colliders in the solver processing for each frame of animation of the clothed avatar in order to observe all the constraints.
  • the generation unit 120 selects the vertices of the region of the clothing mesh to which the accessory can be pasted.
  • the generation unit 120 selects the vertices of the pasting area in the accessory mesh.
  • the generator 120 places the ornament mesh on the clothes.
  • the generating unit 120 collects the shortest vertex pairs within a certain range from the selected vertices of the accessory mesh and the clothing mesh, and defines distance constraints from the pairs.
  • the pocket identification unit 140 identifies objects in pockets of clothes.
  • the data processing device 100 may provide the user 300 with a UI for placing an object specified by the user 300 in the pocket of the clothing. For example, when the user 300 wants to check the state of the clothes when the smartphone, wallet, etc. are put in the pocket, the user 300 can specify the smartphone, the wallet, and the like.
  • the generation unit 120 generates the movement of the clothes according to the object in the pocket.
  • the generation unit 120 calculates the shape of the object (sometimes referred to as the specific object) identified by the pocket identification unit 140 and uses it as an initial value.
  • the generator 120 sets the friction between the specific object and the clothing material.
  • the generation unit 120 generates a heat map centered on the pocket from the shape of the pocket and the size of the specific object.
  • the heatmap may be the settings and displacements of the vertices of the mesh around the pocket that are affected as the particular object moves within the pocket. When it is close to a specific object and there is no seam (pocket opening), the amount of movement is large, and the amount of movement is small on the seam side.
  • the generation unit 120 corrects the heat map portion of the normal cloth simulation result that matches the movement of the avatar.
  • the generating unit 120 applies correction by recalculating the vector of each vertex in the heatmap.
  • the generation unit 120 calculates the direction and amount of movement of each vertex by synthesizing the gravity of the weight of the specific object, the direction and force of the animation, and the direction and force of the heat map.
  • FIG. 9 schematically shows an example of the hardware configuration of a computer 1200 functioning as the data processing device 100.
  • FIG. Programs installed on the computer 1200 cause the computer 1200 to function as one or more "parts" of the apparatus of the present embodiments, or cause the computer 1200 to operate or perform operations associated with the apparatus of the present invention. Multiple “units” can be executed and/or the computer 1200 can be caused to execute the process or steps of the process according to the present invention.
  • Such programs may be executed by CPU 1212 to cause computer 1200 to perform certain operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.
  • a computer 1200 includes a CPU 1212 , a RAM 1214 and a graphics controller 1216 , which are interconnected by a host controller 1210 .
  • Computer 1200 also includes GPU 1250 .
  • Computer 1200 also includes input/output units such as communication interface 1222 , storage device 1224 , DVD drive, and IC card drive, which are connected to host controller 1210 via input/output controller 1220 .
  • the DVD drive may be a DVD-ROM drive, a DVD-RAM drive, and the like.
  • Storage devices 1224 may be hard disk drives, solid state drives, and the like.
  • Computer 1200 also includes legacy input/output units, such as ROM 1230 and keyboard, which are connected to input/output controller 1220 via input/output chip 1240 .
  • the CPU 1212 operates according to programs stored in the ROM 1230 and RAM 1214, thereby controlling each unit.
  • Graphics controller 1216 retrieves image data generated by CPU 1212 into a frame buffer or the like provided in RAM 1214 or itself, and causes the image data to be displayed on display device 1218 .
  • a communication interface 1222 communicates with other electronic devices via a network.
  • Storage device 1224 stores programs and data used by CPU 1212 within computer 1200 .
  • the DVD drive reads programs or data from a DVD-ROM or the like and provides them to the storage device 1224 .
  • the IC card drive reads programs and data from IC cards and/or writes programs and data to IC cards.
  • ROM 1230 stores therein programs such as boot programs that are executed by computer 1200 upon activation and/or programs that depend on the hardware of computer 1200 .
  • Input/output chip 1240 may also connect various input/output units to input/output controller 1220 via USB ports, parallel ports, serial ports, keyboard ports, mouse ports, and the like.
  • the program is provided by a computer-readable storage medium such as a DVD-ROM or an IC card.
  • the program is read from a computer-readable storage medium, installed in storage device 1224 , RAM 1214 , or ROM 1230 , which are also examples of computer-readable storage media, and executed by CPU 1212 .
  • the information processing described within these programs is read by computer 1200 to provide coordination between the programs and the various types of hardware resources described above.
  • An apparatus or method may be configured by implementing information operations or processing according to the use of computer 1200 .
  • the CPU 1212 executes a communication program loaded into the RAM 1214 and sends communication processing to the communication interface 1222 based on the processing described in the communication program. you can command.
  • the communication interface 1222 reads transmission data stored in a transmission buffer area provided in a recording medium such as a RAM 1214, a storage device 1224, a DVD-ROM, or an IC card under the control of the CPU 1212, and transmits the read transmission data. Data is transmitted to the network, or received data received from the network is written in a receive buffer area or the like provided on the recording medium.
  • the CPU 1212 causes the RAM 1214 to read all or necessary portions of files or databases stored in an external recording medium such as a storage device 1224, a DVD drive (DVD-ROM), an IC card, etc. Various types of processing may be performed on the data. CPU 1212 may then write back the processed data to an external recording medium.
  • an external recording medium such as a storage device 1224, a DVD drive (DVD-ROM), an IC card, etc.
  • Various types of processing may be performed on the data.
  • CPU 1212 may then write back the processed data to an external recording medium.
  • CPU 1212 performs various types of operations on data read from RAM 1214, information processing, conditional decisions, conditional branching, unconditional branching, and information retrieval, which are described throughout this disclosure and are specified by instruction sequences of programs. Various types of processing may be performed, including /replace, etc., and the results written back to RAM 1214 . In addition, the CPU 1212 may search for information in a file in a recording medium, a database, or the like.
  • the CPU 1212 selects the first attribute from among the plurality of entries. search for an entry that matches the specified condition of the attribute value of the attribute, read the attribute value of the second attribute stored in the entry, and thereby determine the first attribute that satisfies the predetermined condition An attribute value of the associated second attribute may be obtained.
  • the programs or software modules described above may be stored in a computer-readable storage medium on or near computer 1200 .
  • a recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can be used as a computer-readable storage medium, whereby the program can be transferred to the computer 1200 via the network. offer.
  • the blocks in the flowcharts and block diagrams in this embodiment may represent steps in the process in which the operations are performed or "parts" of the device responsible for performing the operations. Certain steps and “sections” may be provided with dedicated circuitry, programmable circuitry provided with computer readable instructions stored on a computer readable storage medium, and/or computer readable instructions provided with computer readable instructions stored on a computer readable storage medium. It may be implemented by a processor. Dedicated circuitry may include digital and/or analog hardware circuitry, and may include integrated circuits (ICs) and/or discrete circuitry.
  • ICs integrated circuits
  • Programmable circuits such as Field Programmable Gate Arrays (FPGAs), Programmable Logic Arrays (PLAs), etc., perform AND, OR, EXCLUSIVE OR, NOT AND, NOT OR, and other logical operations. , flip-flops, registers, and memory elements.
  • FPGAs Field Programmable Gate Arrays
  • PLAs Programmable Logic Arrays
  • a computer-readable storage medium may comprise any tangible device capable of storing instructions to be executed by a suitable device, such that a computer-readable storage medium having instructions stored thereon may be illustrated in flowchart or block diagram form. It will comprise an article of manufacture containing instructions that can be executed to create means for performing specified operations. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like.
  • Computer readable storage media include floppy disks, diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory) , electrically erasable programmable read only memory (EEPROM), static random access memory (SRAM), compact disc read only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick , integrated circuit cards, and the like.
  • RAM random access memory
  • ROM read only memory
  • EPROM or flash memory erasable programmable read only memory
  • EEPROM electrically erasable programmable read only memory
  • SRAM static random access memory
  • CD-ROM compact disc read only memory
  • DVD digital versatile disc
  • Blu-ray disc memory stick , integrated circuit cards, and the like.
  • the computer readable instructions may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state configuration data, or instructions such as Smalltalk, JAVA, C++, etc. any source or object code written in any combination of one or more programming languages, including object-oriented programming languages, and conventional procedural programming languages such as the "C" programming language or similar programming languages; may include
  • Computer readable instructions are used to produce means for a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or programmable circuits to perform the operations specified in the flowchart or block diagrams.
  • a general purpose computer, special purpose computer, or other programmable data processor locally or over a wide area network (WAN) such as the Internet, etc., to execute such computer readable instructions. It may be provided in the processor of the device or in a programmable circuit. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Textile Engineering (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Graphics (AREA)
  • Computational Mathematics (AREA)
  • Architecture (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Biophysics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

ユーザの複数の部位のそれぞれの寸法を含むユーザ寸法データを取得するユーザデータ取得部と、デフォルトの体型を有するアバタの複数の部位のそれぞれの寸法を含むアバタ寸法データを取得するアバタデータ取得部と、ユーザの複数の部位と、ユーザの複数の部位に対応するアバタの複数の部位との合計誤差が小さくなるように、アバタの複数の部位のうちの一部の部位の寸法を、当該一部の部位に対応するユーザの部位の寸法との差異が少なくなるように変更し、かつ、変更に伴って一部の部位に対応するユーザの部位に関連するアバタの部位の寸法を変更した後、合計誤差を算出する処理を繰り返す調整部とを備えるデータ処理装置を提供する。

Description

データ処理装置、プログラム、及びデータ処理方法
 本発明は、データ処理装置、プログラム、及びデータ処理方法に関する。
 特許文献1には、試着者の姿勢をリアルタイムに推定し、推定した時系列の姿勢に合わせて衣服の動きをシミュレートする技術が記載されている。非特許文献1及び非特許文献2には、衣服モデルを生成するためのツール等が記載されている。
 [先行技術文献]
 [特許文献]
 [特許文献1]特開2006-249618号公報
 [非特許文献]
 [非特許文献1]UMETANI N., KAUFMAN D. M., IGARASHI T., GRINSPUN E.: Sensitive couture for interactive garment editing and modeling. ACM Transactions on Graphics (SIGGRAPH 2011) 30, 4 (2011). 
 [非特許文献2]BERTHOUZOZ F., GARG A., KAUFMAN D. M., GRINSPUN E., AGRAWALA M.: Parsing sewing patterns into 3d garments. ACM Trans. Graph. 32, 4 (July 2013), 85:1-85:12. 
一般的開示
 本発明の一実施態様によれば、データ処理装置が提供される。データ処理装置は、ユーザの複数の部位のそれぞれの寸法を含むユーザ寸法データを取得するユーザ寸法データ取得部を備えてよい。データ処理装置は、デフォルトの体型を有するアバタの複数の部位のそれぞれの寸法を含むアバタ寸法データを取得するアバタ寸法データ取得部を備えてよい。データ処理装置は、ユーザの複数の部位と、ユーザの複数の部位に対応するアバタの複数の部位との合計誤差が小さくなるように、アバタの複数の部位のうちの一部の部位の寸法を、当該一部の部位に対応するユーザの部位の寸法との差異が少なくなるように変更し、かつ、変更に伴ってユーザの部位に関連するアバタの部位の寸法を変更した後、合計誤差を算出する処理を繰り返す調整部を備えてよい。
 上記アバタの上記複数の部位の数は、上記ユーザの上記複数の部位の数よりも多くてよい。上記データ処理装置は、上記ユーザの上記複数の部位のそれぞれについて、上記アバタの上記複数の部位のそれぞれとの関連度が登録された部位関連度データを取得する関連度データ取得部を備えてよく、上記調整部は、上記部位関連度データを用いて、上記ユーザの部位に関連する上記アバタの部位の寸法を変更してよい。上記データ処理装置は、上記調整部によって、上記複数の部位の寸法が上記ユーザの上記複数の部位の寸法に合わせて調整されたアバタのアバタデータを取得するアバタデータ取得部と、衣服の衣服データを取得する衣服データ取得部と、上記アバタデータ及び上記衣服データに基づいて、上記アバタが上記衣服を着装している画像を生成する生成部と、上記画像を表示するよう制御する表示制御部とを備えてよい。上記生成部は、上記アバタデータ及び上記衣服データに基づいて、上記アバタが上記衣服を着装しているアニメーションを生成してよい。上記データ処理装置は、上記アバタに実行させるアクションを選択するアクション選択部を備えてよく、上記生成部は、上記アクション選択部によって選択された上記アクションを実行する上記アバタの動きに合わせて上記衣服が動く上記アニメーションを生成してよい。上記データ処理装置は、上記衣服の色及びサイズの少なくともいずれかの指定を受け付ける表示指定受付部を備えてよく、上記生成部は、上記表示指定受付部が受け付けた上記衣服の色及びサイズの少なくともいずれかの指定に基づいて、上記アバタが上記衣服を着装している上記アニメーションを生成してよい。
 上記生成部は、上記アバタデータ及び上記衣服データに基づいて判定された上記衣服のきつさを反映した上記画像を生成してよい。上記衣服データは、上記衣服の素材の伸縮に関連する伸縮パラメータを含んでよく、上記生成部は、上記伸縮パラメータに基づいて特定した、上記アバタの上記衣服を着装している部位の上記衣服から受ける力の度合を反映した上記画像を生成してよい。上記伸縮パラメータは、上記衣服が当該衣服を着装している部位に対して力を与え始める上記衣服のメッシュの辺の長さの長さ閾値と、上記衣服が破れる上記衣服のメッシュの辺の長さの破れ閾値とを含んでよい。上記生成部は、上記衣服に、上記アバタの上記衣服を着装している部位の上記衣服から受ける力の度合に応じた色を反映した上記画像を生成してよい。上記データ処理装置は、上記アバタに上記衣服を着装させた状態における、上記アバタと上記衣服との距離に基づいて、上記アバタに対する上記衣服のサイズの余裕度を判定する余裕度判定部を備えてよく、上記生成部は、上記余裕度を反映した上記画像を生成してよい。上記生成部は、上記衣服に、上記余裕度に応じた色を反映した上記画像を生成してよい。
 上記データ処理装置は、衣服の素材毎の摩擦音を格納する摩擦音格納部を備えてよく、上記生成部は、上記摩擦音格納部に格納されている上記摩擦音に基づいて、上記衣服を着装させた上記アバタの動きによって発生する上記衣服の摩擦に対応する摩擦音を生成してよい。上記生成部は、上記衣服の摩擦している領域のサイズが大きいほど、大きい音量の上記摩擦音を生成してよい。上記生成部は、上記衣服の摩擦の加速度が高いほど、高い音の上記摩擦音を生成してよい。上記データ処理装置は、上記衣服がボトムスである場合に、上記衣服を配置する上記アバタのウエスト位置、及び上記衣服を上記アバタに固定する固定強度の指定を受け付けるウエスト指定受付部を備えてよく、上記生成部は、指定された上記ウエスト位置に指定された上記固定強度で上記衣服を上記アバタに対して固定した上記画像を生成してよい。上記データ処理装置は、上記衣服がズボンである場合に、上記アバタに対応する上記衣服の丈、及び上記衣服の裾上げの種類を特定する裾上げ特定部を備えてよく、上記生成部は、上記衣服の丈及び上記衣服の裾上げの種類に基づいて上記衣服データを変更してよい。上記生成部は、上記衣服の衣服データの一部を、上記衣服の丈に基づいて削除し、上記一部に対応する位置に上記裾上げの種類に対応するテクスチャを適用した上記画像を生成してよい。上記データ処理装置は、上記衣服がトップスであり、かつ、上記衣服がジッパー又はボタンを有する場合に、上記ジッパー又は上記ボタンの状態を特定する状態特定部を備えてよく、上記生成部は、上記ジッパー又は上記ボタンの状態に応じた上記画像を生成してよい。上記生成部は、上記衣服がジッパーを有する場合に、上記衣服データにおける上記ジッパーに対応する部分の折り曲げ制約条件を強くしてよい。上記データ処理装置は、上記衣服に接する装飾品を特定する装飾品特定部を備えてよく、上記生成部は、上記衣服と上記装飾品との関係に応じた上記衣服の動きを生成してよい。上記データ処理装置は、上記衣服のポケット内の物を特定するポケット特定部を備えてよく、上記生成部は、上記ポケット内の物に応じた上記衣服の動きを生成してよい。
 本発明の一実施態様によれば、データ処理装置が提供される。データ処理装置は、アバタのアバタデータを取得するアバタデータ取得部を備えてよい。データ処理装置は、衣服の素材の伸縮に関連する伸縮パラメータを含む衣服データを取得する衣服データ取得部を備えてよい。データ処理装置は、伸縮パラメータに基づいて特定した、アバタの衣服を着装している部位の衣服から受ける力の度合を反映した、アバタが衣服を着装している画像を生成する生成部を備えてよい。データ処理装置は、画像を表示するよう制御する表示制御部を備えてよい。
 本発明の一実施態様によれば、データ処理装置が提供される。データ処理装置は、アバタのアバタデータを取得するアバタデータ取得部を備えてよい。データ処理装置は、衣服の衣服データを取得する衣服データ取得部を備えてよい。データ処理装置は、アバタに衣服を着装させた状態における、アバタと衣服との距離に基づいて、アバタに対する衣服のサイズの余裕度を判定する余裕度判定部を備えてよい。データ処理装置は、余裕度を反映した、アバタが衣服を着装している画像を生成する生成部を備えてよい。
 本発明の一実施態様によれば、データ処理装置が提供される。データ処理装置は、アバタのアバタデータを取得するアバタデータ取得部を備えてよい。データ処理装置は、衣服の衣服データを取得する衣服データ取得部を備えてよい。データ処理装置は、衣服の素材毎の摩擦音を格納する摩擦音格納部を備えてよい。データ処理装置は、アバタデータ及び衣服データに基づいて、アバタが衣服を着装している画像を生成し、摩擦音格納部に格納されている摩擦音に基づいて、衣服を着装させたアバタの動きによって発生する衣服の摩擦に対応する摩擦音を生成する生成部を備えてよい。データ処理装置は、生成部によって生成された画像を表示させ、摩擦音を音声出力するよう制御する出力制御部を備えてよい。
 本発明の一実施態様によれば、データ処理装置が提供される。データ処理装置は、アバタのアバタデータを取得するアバタデータ取得部を備えてよい。データ処理装置は、衣服の衣服データを取得する衣服データ取得部を備えてよい。データ処理装置は、衣服がボトムスである場合に、衣服を配置するアバタのウエスト位置、及び衣服をアバタに固定する固定強度の指定を受け付けるウエスト指定受付部を備えてよい。データ処理装置は、指定されたウエスト位置に指定された固定強度で衣服をアバタに対して固定した、アバタが衣服を着装している画像を生成する生成部を備えてよい。
 本発明の一実施態様によれば、データ処理装置が提供される。データ処理装置は、アバタのアバタデータを取得するアバタデータ取得部を備えてよい。データ処理装置は、衣服の衣服データを取得する衣服データ取得部を備えてよい。データ処理装置は、衣服がズボンである場合に、アバタに対応する衣服の丈、及び衣服の裾上げの種類を特定する裾上げ特定部を備えてよい。データ処理装置は、衣服の丈及び衣服の裾上げの種類に基づいて変更した衣服をアバタが着装している画像を生成する生成部を備えてよい。
 本発明の一実施態様によれば、データ処理装置が提供される。データ処理装置は、アバタのアバタデータを取得するアバタデータ取得部を備えてよい。データ処理装置は、衣服の衣服データを取得する衣服データ取得部を備えてよい。データ処理装置は、衣服がトップスであり、かつ、衣服がジッパー又はボタンを有する場合に、ジッパー又はボタンの状態を特定する状態特定部を備えてよい。データ処理装置は、アバタが衣服を着装している画像であって、ジッパー又はボタンの状態に応じた画像を生成する生成部を備えてよい。
 本発明の一実施態様によれば、データ処理装置が提供される。データ処理装置は、アバタのアバタデータを取得するアバタデータ取得部を備えてよい。データ処理装置は、衣服の衣服データを取得する衣服データ取得部を備えてよい。データ処理装置は、衣服に接する装飾品を特定する装飾品特定部を備えてよい。データ処理装置は、アバタが衣服を着装している画像であって、衣服が衣服と装飾品との関係に応じた動きをする画像を生成する生成部を備えてよい。
 本発明の一実施態様によれば、データ処理装置が提供される。データ処理装置は、アバタのアバタデータを取得するアバタデータ取得部を備えてよい。データ処理装置は、衣服の衣服データを取得する衣服データ取得部を備えてよい。データ処理装置は、衣服のポケット内の物を特定するポケット特定部を備えてよい。データ処理装置は、アバタが衣服を着装している画像であって、衣服がポケット内の物に応じた動きをする画像を生成する生成部を備えてよい。
 本発明の一実施態様によれば、コンピュータを、上記データ処理装置として機能させるためのプログラムが提供される。
 本発明の一実施態様によれば、コンピュータによって実行されるデータ処理方法が提供される。データ処理方法は、ユーザの複数の部位のそれぞれの寸法を含むユーザ寸法データを取得するユーザデータ取得段階を備えてよい。データ処理方法は、デフォルトの体型を有するアバタの複数の部位のそれぞれの寸法を含むアバタ寸法データを取得するアバタデータ取得段階を備えてよい。データ処理方法は、ユーザの複数の部位と、ユーザの複数の部位に対応するアバタの複数の部位との合計誤差が小さくなるように、アバタの複数の部位のうちの一部の部位の寸法を、当該一部の部位に対応するユーザの部位の寸法との差異が少なくなるように変更し、かつ、変更に伴って一部の部位に対応するユーザの身体に関連するアバタの部位の寸法を変更した後、合計誤差を算出する処理を繰り返す調整段階を備えてよい。
 なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
データ処理装置100の一例を概略的に示す。 データ処理装置100によるUI200の一例を概略的に示す。 データ処理装置100によるUI210の一例を概略的に示す。 長さの寸法について説明するための説明図である。 周りの寸法について説明するための説明図である。 データ処理装置100によるUI230の一例を概略的に示す。 きつい箇所の表示の一例を概略的に示す。 データ処理装置100の機能構成の一例を概略的に示す。 データ処理装置100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。
 従来のバーチャルフィッティングは、既存のボディに対して、決められた衣服を着装するものであった。従来のバーチャルフィッティングでは、ユーザの体型に合わせた試着や、質感等をユーザに伝えることはできなかった。本実施形態に係るデータ処理装置100は、例えば、ユーザのボディに合わせたアバタに衣服を試着することで、きつい箇所や裾等の長さをユーザに提供する。また、データ処理装置100は、例えば、アニメーションによって、衣服の揺れ方や擦れた時の音を生成することで、従来技術では実現できなかった体験をユーザに提供する。データ処理装置100は、例えば、ユーザのサイズに合わせたボディの自動生成、ボディに合わせたきつい箇所の提示、布の揺れによる質感、擦れた音による質感の提示、アクセサリー等の装飾品や、着こなしによるフィッティング感を感じられるような技術を提供する。
 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、データ処理装置100の一例を概略的に示す。データ処理装置100は、バーチャルフィッティングに関する処理を実行する。データ処理装置100は、例えば、ユーザ300の体型に合わせてアバタを生成する。データ処理装置100は、例えば、生成したアバタが、ユーザ300によって選択された衣服を着装したアニメーションを生成する。データ処理装置100は、例えば、生成したアニメーションをユーザ300に提供する。
 データ処理装置100は、例えば、デフォルトの体型を有するアバタのアバタデータを予め格納しておく。当該アバタデータは、複数の部位のそれぞれの寸法を含む。当該アバタデータは、各部位の寸法を変更可能に構成されていてよい。各部位の寸法は、直接変更可能であってよい。各部位の寸法は、抽象的なパラメータによって制御されてもよい。例えば、各部位の寸法は、寸法を示すパラメータを変更することによって変更可能であってよい。当該アバタデータは、各部位の寸法が変更された場合に、人物の体型として自然な形状になるように、当該部位に関連する他の部位の寸法が変化するように構成されていてよい。例えば、アバタデータは、ウエストの寸法が大きく変更された場合に、一部のみが大きくなるのではなく、その一部が大きくなるに伴って、近くの部位も大きくなるように構成されている。このように、当該アバタデータは、パラメトリック人体モデルによって実現されていてよい。
 データ処理装置100は、ユーザ300の複数の部位のそれぞれの寸法を含むユーザ寸法データを取得する。データ処理装置100は、例えば、センサ450によってユーザ300を実測することによって生成されたユーザ寸法データを取得する。センサ450は、例えば、3次元形状を計測可能なセンサである。センサ450は、専用のスーツを着装したユーザ300を撮像することによって、ユーザ300の複数の部位を採寸するセンサであってもよい。センサ450は、ユーザ300の体型を計測可能であれば、どのようなセンサであってもよい。
 また、データ処理装置100は、例えば、ユーザ300によって入力されたユーザ寸法データを取得してもよい。ユーザ300は、例えば、メジャー等を用いて自ら採寸したり、他者に採寸してもらうことによって、寸法を入力し得る。
 データ処理装置100は、通信端末400から、ユーザ300のユーザ寸法データを受信してよい。通信端末400は、PC(Personal Computer)、タブレット端末、及びスマートフォン等であってよい。データ処理装置100と通信端末400とは、ネットワーク20を介して通信してよい。ネットワーク20は、インターネットを含んでよい。ネットワーク20は、LAN(Local Area Network)を含んでよい。ネットワーク20は、移動体通信ネットワークを含んでよい。移動体通信ネットワークは、3G(3rd Generation)通信方式、LTE(Long Term Evolution)通信方式、5G(5th Generation)通信方式、及び6G(6th Generation)通信方式以降の通信方式のいずれに準拠していてもよい。
 データ処理装置100は、センサ150によってユーザ300を採寸することによって、ユーザ寸法データを取得してもよい。センサ150は、例えば、3次元形状を計測可能なセンサである。センサ150は、専用のスーツを着装したユーザ300を撮像することによって、ユーザ300の複数の部位を採寸するセンサであってもよい。
 データ処理装置100は、取得したユーザ寸法データを用いて、アバタデータの寸法を調整する。データ処理装置100は、ユーザ寸法データが示すユーザの複数の部位の寸法と、アバタの複数の部位の寸法との誤差を最小に抑えるための反復最適化アルゴリズムを用いて、ユーザ300の体型に合わせたアバタデータを生成してよい。
 図2は、データ処理装置100によるUI200の一例を概略的に示す。図3は、データ処理装置100によるUI210の一例を概略的に示す。ユーザ300は、例えば、通信端末400によってデータ処理装置100にアクセスすることによって、UI200及びUI210を利用し得る。
 UI200の右側は、ユーザ300の複数の部位のそれぞれの寸法を示す。これらの寸法は、例えば、センサ150又はセンサ450によって測定された値である。ユーザ300は、例えば、表示された寸法を確認し、問題なければ、アバタの生成を指示する。
 UI210の右側は、ユーザ300の複数の部位の寸法を入力する入力画面を示す。ユーザ300は、複数の部位の寸法を、すべて手動で入力してもよい。また、ユーザ300は、センサ150又はセンサ450によって測定された結果を編集することによって、ユーザ寸法データを生成してもよい。
 データ処理装置100は、アバタの生成指示を受け付けたことに応じて、設定されているユーザ寸法データを用いて、UI200の左側や、UI210の左側に示すようなアバタデータを生成してよい。
 データ処理装置100は、採寸されたユーザ300の複数の部位が、アバタのどの部位に対応するかを特定する。データ処理装置100は、例えば、ユーザ300の指示に従って、ユーザ300の部位と、その部位に対応するアバタの部位とを対応付ける。例えば、ユーザ300は、採寸しようとしている部位に対応するアバタの部位をUI(User Interface)で指定した後、その部位を採寸する。これにより、部位の対応付けが行われる。ユーザ300は、既に採寸しているデータが、アバタのどの部位に対応するのかを指定してもよい。
 データ処理装置100は、ユーザ300の複数の部位のそれぞれについて、アバタの複数の部位のそれぞれとの関連度を登録してよい。当該登録は、ユーザ300によって行われてよく、データ処理装置100の管理者等によって行われてもよい。データ処理装置100は、ユーザ300の複数の部位のそれぞれについて、アバタの複数の部位のそれぞれとの関連度を登録した部位関連度データを格納してよい。関連度は、例えば、最小が0、最大が1等であってよい。
 例えば、ユーザ300の一の部位と、当該部位に対応するアバタの部位とに、関連度1が登録され、当該部位に対応するアバタの部位から遠くなるにつれて低い関連度が登録され得る。例えば、ユーザ300のウエストに対して、アバタのウエストに1が登録され、ウエストから上下方向に離れるにつれて、0.9、0.8、0.7、・・・の関連度が登録される。
 例えば、ウエストの寸法が大きい場合に腕周りの寸法も大きい傾向にある場合には、ユーザ300のウエストとアバタの腕回りとに対して、比較的高い関連度が登録され得る。
 データ処理装置100は、例えばまず、アバタを採寸する。データ処理装置100は、採寸を、並行して部位ごとに実行してよい。部位の寸法には、長さの寸法と、周りの寸法との2種類が存在してよい。
 図4は、長さの寸法について説明するための説明図である。長さの寸法として、データ処理装置100は、アバタ220の部位開始点に配置されたオブジェクト222から、部位終点に配置されたオブジェクト222までの距離を計算する。具体例として、腕の長さを採寸する場合に、データ処理装置100は、アバタ220の肩に配置したオブジェクト222と、アバタ220の手首に配置したオブジェクト222との距離を計算する。
 図5は、周りの寸法について説明するための説明図である。周りの寸法として、データ処理装置100は、まず、採寸部位に対応する位置のプレーン224と、アバタ220のモデルのメッシュの面と辺の全交差点を計算する。そして、データ処理装置100は、交差点を多角形に繋ぎ合わせて、周辺の長さを計算する。
 アバタ220は、パラメトリック人体モデルを用いて実現されており、各部位間に制約が存在することから、アバタ220の各部位の寸法を、ユーザ寸法データと一致するように一度に変更することは難しい。本実施形態に係るデータ処理装置100は、上述したように、ユーザ寸法データと、アバタの体型の誤差を最小に抑えるための反復最適化アルゴリズムを用いてよい。
 例えば、データ処理装置100は、アバタの複数の部位のうちの一部の部位の寸法を、当該一部の部位に対応するユーザ300の部位の寸法との差異が少なくなるように変更し、かつ、部位関連度データを用いて、当該ユーザ300の部位に関連するアバタの部位の寸法を変更する。データ処理装置100は、関連度に応じた乗数を適用して、ユーザ300の部位に関連するアバタの部位の寸法を変更してよい。変更後、データ処理装置100は、ユーザ300の複数の部位と、ユーザ300の複数の部位に対応するアバタの複数の部位との合計誤差を算出する。
 データ処理装置100は、このような処理を、例えば、合計誤差が予め定められた閾値より小さくなるまで繰り返す。また、データ処理装置100は、このような処理を、予め設定された最大実行回数まで繰り返すようにしてもよい。これにより、パラメトリック人体モデルにおける各部位間の制約を守りつつ、ユーザ300の体型との誤差がより少ないアバタを生成することができる。
 図6は、データ処理装置100によるUI230の一例を概略的に示す。図6に例示するUI230はアバタ領域240及び設定領域250を含む。
 アバタ領域240には、ユーザ300が選択した衣服を着装したアバタ242が表示される。アバタ242は、3D空間に配置され、アバタ242は、寄り引きや、360度で閲覧可能であってよい。
 設定領域250は、商品説明252、カラバリ選択254、サイズ選択256、アクション選択258、カメラ選択260、及びキツイ箇所表示ボックス262を含む。商品説明252には、アクティブになっている衣服の詳細説明が表示される。詳細説明は、衣服の商品名を含んでよい。詳細説明は、衣服の値段を含んでよい。詳細説明は、衣服の説明を含んでよい。
 カラバリ選択254は、衣服244の色の選択を受け付ける。データ処理装置100は、衣服244の色を、カラバリ選択254において選択された色に変更する。
 サイズ選択256は、衣服244のサイズの選択を受け付ける。データ処理装置100は、衣服244のサイズを、サイズ選択256において選択されたサイズに変更する。
 アクション選択258は、アバタ242のアクションの選択を受け付ける。データ処理装置100は、アクション選択258において選択されたアクションを、アバタ242が実行するアニメーションを生成して表示させる。
 カメラ選択260は、カメラアングルの選択を受け付ける。データ処理装置100は、アバタ領域240の3D空間におけるカメラアングルを、カメラ選択260において選択されたカメラアングルに変更する。
 キツイ箇所表示ボックス262は、着装した衣服244のきつい箇所を表示する選択を受け付ける。データ処理装置100は、キツイ箇所表示ボックス262が選択された場合に、衣服244のきつい箇所を表示する。
 図6に示すUI230は例示であり、構成等は変更可能である。また、UI230は、商品説明252、カラバリ選択254、サイズ選択256、アクション選択258、カメラ選択260、及びキツイ箇所表示ボックス262の全てを含まなくてもよく、これら以外を含んでもよい。例えば、UI230は、背景の選択や、ライティングの選択を受け付ける機能を有してもよい。
 図7は、きつい箇所の表示の一例を概略的に示す。データ処理装置100は、アバタ242のアバタデータと、衣服244の衣服データに基づいて、衣服244のきつい箇所を判定し、表示に反映してよい。図7では、色の濃淡によって、きつさを表現した場合を例示している。
 データ処理装置100は、静止した状態のアバタ242に対してきつい箇所を表示してよく、また、アクション選択258において選択されたアクションをアバタ242に実行させながら、並行して、きつい箇所を表示するよう制御してもよい。これにより、ユーザ300に、選択した衣服を着装しながら動いたときに、どの部分にどれだけのきつさを感じるかを知得させることができ、ユーザ300に対して、商品の選択やサイズの選択の材料を提供することができる。
 図8は、データ処理装置100の機能構成の一例を概略的に示す。データ処理装置100は、格納部102、登録部104、ユーザ寸法データ取得部106、アバタ寸法データ取得部108、関連度データ取得部110、調整部112、アバタデータ取得部114、衣服データ取得部116、生成部120、表示制御部122、表示指定受付部124、アクション選択部126、きつさ判定部128、余裕度判定部130、ウエスト指定受付部132、裾上げ特定部134、状態特定部136、装飾品特定部138、及びポケット特定部140を備える。なお、データ処理装置100がこれらの全てを備えることは必須とは限らない。
 格納部102は、各種データを格納する。格納部102は、例えば、デフォルトの体型を有するアバタのアバタデータを格納する。格納部102は、例えば、複数の衣服の衣服データを格納する。
 登録部104は、各種データを登録する。登録部104は、登録したデータを格納部102に格納する。
 例えば、登録部104は、ユーザ300のユーザ寸法データを登録する。登録部104は、通信端末400からユーザ寸法データを受信して登録してよい。登録部104は、センサ150によって測定したユーザ寸法データを登録してもよい。
 ユーザ寸法データは、例えば、身長、股下、首周り、肩幅、胸囲、アンダーバスト、腕周り、手首周り、腕の長さ、身丈、ウエスト、ウエスト(腰骨上)、ヒップ、太もも周り、膝周り、ふくらはぎ周り、及び足首周りの寸法を含む。なお、これらは例示であって、ユーザ寸法データは、これらのうちの一部を含まなくてもよく、これら以外を含んでもよい。
 アバタの複数の部位のそれぞれの寸法を含むアバタ寸法データにおける複数の部位の数は、ユーザ寸法データにおける複数の部位の数よりも多い。ユーザ300が自身の身体のあらゆる寸法を測定すれば、正確なアバタを生成することができるが、特に一般のユーザにとっては困難である。しかし、一般のユーザが無理なく採寸できる箇所のみの採寸データでは、正確なアバタを生成することは難しい。
 そこで、本実施形態に係るデータ処理装置100では、ユーザ寸法データに含まれる複数の部位のそれぞれに、アバタの複数の部位を対応付ける。例えば、アバタにおいて、ウエストに対して5つの寸法を有する場合、ユーザ寸法データのウエストを、当該5つのウエストの寸法に対応付ける。そして、例えば、5つのうちの真ん中の寸法と、ユーザ寸法データのウエストとの関連度を1とし、上下に離れる毎に、関連度を0.9、0.8としたり、0.8、0.6としたりする。登録部104は、このような部位同士の関連度を含む部位関連度データを登録してよい。
 登録部104は、他の装置によって生成されたアバタデータを格納部102に格納してもよい。登録部104は、例えば、他の装置によって、ユーザ300の体型に合わせて生成されたアバタデータを格納部102に格納する。
 ユーザ寸法データ取得部106は、ユーザ300のユーザ寸法データを取得する。ユーザ寸法データ取得部106は、格納部102からユーザ寸法データを読み出してよい。
 アバタ寸法データ取得部108は、アバタのアバタ寸法データを取得する。アバタ寸法データ取得部108は、格納部102に格納されているアバタデータのアバタを採寸することによって、アバタ寸法データを生成してよい。アバタ寸法データ取得部108は、アバタの複数の部位について、並行して採寸を実行してよい。アバタ寸法データ取得部108は、複数の長さの寸法と、複数の周りの寸法とを採寸する。
 関連度データ取得部110は、部位関連度データを取得する。関連度データ取得部110は、格納部102から部位関連度データを読み出してよい。
 調整部112は、ユーザ寸法データ、アバタ寸法データ、及び部位関連度データを用いて、アバタデータを生成する。調整部112は、生成したアバタデータを格納部102に格納する。
 調整部112は、ユーザ300の複数の部位と、ユーザ300の複数の部位に対応するアバタの複数の部位との合計誤差が小さくなるように、アバタの複数の部位のうちの一部の部位の寸法を、当該一部の部位に対応するユーザ300の部位の寸法との差異が少なくなるように変更し、かつ、変更に伴って、当該ユーザ300の部位に関連するアバタの部位の寸法を変更した後、合計誤差を算出する処理を繰り返す。調整部112は、部位関連度データを用いて、ユーザ300の部位に関連するアバタの部位の寸法を変更してよい。調整部112は、例えば、ユーザ300の一の部位に対応するアバタの一の部位の寸法を値Xの分、変更した場合に、ユーザ300の当該一の部位に対応するアバタの他の部位の寸法を、値Xに関連度を乗じた値の分、変更し得る。調整部112は、対象部位の寸法を直接変更してよい。調整部112は、対象部位の寸法を示すパラメータを変更してもよい。
 調整部112は、合計誤差が予め定められた閾値より少なくなるまで、繰り返しを継続してよい。また、調整部112は、予め定められた回数、繰り返しを継続するようにしてもよい。閾値は、ユーザ300の採寸部位の数に応じて決定されてもよい。例えば、ユーザ300の採寸部位が多いほど、閾値を高くする。
 調整部112は、ユーザ300の複数の部位と、当該複数の部位に対応するアバタの複数の部位との合計誤差を、重み付けをせずに算出してよく、重み付けをして算出してもよい。調整部112は、例えば、部位毎に重み付けをして合計誤差を算出する。部位毎の重み付けは、アバタが着装する衣服の種類に応じて設定され得る。例えば、衣服がスカートである場合には、ウエスト周りの重み付けを重くし、衣服がトップスの場合には、胸囲周りの重み付けを重くし得る。
 アバタデータ取得部114は、アバタデータを取得する。アバタデータ取得部114は、例えば、調整部112によって、複数の部位の寸法がユーザ300の複数の部位の寸法に合わせて調整されたアバタのアバタデータを取得する。アバタデータ取得部114は、格納部102に格納されている当該アバタデータを読み出してよい。アバタデータ取得部114は、登録部104によって格納部102に格納された、他の装置によって生成されたアバタデータを格納部102から読み出してもよい。
 衣服データ取得部116は、衣服の衣服データを取得する。衣服データ取得部116は、格納部102に格納されている衣服データを読み出してよい。衣服データ取得部116は、例えば、UI230においてユーザ300によって選択された衣服の衣服データを取得する。
 生成部120は、アバタデータ取得部114が取得したアバタデータと、衣服データ取得部116が取得した衣服データに基づいて、アバタが衣服を着装している画像を生成する。生成部120は、例えば、アバタデータ及び衣服データに基づいて、アバタが衣服を着装しているアニメーションを生成する。生成部120は、生成した画像を格納部102に格納する。
 表示制御部122は、格納部102に格納されている、生成部120によって生成された画像を表示するよう制御する。表示制御部122は、例えば、データ処理装置100が備えるディスプレイに画像を表示するよう制御する。また、表示制御部122は、例えば、通信端末400に対して画像を送信して、通信端末400に画像を表示させる。
 表示指定受付部124は、衣服を着装したアバタの表示に関する指定を受け付ける。表示指定受付部124は、例えば、衣服の色の指定を受け付ける。具体例として、表示指定受付部124は、UI230におけるカラバリ選択254を介した色の指定を受け付ける。表示指定受付部124は、例えば、衣服のサイズの指定を受け付ける。具体例として、表示指定受付部124は、UI230におけるサイズ選択256を介したサイズの指定を受け付ける。表示指定受付部124は、例えば、カメラアングルの指定を受け付ける。具体例として、表示指定受付部124は、UI230におけるカメラ選択260を介したカメラアングルの指定を受け付ける。
 生成部120は、表示指定受付部124が受け付けた指定に応じて、アバタが衣服を着装している画像を生成してよい。例えば、生成部120は、指定された色にした衣服をアバタが着装している画像を生成する。また、例えば、生成部120は、指定されたサイズにした衣服をアバタが着装している画像を生成する。例えば、生成部120は、指定されたカメラアングルで、アバタが衣服を着装している画像を生成する。
 アクション選択部126は、アバタに実行させるアクションを選択する。アクション選択部126は、予め設定された複数のアクションから、アバタに実行させるアクションを選択してよい。アクション選択部126は、例えば、UI230におけるアクション選択258を介して指定されたアクションを選択する。また、アクション選択部126は、例えば、予め設定された複数のアクションから、順番にアクションを選択してもよい。生成部120は、アクション選択部126によって選択されたアクションを実行するアバタの動きに合わせて衣服が動くアニメーションを生成してよい。
 きつさ判定部128は、アバタデータ及び衣服データに基づいて、アバタが着装している衣服のきつさを判定する。生成部120は、きつさ判定部128によって判定された衣服のきつさを反映した画像を生成してよい。きつさ判定部128は、例えば、アバタのサイズと衣服のサイズとを比較することによって、衣服のきつさの度合いを判定する。
 きつさ判定部128は、衣服のシミュレーションであるクロスシミュレーションにおける伸縮パラメータのフォースから衣服のきつさを判定してもよい。例えば、衣服データは、衣服の素材の伸縮に関連する伸縮パラメータを含む。生成部120は、きつさ判定部128が伸縮パラメータに基づいて特定した、アバタの衣服を着装している部位の衣服から受ける力の度合を反映した画像を生成してよい。
 伸縮パラメータは、衣服が当該衣服を着装している部位に対して力を与え始める衣服のメッシュの辺の長さの長さ閾値を含んでよい。伸縮パラメータは、衣服が破れる衣服のメッシュの辺の長さの破れ閾値を含んでよい。衣服の素材毎の伸縮パラメータは、例えば、ユーザ300や、データ処理装置100の管理者等によって登録される。また、きつさ判定部128が、衣服の素材毎の伸縮パラメータを、クロスシミュレーションの物性に基づいて決定してもよい。
 きつさ判定部128は、例えばまず、対象となる衣服の衣服メッシュの初期状態を保存する。きつさ判定部128は、衣服メッシュの頂点毎に、1近傍頂点群を求めて、インデックスを保存し、頂点vと各1近傍頂点の距離(dv0)を保存する。きつさ判定部128は、衣服を装着したアバタのアニメーションのフレーム毎に、現状と初期状態を比較する。きつさ判定部128は、衣服メッシュの頂点毎に、頂点vと各1近傍頂点の距離(dvt)を計算し、初期距離情報との差分をとり(dv0-dvt)、負の差分を捨てて、整数のみを用いて平均をとり(d)、きつさa=(d-長さ閾値)/(破れ閾値-長さ閾値)を計算する。
 生成部120は、衣服に、アバタの衣服を着装している部位の衣服から受ける力の度合に応じた色を反映した画像を生成してよい。例えば、生成部120は、各頂点のきつさaに基づいて、各頂点の色を決定する。生成部120は、元の衣服の色を反映しなくても、反映してもよい。例えば、元の衣服の色を反映しない場合、生成部120は、衣服のメッシュの各頂点の色を、きつさaに応じた色とする。例えば、きつさa=0を白色とし、きつさa=1を赤色とすると、きつさがきついほど色が赤い画像が生成される。生成部120は、衣服のメッシュの各頂点の色を、きつさaに応じた濃度の色としてもよい。
 元の衣服の色を反映する場合、生成部120は、例えば、元の衣服の色に対して、きつさaに応じた色を加える。例えば、生成部120は、チョウテンシェーダによって頂点色を取得し、フラグメントシェーダに渡す。フラグメントシェーダは、テクスチャからサンプリングされた色と、事前に設定した色の加重平均をとる。これにより、元の衣服に対して、きつさaに応じた色が加わった画像を提供することができる。
 余裕度判定部130は、アバタに衣服を着装させた状態における、アバタと衣服との距離に基づいて、アバタに対する衣服のサイズの余裕度を判定する。余裕度判定部130は、アバタを停止させた状態で余裕度を判定してよく、アバタを動かした状態で余裕度を判定してもよい。
 例えば、アバタを停止させた状態で余裕度を判定する場合、余裕度判定部130は、衣服を着装したアバタにTポーズをとらせてよい。余裕度判定部130は、腕周り、首周り、及び肩幅等について、アバタのサイズと衣服のサイズの差を計算する。余裕度判定部130は、アバタから離れている衣服のメッシュの頂点の数と、各頂点についてアバタとの距離を計算する。余裕度判定部130は、距離の合計と、予め設定された閾値とを比較して、距離の合計が閾値より大きい場合に、ゆったり目シルエットであると判定する。余裕度判定部130は、距離の合計と閾値との差が大きいほど、余裕度が高いと判定してよい。余裕度判定部130は、衣服がアバタにぴったり着装されている場合における、距離の合計を算出して、当該距離の合計に基づいて、閾値を設定してよい。
 アバタを動かした状態で余裕度を判定する場合、余裕度判定部130は、アバタに予め定められたアクションを実行させる。余裕度判定部130は、アバタのモーションに合わせて、リアルタイムクロスシミュレーションを行う。余裕度判定部130は、アバタから離れている衣服のメッシュの頂点の数と、各頂点についてアバタとの距離を計算する。余裕度判定部130は、距離の合計と、予め設定された閾値とを比較して、距離の合計が閾値より大きい場合に、ゆったり目シルエットであると判定する。余裕度判定部130は、距離の合計と閾値との差が大きいほど、余裕度が高いと判定してよい。
 なお、リアルタイムで計算することから、余裕度判定部130は、頂点の距離を計算する部位を制限してもよい。例えば、余裕度判定部130は、対象の衣服がズボンである場合、ウエスト、太もも周り、及び裾に制限する。また、例えば、余裕度判定部130は、対象の衣服がスカートである場合、ウエスト下と裾に制限する。また、例えば、余裕度判定部130は、対象の衣服がTシャツである場合、腕周り及び首周りに制限する。
 生成部120は、余裕度判定部130によって判定された余裕度を反映した画像を生成してよい。生成部120は、例えば、余裕度に応じた色を反映した画像を生成する。生成部120は、元の衣服の色を反映しなくても、反映してもよい。例えば、元の衣服の色を反映しない場合、生成部120は、衣服のメッシュの各頂点の色を、余裕度aに応じた色とする。例えば、余裕度=0を白色とし、余裕度=1を青色とすると、余裕があるほど色が青い画像が生成される。生成部120は、衣服のメッシュの各頂点の色を、余裕度に応じた濃度の色としてもよい。元の衣服の色を反映する場合、生成部120は、例えば、元の衣服の色に対して、余裕度に応じた色を加える。
 格納部102は、衣服の素材毎の摩擦音を格納してもよい。素材毎の摩擦音は、シミュレーションによって生成されてよい。実際に各素材の衣服に摩擦を生じさせて録音してもよい。格納部102は、摩擦音格納部の一例であってよい。生成部120は、格納部102に格納されている摩擦音に基づいて、衣服を着装させたアバタの動きによって発生する衣服の摩擦に対応する摩擦音を生成してもよい。
 生成部120は、衣服の摩擦している領域のサイズが大きいほど、大きい音量の摩擦音を生成してよい。生成部120は、衣服の摩擦の加速度が高いほど、高い音の摩擦音を生成してもよい。
 生成部120は、例えばまず、衣服のメッシュの単位面積あたりの音量を設定する。生成部120は、摩擦継続単位時間辺りの音を設定する。生成部120は、衣服のメッシュ構造のアニメーションに対して衝突判定を行う。生成部120は、摩擦面、摩擦スピードから音量を計算する。生成部120は、摩擦の加速度から音の高さを計算してよい。生成部120は、摩擦の継続時間から、音声波形を生成する。生成部120は、生成した音声を格納部102に格納してよい。表示制御部122は、生成部120によって生成された画像を表示するとともに、音声を音声出力してよい。これにより、例えば、スポーツウェアや、レザーの衣服等、音が気になりやすい衣服を検討しているユーザ300に対して、どのような動きをすると、どのような音が発生するのかを直感的に把握させることができる。
 ウエスト指定受付部132は、衣服がボトムスである場合に、衣服を配置するアバタのウエスト位置、及び衣服をアバタに固定する固定強度の指定を受け付ける。生成部120は、指定されたウエスト位置に、指定された固定強度で衣服をアバタに対して固定した画像を生成する。
 ウエスト指定受付部132は、例えば、ユーザ300による、ウエスト位置及び固定強度の指定を受け付ける。ユーザ300は、例えば、自分がボトムスを身に着けるときに、ボトムスを固定したいウエスト位置と、ベルトによる固定強度とを指定する。具体例として、ユーザ300は、表示制御部122によって表示されたアバタに対して、ボトムスを固定したい位置を指定する。生成部120は、アバタのメッシュコライダーから、固定する位置の最寄りエッジループを抽出する。生成部120は、ボトムスのメッシュから、固定する位置の最寄エッジループを抽出する。
 生成部120は、両方のエッジループの中心点を算出する。生成部120は、中心点が一致するように、ボトムスの位置を移動する。生成部120は、ボトムスのエッジループの各頂点の、メッシュコライダーのエッジループからの最寄頂点を選択する。
 生成部120は、クロスシミュレーションを起動するときに、全ての頂点ペアで距離の制約条件を定義する。具体的に、生成部120は、条件の距離を0に近い値に設定する。メッシュコライダーと交差しないように、0には設定しない。また、生成部120は、条件の強さを0~1で設定する。生成部120は、ユーザ300によって指定された固定強度によって、条件の強さを0~1で設定する。
 生成部120は、シミュレーションのソルバーのイテレーションの度に、既存の制約条件とともに、ウエスト位置の距離の制約条件を用いてボトムスのメッシュの頂点の位置を最適化する。すなわち、生成部120は、ウエスト位置が固定されるように、既存の制約条件に合わせて、ボトムスがアバタに固定されるように制約する。
 生成部120は、イテレーションの度に、ボトムスのメッシュのエッジループの一定の割合の頂点同士の距離の制約条件の距離を超えてしまった場合は、イベントを発火してよい。例えば、アバタのパラメトリックモデルのコントローラでイベントを受け取り、定義されている最小ウエスト周囲よりウエストが大きい場合、アバタのエッジループの下のウエスト部分に影響が及ぶパラメータを少し少なくする。すなわち、生成部120は、アバタのウエストがボトムスのサイズよりも大きく、ボトムスが伸びている場合に、イベントを発火し、アバタ側で受け取って、アバタのウエストを小さくするとともに、アバタの肉がボトムスにめり込んでいるような画像を生成する。
 裾上げ特定部134は、衣服がズボンである場合に、アバタに対応する衣服の丈、及び衣服の裾上げの種類を特定する。裾上げの種類は、例えば、シングル、ダブル、三つ折、及びカットソーを含む。生成部120は、裾上げ特定部134が特定した衣服の丈及び衣服の裾上げの種類に基づいて衣服データを変更する。生成部120は、例えば、衣服の衣服データの一部を、衣服の丈に基づいて削除し、当該衣服データの一部に対応する位置に、裾上げの種類に対応するテクスチャを適用した画像を生成する。
 裾上げ特定部134は、事前準備として、ズボンのメッシュの股下の中心の頂点を特定する。裾上げ特定部134は、衣服データを解析することによって、当該頂点を特定してよく、また、ユーザ300による指定を受け付けることによって当該頂点を特定してもよい。
 裾上げ特定部134は、ズボンの丈を特定する。裾上げ特定部134は、ユーザ300の股下の寸法(実測データ)を用いて、ユーザ300に適したズボンの丈を特定してよい。また、裾上げ特定部134は、ユーザ300による、ユーザ300が希望する丈の指定を受け付けてもよい。
 生成部120は、オリジナルのズボンのメッシュを保存する。裾上げ特定部134は、股下の頂点から、特定した丈ほど下の位置に、メッシュの両端にエッジループ(頂点とエッジのシーケンス)を挿入する。生成部120は、これによって新しく追加した頂点に、周辺の頂点からUV座標を補完する。生成部120は、新しく追加した頂点より下の頂点を削除する。生成部120は、新しく追加した頂点と、それより上の、一定の範囲内の頂点を選択する。当該範囲は、特定した裾上げの種類に応じた範囲であってよい。生成部120は、選択中の頂点にテクスチャを適用する。当該テクスチャは、特定した裾上げの種類に応じたテクスチャであってよい。
 生成部120は、選択中の頂点のクロスシミュレーションのパラメータを変更してもよい。生成部120は、例えば、特定した裾上げの種類に応じて、選択中の頂点のクロスシミュレーションのパラメータを変更する。
 具体例として、生成部120は、裾上げの種類がシングルである場合、選択中の頂点の質量を2倍にし、折り曲げ制約条件の強さを2倍にしてよい(重み付けをしてもよい)。これにより、シングルの裾上げをすることによって、布が2重になった状態を疑似的にクロスシミュレーションに反映することができる。
 生成部120は、裾上げの種類がダブルである場合、選択中の頂点の質量を4倍にし、折り曲げ制約条件の強さを4倍にしてよい(重み付けをしてもよい)。これにより、ダブルの裾上げをすることによって、布が4重になった状態を疑似的にクロスシミュレーションに反映することができる。
 生成部120は、裾上げの種類が三つ折である場合、選択中の頂点の質量を3倍にし、折り曲げ制約条件の強さを3倍にしてよい(重み付けをしてもよい)。これにより、三つ折の裾上げをすることによって、布が3重になった状態を疑似的にクロスシミュレーションに反映することができる。
 生成部120は、裾上げの種類がカットソーである場合、選択中の頂点の質量を2倍にし、折り曲げ制約条件の強さを2倍にしてよい(重み付けをしてもよい)。これにより、カットソーの裾上げをすることによって、布が2重になった状態を疑似的にクロスシミュレーションに反映することができる。
 生成部120は、丈を変更する場合には、保存しておいたオリジナルのメッシュを用いて処理をやり直してよい。
 状態特定部136は、衣服がトップスであり、かつ、衣服がジッパー又はボタンを有する場合に、ジッパー又はボタンの状態を特定する。例えば、データ処理装置100が、衣服を着装したアバタに対して、ジッパーの開閉状態及びボタンの開閉状態を変更可能なUIをユーザ300に提供する。ユーザ300は、衣服の着こなし方を検討すべく、ジッパーの開閉状態やボタンの開閉状態をUI上で変更する。
 生成部120は、状態特定部136によって特定されたジッパー又はボタンの状態に応じた画像を生成する。生成部120は、衣服がジッパーを有する場合に、衣服データにおけるジッパーに対応する部分の折り曲げ制約条件を強くしてよい。生成部120は、ジッパーが閉じている状態の方が、ジッパーが開いている状態よりも折り曲げ制約条件を強くしてよい。生成部120は、ジッパーが半分開いている場合には、閉じている部分の折り曲げ制約条件を、開いている部分の折り曲げ制約条件よりも強くしてよい。
 衣服がジッパーを有する場合において、生成部120は、衣服のメッシュのうち、両前裾の接続される縁の頂点ペアを選択する。生成部120は、選択した頂点の折り曲げ制約条件を強くする。生成部120は、ジッパーを再現できる固定値に設定してよい。生成部120は、頂点ペアの距離の制約条件を定義する。生成部120は、距離を0に設定し、強さを最大値に設定してよい。生成部120は、衣服を着装したアバタのアニメーションを表示している間に、ジッパーが空いている割合を自由に変更可能に構成してよく、ジッパーが開いている部分について、上記制約条件を無効にしてよい。
 生成部120は、事前に、つながっているジッパーと、つながっていないジッパーの部分のメッシュを用意してよい。生成部120は、衣服を着装したアバタのアニメーションのフレーム毎に、前裾の各エッジに、当該メッシュを合わせて配置する。生成部120は、エッジの頂点が両方閉じてある場合、つながっているジッパーのメッシュを配置し、ペアのエッジにメッシュを配置しない。エッジの頂点が1つでも閉じていない場合、生成部120は、つながっていないジッパーのメッシュを配置する。
 衣服がボタンを有する場合において、生成部120は、各ボタンについて、2つの頂点のペアを指定する。ボタン側は、前から見たボタンの上部と下部の周辺の2頂点であってよく、ボタンの穴の側は、穴の真上と真下の2頂点であってよい。生成部120は、指定した頂点の折り曲げ制約条件を、ボタンを再現できる固定値に設定してよい。生成部120は、頂点ペアの距離の制約条件を定義する。生成部120は、距離を0に設定し、強さを最大値に設定してよい。生成部120は、衣服を着装したアバタのアニメーションを表示している間に、各ボタンが空いているかどうかを自由に変更可能に構成してよく、ボタンが開いている部分について、上記制約条件を無効にしてよい。
 装飾品特定部138は、衣服に接する装飾品を特定する。装飾品特定部138は、衣服にもともとついている装飾品を特定してよい。また、データ処理装置100が、衣服に対して装飾品を追加するUIをユーザ300に提供し、装飾品特定部138は、ユーザ300によって追加された装飾品を特定してもよい。生成部120は、衣服と装飾品との関係に応じた衣服の動きを生成してよい。
 装飾品の例として、帽子、カバン、リュック、スカーフ、マフラー、ネクタイ、蝶ネクタイ、靴下、ストッキング、タイツ、ポケットチーフ、ブートニア、時計、ブレスレット、及び指輪等が挙げられる。装飾品は、3つのカテゴリに分けられてよい。カテゴリは、硬いものをクロスにつけるもの、物理シミュレーションで制御されている硬いものとクロスを相互にインタラクションさせるものと、1つのクロスをもう1つのクロスにつけるもの(例えば、ハンカチをジャケットにつける場合)とを含んでよい。
 生成部120は、装飾品が小さな剛体である場合、クロスシミュレーションに反映しなくてよい。生成部120は、例えば、装飾品を、ユーザ300が指定した位置に配置する。生成部120は、クロスシミュレーションの起動時に、衣服メッシュ上の装飾品から最も近い頂点を検索する。生成部120は、検索した頂点と、周辺の頂点から平均の法線を計算する。生成部120は、起動時の配置情報を保存する。配置情報は、頂点と装飾品の相対的な位置と、法線と装飾品の相対的な向きを含んでよい。生成部120は、衣服を着装したアバタのアニメーションのフレーム毎に、頂点の位置と周辺の法線を計算する。そして、生成部120は、保存した配置情報を維持するように装飾品の位置と向きを変更する。これにより、小さな剛体である装飾品の自然な動きを表現することができる。
 生成部120は、装飾品が剛体(小さな剛体以外の剛体)である場合、クロスシミュレーションに反映する。生成部120は、例えば、装飾品を、ユーザ300が指定した位置に配置する。生成部120は、装飾品のメッシュをクロスシミュレーション用のコライダーで囲む。生成部120は、貼り付け用のコライダーの頂点を指定する。生成部120は、クロスシミュレーションの起動時に、指定した頂点と衣服メッシュの最も近い頂点の間の距離の制約条件を定義する。生成部120は、衣服を着装したアバタのアニメーションのフレーム毎に、全制約条件を守るために、ソルバーの処理で、クロスの粒子だけでなく、コライダーも移動・回転させる。
 生成部120は、装飾品がクロスである場合、衣服メッシュで装飾品を貼り付け可能な領域の頂点を選択する。生成部120は、装飾品メッシュで貼り付け用の領域の頂点を選択する。生成部120は、装飾品メッシュを衣服に配置する。生成部120は、クロスシミュレーションの起動時に、一定範囲内で、装飾品メッシュと衣服メッシュの選択された頂点から最も短距離の頂点ペア群を集めて、ペアから距離の制約条件を定義する。
 ポケット特定部140は、衣服のポケット内の物を特定する。データ処理装置100は、衣服のポケットの中に、ユーザ300が指定した物を配置するUIをユーザ300に提供してよい。ユーザ300は、例えば、スマートフォン及び財布等をポケットに入れたときの衣服の状態を確認したい場合に、スマートフォン及び財布等を指定し得る。生成部120は、ポケット内の物に応じた衣服の動きを生成する。
 生成部120は、ポケット特定部140が特定した物(特定物と記載する場合がある。)の形状を計算し、初期値とする。生成部120は、特定物と、衣服の素材の摩擦を設定する。生成部120は、ポケットの形状と、特定物のサイズから、ポケットを中心としたヒートマップを生成する。ヒートマップは、特定物がポケットの中で移動した際に、影響を受けるポケットの周りのメッシュの頂点の設定と移動量であってよい。特定物に近く、縫い目がないとき(ポケットの口)は、移動量が大きく、縫い合わせ側は、移動量が小さい。
 生成部120は、アバタの動きに合わせた通常のクロスシミュレーション結果に対して、ヒートマップ部分について、補正を加える。生成部120は、ヒートマップ内の各頂点のベクトルの再計算によって補正を加える。生成部120は、特定物の重量による重力、アニメーションによる方向と力、ヒートマップによる方向と力の合成によって、各頂点の移動方向と移動量を計算する。
 図9は、データ処理装置100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
 本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、GPU1250を含む。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
 CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
 通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
 ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
 プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
 例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
 また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
 様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
 上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
 本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
 コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
 コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
 コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
 請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
20 ネットワーク、100 データ処理装置、102 格納部、104 登録部、106 ユーザ寸法データ取得部、108 アバタ寸法データ取得部、110 関連度データ取得部、112 調整部、114 アバタデータ取得部、116 衣服データ取得部、120 生成部、122 表示制御部、124 表示指定受付部、126 アクション選択部、128 きつさ判定部、130 余裕度判定部、132 ウエスト指定受付部、134 裾上げ特定部、136 状態特定部、138 装飾品特定部、140 ポケット特定部、150 センサ、200 UI、210 UI、220 アバタ、222 オブジェクト、224 プレーン、230 UI、240 アバタ領域、242 アバタ、244 衣服、250 設定領域、252 商品説明、254 カラバリ選択、256 サイズ選択、258 アクション選択、260 カメラ選択、262 キツイ箇所表示ボックス、400 通信端末、450 センサ、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ、1250 GPU

Claims (33)

  1.  ユーザの複数の部位のそれぞれの寸法を含むユーザ寸法データを取得するユーザ寸法データ取得部と、
     デフォルトの体型を有するアバタの複数の部位のそれぞれの寸法を含むアバタ寸法データを取得するアバタ寸法データ取得部と、
     前記ユーザの前記複数の部位と、前記ユーザの複数の部位に対応する前記アバタの複数の部位との合計誤差が小さくなるように、前記アバタの前記複数の部位のうちの一部の部位の寸法を、当該一部の部位に対応する前記ユーザの部位の寸法との差異が少なくなるように変更し、かつ、前記変更に伴って前記ユーザの部位に関連する前記アバタの部位の寸法を変更した後、前記合計誤差を算出する処理を繰り返す調整部と
     を備えるデータ処理装置。
  2.  前記アバタの前記複数の部位の数は、前記ユーザの前記複数の部位の数よりも多い、請求項1に記載のデータ処理装置。
  3.  前記ユーザの前記複数の部位のそれぞれについて、前記アバタの前記複数の部位のそれぞれとの関連度が登録された部位関連度データを取得する関連度データ取得部
     を備え、
     前記調整部は、前記部位関連度データを用いて、前記ユーザの部位に関連する前記アバタの部位の寸法を変更する、請求項1又は2に記載のデータ処理装置。
  4.  前記調整部によって、前記複数の部位の寸法が前記ユーザの前記複数の部位の寸法に合わせて調整されたアバタのアバタデータを取得するアバタデータ取得部と、
     衣服の衣服データを取得する衣服データ取得部と、
     前記アバタデータ及び前記衣服データに基づいて、前記アバタが前記衣服を着装している画像を生成する生成部と、
     前記画像を表示するよう制御する表示制御部と
     を備える請求項1から3のいずれか一項に記載のデータ処理装置。
  5.  前記生成部は、前記アバタデータ及び前記衣服データに基づいて、前記アバタが前記衣服を着装しているアニメーションを生成する、請求項4に記載のデータ処理装置。
  6.  前記アバタに実行させるアクションを選択するアクション選択部
     を備え、
     前記生成部は、前記アクション選択部によって選択された前記アクションを実行する前記アバタの動きに合わせて前記衣服が動く前記アニメーションを生成する、請求項5に記載のデータ処理装置。
  7.  前記衣服の色及びサイズの少なくともいずれかの指定を受け付ける表示指定受付部
     を備え、
     前記生成部は、前記表示指定受付部が受け付けた前記衣服の色及びサイズの少なくともいずれかの指定に基づいて、前記アバタが前記衣服を着装している前記アニメーションを生成する、請求項5又は6に記載のデータ処理装置。
  8.  前記生成部は、前記アバタデータ及び前記衣服データに基づいて判定された前記衣服のきつさを反映した前記画像を生成する、請求項4から7のいずれか一項に記載のデータ処理装置。
  9.  前記衣服データは、前記衣服の素材の伸縮に関連する伸縮パラメータを含み、
     前記生成部は、前記伸縮パラメータに基づいて特定した、前記アバタの前記衣服を着装している部位の前記衣服から受ける力の度合を反映した前記画像を生成する、請求項8に記載のデータ処理装置。
  10.  前記伸縮パラメータは、前記衣服が当該衣服を着装している部位に対して力を与え始める前記衣服のメッシュの辺の長さの長さ閾値と、前記衣服が破れる前記衣服のメッシュの辺の長さの破れ閾値とを含む、請求項9に記載のデータ処理装置。
  11.  前記生成部は、前記衣服に、前記アバタの前記衣服を着装している部位の前記衣服から受ける力の度合に応じた色を反映した前記画像を生成する、請求項8から10のいずれか一項に記載のデータ処理装置。
  12.  前記アバタに前記衣服を着装させた状態における、前記アバタと前記衣服との距離に基づいて、前記アバタに対する前記衣服のサイズの余裕度を判定する余裕度判定部
     を備え、
     前記生成部は、前記余裕度を反映した前記画像を生成する、請求項4から11のいずれか一項に記載のデータ処理装置。
  13.  前記生成部は、前記衣服に、前記余裕度に応じた色を反映した前記画像を生成する、請求項12に記載のデータ処理装置。
  14.  衣服の素材毎の摩擦音を格納する摩擦音格納部
     を備え、
     前記生成部は、前記摩擦音格納部に格納されている前記摩擦音に基づいて、前記衣服を着装させた前記アバタの動きによって発生する前記衣服の摩擦に対応する摩擦音を生成する、請求項4から13のいずれか一項に記載のデータ処理装置。
  15.  前記生成部は、前記衣服の摩擦している領域のサイズが大きいほど、大きい音量の前記摩擦音を生成する、請求項14に記載のデータ処理装置。
  16.  前記生成部は、前記衣服の摩擦の加速度が高いほど、高い音の前記摩擦音を生成する、請求項14又は15に記載のデータ処理装置。
  17.  前記衣服がボトムスである場合に、前記衣服を配置する前記アバタのウエスト位置、及び前記衣服を前記アバタに固定する固定強度の指定を受け付けるウエスト指定受付部と
     を備え
     前記生成部は、指定された前記ウエスト位置に指定された前記固定強度で前記衣服を前記アバタに対して固定した前記画像を生成する、請求項4から16のいずれか一項に記載のデータ処理装置。
  18.  前記衣服がズボンである場合に、前記アバタに対応する前記衣服の丈、及び前記衣服の裾上げの種類を特定する裾上げ特定部
     を備え、
     前記生成部は、前記衣服の丈及び前記衣服の裾上げの種類に基づいて前記衣服データを変更する、請求項4から17のいずれか一項に記載のデータ処理装置。
  19.  前記生成部は、前記衣服の衣服データの一部を、前記衣服の丈に基づいて削除し、前記一部に対応する位置に前記裾上げの種類に対応するテクスチャを適用した前記画像を生成する、請求項18に記載のデータ処理装置。
  20.  前記衣服がトップスであり、かつ、前記衣服がジッパー又はボタンを有する場合に、前記ジッパー又は前記ボタンの状態を特定する状態特定部
     を備え、
     前記生成部は、前記ジッパー又は前記ボタンの状態に応じた前記画像を生成する請求項4から19のいずれか一項に記載のデータ処理装置。
  21.  前記生成部は、前記衣服がジッパーを有する場合に、前記衣服データにおける前記ジッパーに対応する部分の折り曲げ制約条件を強くする、請求項20に記載のデータ処理装置。
  22.  前記衣服に接する装飾品を特定する装飾品特定部
     を備え、
     前記生成部は、前記衣服と前記装飾品との関係に応じた前記衣服の動きを生成する、請求項4から21のいずれか一項に記載のデータ処理装置。
  23.  前記衣服のポケット内の物を特定するポケット特定部
     を備え、
     前記生成部は、前記ポケット内の物に応じた前記衣服の動きを生成する、請求項4から22のいずれか一項に記載のデータ処理装置。
  24.  アバタのアバタデータを取得するアバタデータ取得部と、
     衣服の素材の伸縮に関連する伸縮パラメータを含む衣服データを取得する衣服データ取得部と、
     前記伸縮パラメータに基づいて特定した、前記アバタの前記衣服を着装している部位の前記衣服から受ける力の度合を反映した、前記アバタが前記衣服を着装している画像を生成する生成部と、
     前記画像を表示するよう制御する表示制御部と
     を備えるデータ処理装置。
  25.  アバタのアバタデータを取得するアバタデータ取得部と、
     衣服の衣服データを取得する衣服データ取得部と、
     前記アバタに前記衣服を着装させた状態における、前記アバタと前記衣服との距離に基づいて、前記アバタに対する前記衣服のサイズの余裕度を判定する余裕度判定部と、
     前記余裕度を反映した、前記アバタが前記衣服を着装している画像を生成する生成部と
     を備えるデータ処理装置。
  26.  アバタのアバタデータを取得するアバタデータ取得部と、
     衣服の衣服データを取得する衣服データ取得部と、
     衣服の素材毎の摩擦音を格納する摩擦音格納部と、
     前記アバタデータ及び前記衣服データに基づいて、前記アバタが前記衣服を着装している画像を生成し、前記摩擦音格納部に格納されている前記摩擦音に基づいて、前記衣服を着装させた前記アバタの動きによって発生する前記衣服の摩擦に対応する摩擦音を生成する生成部と、
     前記生成部によって生成された前記画像を表示させ、前記摩擦音を音声出力するよう制御する出力制御部と
     を備えるデータ処理装置。
  27.  アバタのアバタデータを取得するアバタデータ取得部と、
     衣服の衣服データを取得する衣服データ取得部と、
     前記衣服がボトムスである場合に、前記衣服を配置する前記アバタのウエスト位置、及び前記衣服を前記アバタに固定する固定強度の指定を受け付けるウエスト指定受付部と、
     指定された前記ウエスト位置に指定された前記固定強度で前記衣服を前記アバタに対して固定した、前記アバタが前記衣服を着装している画像を生成する生成部と
     を備えるデータ処理装置。
  28.  アバタのアバタデータを取得するアバタデータ取得部と、
     衣服の衣服データを取得する衣服データ取得部と、
     前記衣服がズボンである場合に、前記アバタに対応する前記衣服の丈、及び前記衣服の裾上げの種類を特定する裾上げ特定部と、
     前記衣服の丈及び前記衣服の裾上げの種類に基づいて変更した衣服を前記アバタが着装している画像を生成する生成部と
     を備えるデータ処理装置。
  29.  アバタのアバタデータを取得するアバタデータ取得部と、
     衣服の衣服データを取得する衣服データ取得部と、
     前記衣服がトップスであり、かつ、前記衣服がジッパー又はボタンを有する場合に、前記ジッパー又は前記ボタンの状態を特定する状態特定部と、
     前記アバタが前記衣服を着装している画像であって、前記ジッパー又は前記ボタンの状態に応じた画像を生成する生成部と
     を備えるデータ処理装置。
  30.  アバタのアバタデータを取得するアバタデータ取得部と、
     衣服の衣服データを取得する衣服データ取得部と、
     前記衣服に接する装飾品を特定する装飾品特定部と、
     前記アバタが前記衣服を着装している画像であって、前記衣服が前記衣服と前記装飾品との関係に応じた動きをする画像を生成する生成部と
     を備えるデータ処理装置。
  31.  アバタのアバタデータを取得するアバタデータ取得部と、
     衣服の衣服データを取得する衣服データ取得部と、
     前記衣服のポケット内の物を特定するポケット特定部と、
     前記アバタが前記衣服を着装している画像であって、前記衣服が前記ポケット内の物に応じた動きをする画像を生成する生成部と
     を備えるデータ処理装置。
  32.  コンピュータを、請求項1から31のいずれか一項に記載のデータ処理装置として機能させるためのプログラム。
  33.  コンピュータによって実行されるデータ処理方法であって、
     ユーザの複数の部位のそれぞれの寸法を含むユーザ寸法データを取得するユーザデータ取得段階と、
     デフォルトの体型を有するアバタの複数の部位のそれぞれの寸法を含むアバタ寸法データを取得するアバタデータ取得段階と、
     前記ユーザの前記複数の部位と、前記ユーザの複数の部位に対応する前記アバタの複数の部位との合計誤差が小さくなるように、前記アバタの前記複数の部位のうちの一部の部位の寸法を、当該一部の部位に対応する前記ユーザの部位の寸法との差異が少なくなるように変更し、かつ、前記変更に伴って前記一部の部位に対応する前記ユーザの身体に関連する前記アバタの部位の寸法を変更した後、前記合計誤差を算出する処理を繰り返す調整段階と
     を備えるデータ処理方法。
PCT/JP2022/010541 2021-03-17 2022-03-10 データ処理装置、プログラム、及びデータ処理方法 WO2022196514A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021043391A JP7117412B1 (ja) 2021-03-17 2021-03-17 データ処理装置、プログラム、及びデータ処理方法
JP2021-043391 2021-03-17

Publications (1)

Publication Number Publication Date
WO2022196514A1 true WO2022196514A1 (ja) 2022-09-22

Family

ID=82799038

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/010541 WO2022196514A1 (ja) 2021-03-17 2022-03-10 データ処理装置、プログラム、及びデータ処理方法

Country Status (2)

Country Link
JP (3) JP7117412B1 (ja)
WO (1) WO2022196514A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944556A (ja) * 1995-08-03 1997-02-14 Sanyo Electric Co Ltd 試着シミュレーション方法
JPH10340282A (ja) * 1997-04-11 1998-12-22 Toray Ind Inc 衣服の仮想試着装置および仮想試着方法および衣服製造装置
JPH11205585A (ja) * 1998-01-20 1999-07-30 Toyobo Co Ltd プライベートカタログ作成方法および作成システム
US20130305547A1 (en) * 2012-05-17 2013-11-21 Carol S. Grove System and Method for Drafting Garment Patterns from Photographs and Style Drawings
JP2018019843A (ja) * 2016-08-02 2018-02-08 株式会社sizebook 携帯情報装置、寸法測定方法、及びコンピュータプログラム
JP2020170394A (ja) * 2019-04-04 2020-10-15 株式会社Sapeet 衣服着用可視化システム、及び衣服着用可視化方法
CN112233223A (zh) * 2020-09-29 2021-01-15 深圳市易尚展示股份有限公司 基于三维点云的人体参数化模型自动变形方法和装置
US20210049811A1 (en) * 2019-08-13 2021-02-18 Texel Llc Method and System for Remote Clothing Selection

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934952A (ja) * 1995-07-20 1997-02-07 Toyobo Co Ltd 着装シミュレーション方法および着装シミュレーション装置
CN101933021B (zh) * 2008-02-18 2012-10-17 株式会社岛精机制作所 穿着模拟装置和模拟方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944556A (ja) * 1995-08-03 1997-02-14 Sanyo Electric Co Ltd 試着シミュレーション方法
JPH10340282A (ja) * 1997-04-11 1998-12-22 Toray Ind Inc 衣服の仮想試着装置および仮想試着方法および衣服製造装置
JPH11205585A (ja) * 1998-01-20 1999-07-30 Toyobo Co Ltd プライベートカタログ作成方法および作成システム
US20130305547A1 (en) * 2012-05-17 2013-11-21 Carol S. Grove System and Method for Drafting Garment Patterns from Photographs and Style Drawings
JP2018019843A (ja) * 2016-08-02 2018-02-08 株式会社sizebook 携帯情報装置、寸法測定方法、及びコンピュータプログラム
JP2020170394A (ja) * 2019-04-04 2020-10-15 株式会社Sapeet 衣服着用可視化システム、及び衣服着用可視化方法
US20210049811A1 (en) * 2019-08-13 2021-02-18 Texel Llc Method and System for Remote Clothing Selection
CN112233223A (zh) * 2020-09-29 2021-01-15 深圳市易尚展示股份有限公司 基于三维点云的人体参数化模型自动变形方法和装置

Also Published As

Publication number Publication date
JP7365457B2 (ja) 2023-10-19
JP7117412B1 (ja) 2022-08-12
JP2023179636A (ja) 2023-12-19
JP2022143060A (ja) 2022-10-03
JP2022145677A (ja) 2022-10-04

Similar Documents

Publication Publication Date Title
US10529127B2 (en) System and method for simulating realistic clothing
Zakaria et al. Anthropometry, apparel sizing and design
US20170046769A1 (en) Method and Apparatus to Provide A Clothing Model
US7522165B2 (en) Method and system for a computer-rendered three-dimensional mannequin
US20190311488A1 (en) Method and system for wireless ultra-low footprint body scanning
KR101710521B1 (ko) 사용자 신체의 cg 표현 기능이 구비된 가상 피팅을 위한 시뮬레이션 장치, 방법 및 이를 위한 컴퓨터 프로그램
US20090079743A1 (en) Displaying animation of graphic object in environments lacking 3d redndering capability
CN105528799A (zh) 虚拟试衣装置及其虚拟试衣方法
US20130170715A1 (en) Garment modeling simulation system and process
Jevšnik et al. 3D virtual prototyping of garments: approaches, developments and challenges
EP1377920A1 (en) System and method for simulation of virtual wear articles on virtual models
US20210326955A1 (en) Generation of Improved Clothing Models
US20210056755A1 (en) Grading garment that includes supplemental material
WO2020104990A1 (en) Virtually trying cloths & accessories on body model
KR102332069B1 (ko) 부자재 요소를 포함하는 의상의 그레이딩 방법 및 장치
JP7117412B1 (ja) データ処理装置、プログラム、及びデータ処理方法
KR101508161B1 (ko) 디지털 서로게이트를 이용한 가상 피팅 장치 및 방법
Liu Computer 5G virtual reality environment 3D clothing design
CN104751514B (zh) 穿着松紧度模拟方法及其系统
JPH11250282A (ja) Cgアニメーション画像作成方法及びこの画像作成方法を用いたcgアニメーション画像作成装置
KR20210130420A (ko) 스마트 삼차원 의류 피팅 시스템 및 이를 이용한 의류 피팅 서비스 제공 방법
Viziteu et al. Development of climbing clothes using computerized 3D clothing simulation
Aksoy et al. Three dimensional online virtual apparel internet page application/Aplicatie pe pagina de internet pentru îmbracaminte virtuala on-line tridimensionala
Dvořák et al. Presentation of historical clothing digital replicas in motion
Magnenat-Thalmann Designing and animating patterns and clothes

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22771265

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22771265

Country of ref document: EP

Kind code of ref document: A1