Image processing apparatus, program, and image processing method

The image processing apparatus addresses occlusion errors in avatar generation by calculating average face depth and managing display separation of avatars and real images, improving display quality by accurately handling foreground objects.

JP7717879B1Active Publication Date: 2025-08-04SOFTBANK CORPORATION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024040305
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-03-14
Publication Date
2025-08-04
Estimated Expiration
2044-03-14

AI Technical Summary

Technical Problem

Existing image processing technologies struggle to accurately determine whether an object exists in front of a person's face during avatar generation, leading to potential occlusion errors and inconsistencies in the display of avatars.

Method used

An image processing apparatus that acquires RGB and depth information images, generates a superimposed image, calculates the average depth of a user's face, and controls the display to separate the avatar and real image portions based on the presence of objects in front of the face, using a determination unit to manage the display accordingly.

Benefits of technology

Reduces occlusion errors by accurately determining and managing the display of avatars and real images, ensuring a seamless integration of avatars with objects in the foreground, thereby enhancing the display quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007717879000001_ABST
    Figure 0007717879000001_ABST
Patent Text Reader

Abstract

Provided are an image processing apparatus, a program, and an image processing method for generating a face avatar without a sense of incongruity regardless of whether an object exists in front of the face. 【Solution means】In the avatar display system 10, the image processing apparatus includes an acquisition unit that acquires an RGB image and a depth information image generated by imaging a user, a superimposed image generation unit that generates a superimposed image by superimposing the RGB image and the depth information image, an avatar generation unit that generates a user's avatar based on the superimposed image, a determination unit that calculates an average depth of a predetermined area of the user based on the superimposed image and determines a portion where an object exists in front of the area based on the average depth, and a display control unit that controls to arrange and display an avatar in the area of the RGB image, and displays a corresponding portion of the RGB image in an area where an object exists in front of the area among the areas, and displays a corresponding portion of the avatar in an area where an object does not exist in front of the area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an image processing apparatus, a program, and an image processing method.

Background Art

[0002] Patent Document 1 describes a technique for generating an avatar of a person based on the depth data and image data of the person. [Prior Art Document] [Patent Document] [Patent Document 1] Japanese Unexamined Patent Application Publication No. 2023-094549

Summary of the Invention

Means for Solving the Problems

[0003] According to one embodiment of the present invention, an image processing apparatus is provided. The image processing apparatus may include an acquisition unit that acquires an RGB image and a depth information image generated by imaging a user. The image processing apparatus may include a superimposed image generation unit that generates a superimposed image by superimposing the RGB image and the depth information image. The image processing apparatus may include an avatar generation unit that generates an avatar of the user based on the superimposed image. The image processing apparatus may include a determination unit that calculates an average depth of a predetermined area of the user based on the superimposed image and determines a portion where an object exists in front of the predetermined area of the user based on the average depth. The image processing apparatus may be a display control unit that controls to display the avatar in the predetermined area of the user in the RGB image, and displays a corresponding portion of the RGB image in an area where an object exists in front of the predetermined area of the user among the predetermined areas of the user, and controls to display a corresponding portion of the avatar in an area where no object exists in front of the predetermined area of the user.

[0004] In the image processing apparatus, the avatar generation unit may generate the avatar of the user's face based on the superimposed image. The determination unit may calculate the average depth of the user's face, and based on the average depth, may determine a portion where an object exists in front of the user's face. The display control unit may control to display a corresponding portion of the RGB image in a region of the user's face where an object exists in front of the user's face, and display a corresponding portion of the avatar in a region of the user's face where no object exists in front of the user's face. The determination unit may calculate the average depth of the entire user's face.

[0005] In any of the image processing apparatuses, the display control unit may control to display a portion of the user's hand in the RGB image at a portion of the user's face region where the user's hand is located in front of the user's face.

[0006] In any of the image processing apparatuses, the display control unit may determine, as a portion where an object exists in front of a predetermined region of the user, a portion of the predetermined region of the user where the depth is shallower than the average depth by a predetermined threshold value or more.

[0007] In any of the image processing apparatuses, when it is determined that the user within the imaging range cannot be detected in a state where the display control unit controls to arrange and display the avatar on a portion of the user's face in the RGB image, the display control unit may control to fix and display the avatar that was being displayed immediately before the determination.

[0008] According to an embodiment of the present invention, a program for causing a computer to function as the image processing apparatus is provided.

[0009] According to an embodiment of the present invention, an image processing method executed by a computer is provided. The image processing method may include an acquisition step of acquiring an RGB image and a depth information image generated by imaging a user. The image processing method may include a superimposed image generation step of generating a superimposed image by superimposing the RGB image and the depth information image. The image processing method may include an avatar generation step of generating an avatar of the user based on the superimposed image. The image processing method may include a determination step of calculating an average depth of a predetermined area of the user based on the superimposed image and determining, based on the average depth, a portion where an object exists in front of the predetermined area of the user. The image processing method may include a display control step of controlling to display the avatar in a predetermined area of the user in the RGB image, and displaying, in an area where an object exists in front of the predetermined area of the user among the predetermined areas of the user, a corresponding portion of the RGB image, and displaying, in an area where no object exists in front of the predetermined area of the user, a corresponding portion of the avatar.

[0010] Note that the above summary of the invention does not list all the necessary features of the present invention. Also, sub-combinations of these feature groups may also be inventions.

Brief Description of the Drawings

[0011]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Embodiments for Carrying Out the Invention

[0012] Hereinafter, the present invention will be described through embodiments of the invention. However, the following embodiments do not limit the invention according to the claims. Also, not all combinations of features described in the embodiments are essential for the solution means of the invention.

[0013] Techniques for generating an avatar of a person's face using the depth data and image data of the person are known. When the generated avatar is superimposed on the image data for display, if an object exists in front of the person's face, but the generated avatar is superimposed on the entire face, the object may disappear from the display. In order to prevent such a situation, it is desirable to be able to appropriately determine whether an object exists in front of the person's face. Therefore, for example, it is conceivable to determine whether each point is a face or an object existing in front of the face based on the depth of the midpoint of the face of the user 40. Thereby, the object existing in front of the face can be grasped to some extent. However, when the depth of the midpoint of the face of the user 40 is not accurate, there is a possibility of a determination error as to whether an object exists in front of the face of the user 40, so-called occlusion error. On the other hand, the image processing apparatus 100 according to the present embodiment uses, for example, the average depth of the face of the user 40. Thereby, the occlusion error can be reduced.

[0014] Figure 1 schematically shows an example of the avatar display system 10. In the example shown in Figure 1, the avatar display system 10 includes an image processing device 100. The image processing device 100 includes an imaging camera 102 and a depth camera 104. The image processing device 100 can be, but is not limited to, a smartphone, a tablet terminal, a PC (Personal Computer), etc.

[0015] The imaging camera 102 provides the captured image to the image processing device 100. The captured image may be an RGB image. The captured image may be a video. The captured image may also be a still image captured continuously. The imaging camera 102 may be built into the image processing device 100. The imaging camera 102 may also be a camera externally attached to the image processing device 100.

[0016] The depth camera 104 is a camera capable of generating a depth information image including depth information, which is the distance to the imaging target. The depth information image includes depth information for each pixel. The depth camera 104 may also be called a depth camera. Known techniques can be used for the distance measurement method. For example, the triangulation method and the TOF (Time Of Flight) method, etc. are used. The depth camera 104 may be a stereo camera. The depth camera 104 may be built into the image processing device 100. The depth camera 104 may also be a camera externally attached to the image processing device 100.

[0017] The image processing device 100 acquires the RGB image generated by the imaging camera 102 capturing the user 40 from the imaging camera 102. The image processing device 100 acquires the depth information image generated by the depth camera 104 capturing the user 40 from the depth camera 104. The depth information image generated by capturing the user 40 may be an image representing the depth (three-dimensional shape) of the user 40 as discrete point cloud data.

[0018] The image processing apparatus 100 may generate a noise-removed depth information image with the background portion removed from the depth information image, calibrate so that the portion of the user 40 in the RGB image coincides with the portion of the user 40 in the noise-removed depth information image, and superimpose the RGB image and the noise-removed depth information image to generate a superimposed image.

[0019] The image processing apparatus 100 may generate an avatar of the face of the user 40 based on the superimposed image. The image processing apparatus 100 may determine a portion where an object exists in front of the face of the user 40 within a region corresponding to the face of the user 40 based on the superimposed image. The image processing apparatus 100 may display the corresponding portion of the RGB image in a region corresponding to the face of the user 40 in the RGB image where an object exists in front of the face of the user 40, and control to display the corresponding portion of the avatar in a region where no object exists in front of the face of the user 40.

[0020] The image processing apparatus 100 may control to display the RGB image and the avatar on a display included in the image processing apparatus 100. The image processing apparatus 100 may also transmit display data for displaying the RGB image and the avatar to another apparatus and control to display the RGB image and the avatar on the display of the other apparatus.

[0021] FIG. 2 schematically shows another example of the avatar display system 10. In the example shown in FIG. 2, the avatar display system 10 includes an image processing apparatus 100 and a communication apparatus 200. The communication apparatus 200 includes an imaging camera 202 and a depth camera 204. The communication apparatus 200 may be a smartphone, a tablet terminal, a PC, or the like, but is not limited thereto.

[0022] The imaging camera 202 may be the same as the imaging camera 102. The imaging camera 202 provides the captured image to the communication apparatus 200. The imaging camera 202 may be built into the communication apparatus 200. The imaging camera 202 may also be a camera externally attached to the communication apparatus 200.

[0023] The depth camera 204 may be the same as the depth camera 104. The imaging camera 202 is a camera capable of generating a depth information image including depth information, which is the distance to the imaging target. The depth camera 204 may be built into the communication device 200. The depth camera 204 may also be a camera externally attached to the communication device 200.

[0024] The image processing device 100 receives, via the network 20, the RGB image generated by the imaging camera 202 capturing the user 40 from the communication device 200. The image processing device 100 receives, via the network 20, the depth information image generated by the depth camera 204 capturing the user 40 from the communication device 200.

[0025] The network 20 may include the Internet. The network 20 may include a LAN (Local Area Network). The network 20 may include a mobile communication network. The mobile communication network may conform to any of the LTE (Long Term Evolution) communication method, 5G (5th Generation) communication method, 3G (3rd Generation) communication method, and communication methods after the 6G (6th Generation) communication method.

[0026] The image processing device 100 may be wired-connected to the network 20. The image processing device 100 may also be wirelessly connected to the network 20. The image processing device 100 may be connected to the network 20 via a wireless base station. The image processing device 100 may be connected to the network 20 via a Wi-Fi (registered trademark) access point.

[0027] The communication device 200 may be wired-connected to the network 20. The communication device 200 may also be wirelessly connected to the network 20. The communication device 200 may be connected to the network 20 via a wireless base station. The communication device 200 may be connected to the network 20 via a Wi-Fi access point.

[0028] The image processing apparatus 100 may generate a noise-removed depth information image with the background portion removed from the depth information image, calibrate so that the portion of the user 40 in the RGB image matches the portion of the user 40 in the noise-removed depth information image, and generate a superimposed image by superimposing the RGB image and the noise-removed depth information image.

[0029] The image processing apparatus 100 may generate an avatar of the face of the user 40 based on the superimposed image. The image processing apparatus 100 may determine a portion where an object exists in front of the face of the user 40 within a region corresponding to the face of the user 40 based on the superimposed image. The image processing apparatus 100 may display the corresponding portion of the RGB image in the region of the RGB image corresponding to the face of the user 40 where an object exists in front of the face of the user 40, and may control to display the corresponding portion of the avatar in the region where no object exists in front of the face of the user 40.

[0030] The image processing apparatus 100 may control to display the RGB image and the avatar on a display included in the image processing apparatus 100. The image processing apparatus 100 may also transmit display data for displaying the RGB image and the avatar to the communication apparatus 200 and control to display the RGB image and the avatar on the display of the communication apparatus 200. The image processing apparatus 100 may also transmit display data for displaying the RGB image and the avatar to a device other than the communication apparatus 200 and control to display the RGB image and the avatar on the display of the said device.

[0031] FIG. 3 is an explanatory diagram for schematically explaining avatar generation by the image processing apparatus 100. Here, the case where no object exists in front of the face of the user 40 will be described.

[0032] The image processing apparatus 100 generates a noise-removed depth information image 312 with the background portion removed from the depth information image 310. The image processing apparatus 100, for example, removes a portion deeper than a predetermined threshold depth from the depth information image 310. The image processing apparatus 100, for example, removes the background portion specified from the average depth of the depth information image 310.

[0033] The image processing apparatus 100 calibrates so as to match the portion of the user 40 in the RGB image 320 with the portion of the user 40 in the noise-removed depth information image 312, and superimposes the RGB image 320 and the noise-removed depth information image 312 to generate a superimposed image 330.

[0034] The image processing apparatus 100 generates an avatar of the face of the user 40 based on the superimposed image 330. The image processing apparatus 100 determines, within the region corresponding to the face of the user 40 based on the superimposed image 330, a portion where an object exists in front of the face of the user 40. In this example, it is determined that no object exists.

[0035] The image processing apparatus 100 may control to display a display image 340 in which a portion other than the face of the user 40 is a real image and the portion of the face of the user 40 is an avatar 342 that moves in accordance with the movement of the face of the user 40. The image processing apparatus 100 may control to display a display image 340 in which the corresponding portion of the RGB image 320 is arranged in a portion other than the region corresponding to the face of the user 40 in the RGB image 320, and the generated avatar 342 is arranged in the portion of the face of the user 40 in the RGB image 320. By continuously executing such processing, it is possible to display a display image 340 including the avatar 342 that follows the movement of the user 40.

[0036] FIG. 4 is an explanatory diagram for schematically explaining avatar generation by the image processing apparatus 100. Here, a case where the hand of the user 40 exists in front of the face of the user 40 will be described. Up to the generation of the superimposed image 330, it is the same as in FIG. 3.

[0037] The image processing apparatus 100 generates an avatar of the face of the user 40 based on the superimposed image 330. The image processing apparatus 100 determines, within the region corresponding to the face of the user 40 based on the superimposed image 330, a portion where an object exists in front of the face of the user 40. In this example, it is determined that an object exists.

[0038] The image processing apparatus 100 may be controlled to display a display image 340 in which the corresponding portion of the RGB image 320 is arranged in a portion other than the region corresponding to the face of the user 40 in the RGB image 320, the corresponding portion of the RGB image 320 is arranged in a portion of the region corresponding to the face of the user 40 in the RGB image 320 where an object exists in front of the face of the user 40, and the corresponding portion of the avatar 342 is arranged in a region where no object exists in front of the face of the user 40. Thereby, when the hand of the user 40 exists in front of the face of the user 40, the corresponding portion of the RGB image 320 is arranged in a portion other than the region corresponding to the face of the user 40, and in a portion of the region corresponding to the face of the user 40 where no hand exists, the corresponding portion of the avatar 342 is arranged, and in a portion where the hand exists, the corresponding portion of the RGB image 320 is arranged, so that the display image 340 can be displayed.

[0039] FIG. 5 shows an example of a portion 354 where a hand exists in a region 352 corresponding to the face of the user 40 in the display image 340. In FIG. 5, the region 352 is surrounded by a solid line, and the portion 354 is surrounded by a broken line. The image processing apparatus 100 may identify the region corresponding to the face of the user 40 by analyzing the superimposed image 330. The image processing apparatus 100 may determine whether each pixel in the region corresponding to the face of the user 40 is a face or a hand by referring to the depth.

[0040] For example, the image processing apparatus 100 calculates the average depth of the face of the user 40 in advance, and based on the average depth, determines whether each pixel in the region corresponding to the face of the user 40 is a face or a hand. For example, for each pixel, when the depth is shallower than the average depth by a predetermined threshold or more, the image processing apparatus 100 determines that it is a hand, and when it is not shallower, the image processing apparatus 100 determines that it is a face. That is, the image processing apparatus 100 determines, as a portion where a hand exists, a portion of the region corresponding to the face of the user 40 where the depth is shallower than the average depth by a predetermined threshold or more.

[0041] The image processing device 100 calculates the average depth of the face of the user 40, for example, from the superimposed image 330 in a state where no object exists in front of the face of the user 40. The image processing device 100 analyzes the superimposed image 330 to identify the region corresponding to the face of the user 40, and calculates the average depth from the depths of the respective pixels in the identified region.

[0042] The image processing device 100 may calculate the average depth of the face of the user 40 from the superimposed image 330 in a state where an object exists in front of the face of the user 40. The image processing device 100 analyzes the superimposed image 330 to identify the region corresponding to the face of the user 40, and calculates the average depth from the depths of the respective pixels in the portion other than the portion where there is a high probability that an object exists in the identified region. For example, the image processing device 100 divides the identified region into a group of pixels with a deep depth and a group of pixels with a shallow depth, and calculates the average depth from the depths of the respective pixels in the group of pixels with a deep depth.

[0043] The image processing device 100 may use the average depth of the entire face of the user 40 as the average depth of the face of the user 40. The image processing device 100 may also use the average depth of a predetermined region of the face of the user 40 as the average depth of the face of the user 40. The predetermined region may be arbitrarily set, for example, a region including the eyes, nose, and mouth of the user 40.

[0044] Based on the depth of the midpoint of the face of the user 40, it is conceivable to determine whether each pixel in the region corresponding to the face of the user 40 is a face or a hand. However, when the depth of the midpoint of the face of the user 40 is not accurate, a determination error as to whether an object exists in front of the face of the user 40, so-called occlusion error, may occur. In contrast, as described above, by using the average depth of the face of the user 40, the occlusion error can be reduced.

[0045] FIG. 6 schematically shows an example of the functional configuration of the image processing apparatus 100. The image processing apparatus 100 includes an acquisition unit 112, a superimposed image generation unit 114, a noise removal image generation unit 116, a determination unit 118, an avatar generation unit 120, and a display control unit 122. Note that it is not essential for the image processing apparatus 100 to include all of these.

[0046] The acquisition unit 112 acquires the RGB image 320 of the user 40 generated by imaging the user 40. The acquisition unit 112 may acquire the RGB image 320 generated by the imaging camera 102 from the imaging camera 102. The acquisition unit 112 may receive the RGB image 320 generated by the imaging camera 202 from the communication device 200.

[0047] The acquisition unit 112 acquires the depth information image 310 of the user 40 generated by imaging the user 40. The acquisition unit 112 may acquire the depth information image 310 generated by the depth camera 104 from the depth camera 104. The acquisition unit 112 may receive the depth information image 310 generated by the depth camera 204 from the communication device 200.

[0048] The noise removal image generation unit 116 generates a noise removal depth information image 312 from which the background portion has been removed from the depth information image 310. The noise removal image generation unit 116 removes, for example, portions deeper than a predetermined threshold depth from the depth information image 310. The noise removal image generation unit 116 removes, for example, the background portion specified from the average depth of the depth information image 310.

[0049] The superimposed image generation unit 114 calibrates so that the user portion of the RGB image 320 and the user portion of the noise removal depth information image 312 coincide, and superimposes the RGB image 320 and the noise removal depth information image 312 to generate a superimposed image 330.

[0050] When the resolution of the RGB image 320 is different from the resolution of the depth information image 310, the superimposed image generation unit 114 may perform calibration so that the user part of the RGB image 320 coincides with the user part of the noise-removed depth information image 312 according to the difference in resolution between the RGB image 320 and the depth information image 310. For example, the superimposed image generation unit 114 enlarges the noise-removed depth information image 312 at a magnification according to the difference in resolution between the RGB image 320 and the depth information image 310. As another example, the superimposed image generation unit 114 may reduce the RGB image 320 at a magnification according to the difference in resolution between the RGB image 320 and the depth information image 310.

[0051] The superimposed image generation unit 114 may adjust at least one of the size of the noise-removed depth information image 312 and the positional relationship between the RGB image 320 and the noise-removed depth information image 312 so that the degree of coincidence between the user part of the RGB image 320 and the user part of the noise-removed depth information image 312 is higher, and superimpose the RGB image 320 and the noise-removed depth information image 312 to generate a superimposed image 330.

[0052] For example, the superimposed image generation unit 114 adjusts the size of the noise-removed depth information image 312 so that the degree of coincidence between the user part of the RGB image 320 and the user part of the noise-removed depth information image 312 is higher. As a specific example, the superimposed image generation unit 114 calculates the degree of coincidence between the user part of the RGB image 320 and the user part of the noise-removed depth information image 312 while gradually changing the size of the noise-removed depth information image 312, and superimposes the RGB image 320 and the noise-removed depth information image 312 with the noise-removed depth information image 312 having the size with the highest degree of coincidence.

[0053] For example, the superimposed image generation unit 114 adjusts the positional relationship between the RGB image 320 and the noise-removed depth information image 312 so that the degree of coincidence between the user part of the RGB image 320 and the user part of the noise-removed depth information image 312 becomes higher. The superimposed image generation unit 114 adjusts, for example, the relative position between the RGB image 320 and the noise-removed depth information image 312. The superimposed image generation unit 114 adjusts, for example, the relative angle between the RGB image 320 and the noise-removed depth information image 312. The superimposed image generation unit 114 adjusts, for example, the relative position and the relative angle between the RGB image 320 and the noise-removed depth information image 312. As a specific example, the superimposed image generation unit 114 calculates the degree of coincidence between the user part of the RGB image 320 and the user part of the noise-removed depth information image 312 while gradually changing the positional relationship between the RGB image 320 and the noise-removed depth information image 312, and superimposes the RGB image 320 and the noise-removed depth information image 312 in the positional relationship where the degree of coincidence is the highest.

[0054] For example, the superimposed image generation unit 114 adjusts both the size of the noise-removed depth information image 312 and the positional relationship between the RGB image 320 and the noise-removed depth information image 312 so that the degree of coincidence between the user part of the RGB image 320 and the user part of the noise-removed depth information image 312 becomes higher. As a specific example, the superimposed image generation unit 114 calculates the degree of coincidence between the user part of the RGB image 320 and the user part of the noise-removed depth information image 312 while gradually changing the size of the noise-removed depth information image 312 or the positional relationship between the RGB image 320 and the noise-removed depth information image 312, and superimposes the RGB image 320 and the noise-removed depth information image 312 in the size of the noise-removed depth information image 312 and the positional relationship between the RGB image 320 and the noise-removed depth information image 312 where the degree of coincidence is the highest.

[0055] Depending on the positional relationship between the imaging camera 102 and the depth camera 104, when the noise-removed depth information image 312 is simply enlarged and superimposed on the RGB image 320, the user's part in the RGB image 320 may not exactly match the user's part in the noise-removed depth information image 312. In such a case, it may not be possible to accurately generate the avatar 342 or accurately recognize the object existing in front of the user 40. However, by performing the calibration described above by the superimposed image generation unit 114, such a possibility can be reduced.

[0056] The superimposed image generation unit 114 may perform calibration so as to match the user's part in the RGB image 320 with the user's part in the depth information image 310 acquired by the acquisition unit 112 instead of the noise-removed depth information image 312, and superimpose the RGB image 320 and the depth information image 310 to generate a superimposed image 330.

[0057] The determination unit 118 determines, based on the superimposed image 330, a portion where an object exists in front of a predetermined area of the user 40. The predetermined area may be the face of the user 40, the whole body of the user 40, or any area of the user 40's body. The determination unit 118 determines, within the predetermined area of the user 40, a portion where an object exists in front of the predetermined area of the user 40. The determination unit 118 may calculate the average depth of the predetermined area of the user based on the superimposed image 330 and determine, based on the average depth, a portion where an object exists in front of the predetermined area of the user.

[0058] The determination unit 118 calculates, for example, the average depth of a predetermined area of the user 40 in advance, and based on the average depth, determines whether each pixel in the area corresponding to the predetermined area of the user 40 is a predetermined area or an object existing in front of the predetermined area. For example, for each pixel, the determination unit 118 determines that it is an object existing in front of the predetermined area when the depth is shallower than the average depth by a predetermined threshold value or more, and determines that it is a predetermined area when it is not shallower. That is, the determination unit 118 determines, as the portion where an object exists, the portion of the area corresponding to the predetermined area of the user 40 where the depth is shallower than the average depth by a predetermined threshold value or more.

[0059] The determination unit 118 calculates, for example, the average depth of the predetermined area of the user 40 from the superimposed image 330 in a state where no object exists in front of the predetermined area of the user 40. The determination unit 118 identifies the area corresponding to the predetermined area of the user 40 by analyzing the superimposed image 330, and calculates the average depth from the depths of the respective pixels in the identified area.

[0060] The determination unit 118 may calculate the average depth of the predetermined area of the user 40 from 300 in a state where an object exists in front of the predetermined area of the user 40. The determination unit 118 identifies the area corresponding to the predetermined area of the user 40 by analyzing the superimposed image 330, and calculates the average depth from the depths of the respective pixels in the portion other than the portion where there is a high probability that an object exists in the identified area. The image processing apparatus 100 divides, for example, the identified area into a group of pixels with a deep depth and a group of pixels with a shallow depth, and calculates the average depth from the depths of the respective pixels in the group of pixels with a deep depth.

[0061] The determination unit 118 may use the average depth of the entire predefined area of the user 40 as the average depth of the predefined area of the user 40. The determination unit 118 may also use the average depth of a partial area among the predefined areas of the user 40 as the average depth of the predefined area of the user 40. For example, when the predefined area is the face, the partial area may be arbitrarily set, such as an area including the eyes, nose, and mouth of the user 40, etc.

[0062] The avatar generation unit 120 generates an avatar 342 of the user 40 based on the superimposed image 330. For example, the avatar generation unit 120 generates a 3D model of the user 40 using the noise-removed depth information image 312 among the superimposed images 330, generates texture data of the user 40 using the RGB image 320 among the superimposed images 330, and generates the avatar 342 by performing a process of pasting the texture data onto the 3D model. The avatar generation unit 120 may generate the avatar 342 from the superimposed image 330 using other methods.

[0063] The display control unit 122 controls to display the display image 340 according to the determination result by the determination unit 118. When it is determined by the determination unit 118 that there is no object in front of the predefined area of the user 40, the display control unit 122 arranges the corresponding part of the RGB image 320 in the part other than the predefined area of the user 40 in the RGB image 320, and arranges the avatar 342 generated by the avatar generation unit 120 in the part of the predefined area of the user 40 in the RGB image 320, and controls to display the display image 340. When the predefined area is the face and it is determined by the determination unit 118 that there is no object in front of the face of the user 40, the display control unit 122 arranges the corresponding part of the RGB image 320 in the part other than the area corresponding to the face of the user 40 in the RGB image 320, and arranges the avatar 342 generated by the avatar generation unit 120 in the part of the face of the user 40 in the RGB image 320, and controls to display the display image 340.

[0064] When the determination unit 118 determines that an object exists in front of a predetermined area of the user 40, the display control unit 122 may control to display a display image 340 in which corresponding portions of the RGB image 320 are arranged in portions of the RGB image 320 other than the predetermined area of the user 40, corresponding portions of the RGB image 320 are arranged in portions of the predetermined area of the user 40 where an object exists in front of the predetermined area of the user 40, and corresponding portions of the avatar 342 are arranged in areas where no object exists in front of the predetermined area of the user 40. When the predetermined area is the face and the determination unit 118 determines that an object exists in front of the face of the user 40, the display control unit 122 may control to display a display image 340 in which corresponding portions of the RGB image 320 are arranged in portions of the RGB image 320 other than the area corresponding to the face of the user 40, corresponding portions of the RGB image 320 are arranged in portions of the area corresponding to the face of the user 40 where an object exists in front of the face of the user 40, and corresponding portions of the avatar 342 are arranged in areas where no object exists in front of the face of the user 40. For example, when the hand of the user 40 exists in front of the face of the user 40, the display control unit 122 may control to display a display image 340 in which the portion of the hand of the user 40 in the RGB image 320 is arranged in the portion of the area corresponding to the face of the user 40 where the hand of the user 40 exists in front of the face of the user 40.

[0065] When it is determined that the user 40 within the imaging range cannot be detected while the display control unit 122 is controlling to place and display the avatar 342 in a predetermined area of the RGB image 320, the display control unit 122 may control to fix and display the avatar 342 that was being displayed. For example, when the predetermined area is the face, when it is determined that the user 40 within the imaging range cannot be detected while the display control unit 122 is controlling to place and display the avatar 342 in the user's face portion of the RGB image 320, the display control unit 122 may control to fix and display the avatar 342 that was being displayed. If the user 40 within the imaging range is missed, there is a possibility that a situation where the avatar 342 disappears and a real image of the user 40's face is displayed becomes troublesome. However, as described above, by controlling the display control unit 122 to fix and display the avatar 342, the avatar 342 can be fixed at the final position, and it is possible to prevent the avatar 342 from disappearing and the user's own face from being displayed.

[0066] FIG. 7 schematically shows an example of the hardware configuration of a computer 1200 that functions as the image processing apparatus 100 or the communication apparatus 200. The program installed in the computer 1200 causes the computer 1200 to function as one or more "units" of the apparatus according to the present embodiment, or causes the computer 1200 to execute an operation associated with the apparatus according to the present embodiment or the one or more "units", and / or causes the computer 1200 to execute the process according to the present embodiment or a stage of the process. Such a program may be executed by the CPU 1212 so that the computer 1200 executes specific operations associated with some or all of the blocks of the flowcharts and block diagrams described herein.

[0067] The computer 1200 according to this embodiment includes a CPU 1212, a RAM 1214, and a graphic controller 1216, which are interconnected by a host controller 1210. The computer 1200 also includes input / output units such as a communication interface 1222, a storage device 1224, a DVD drive, and an IC card drive, which are connected to the host controller 1210 via an input / output controller 1220. The DVD drive may be a DVD-ROM drive, a DVD-RAM drive, or the like. The storage device 1224 may be a hard disk drive, a solid state drive, or the like. The computer 1200 also includes legacy input / output units such as a ROM 1230 and a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240.

[0068] The CPU 1212 operates according to programs stored in the ROM 1230 and the RAM 1214, thereby controlling each unit. The graphic controller 1216 acquires image data generated by the CPU 1212 in a frame buffer or the like provided in the RAM 1214 or within itself, and causes the image data to be displayed on the display device 1218.

[0069] The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212 within the computer 1200. The DVD drive reads a program or data from a DVD-ROM or the like and provides it to the storage device 1224. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.

[0070] ROM 1230 stores therein a boot program or the like executed by computer 1200 at activation, and / or a program that depends on the hardware of computer 1200. Input / output chip 1240 may also be connected to input / output controller 1220 via various input / output units such as a USB port, a parallel port, a serial port, a keyboard port, a mouse port, etc.

[0071] The program is provided by a computer-readable storage medium such as a DVD-ROM or an IC card. The program is read from the computer-readable storage medium, installed in storage device 1224, RAM 1214, or ROM 1230, which is also an example of a computer-readable storage medium, and executed by CPU 1212. The information processing described in these programs is read by computer 1200, resulting in the cooperation between the programs and the various types of hardware resources described above. The device or method may be configured by realizing the operation or processing of information according to the use of computer 1200.

[0072] For example, when communication is executed between computer 1200 and an external device, CPU 1212 may execute a communication program loaded in RAM 1214 and instruct communication interface 1222 to perform communication processing based on the processing described in the communication program. Communication interface 1222 reads the transmission data stored in the transmission buffer area provided in a recording medium such as RAM 1214, storage device 1224, DVD-ROM, or IC card under the control of CPU 1212, transmits the read transmission data to the network, or writes the received data received from the network to the reception buffer area provided on the recording medium, etc.

[0073] Further, the CPU 1212 may cause all or necessary portions of files or databases stored in an external recording medium such as the storage device 1224, a DVD drive (DVD-ROM), an IC card, etc. to be read into the RAM 1214, and may execute various types of processing on the data on the RAM 1214. Next, the CPU 1212 may write back the processed data to the external recording medium.

[0074] Various types of information such as various types of programs, data, tables, and databases may be stored in the recording medium and may undergo information processing. The CPU 1212 may perform various types of processing on the data read from the RAM 1214, including various types of operations, information processing, conditional judgment, conditional branch, unconditional branch, information search / replacement, etc. described throughout this disclosure and specified by the instruction sequence of the program, and write back the result to the RAM 1214. Also, the CPU 1212 may search for information in files, databases, etc. within the recording medium. For example, when a plurality of entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored in the recording medium, the CPU 1212 searches for an entry that matches the condition where the attribute value of the first attribute is specified among the plurality of entries, reads the attribute value of the second attribute stored in the entry, and thereby may obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.

[0075] The programs or software modules described above may be stored in a computer-readable storage medium on or near the computer 1200. Also, a recording medium such as a hard disk or RAM provided within a server system connected to a dedicated communication network or the Internet can be used as a computer-readable storage medium, thereby providing the program to the computer 1200 via the network.

[0076] In the flowchart and block diagram in this embodiment, a block may represent a stage of a process in which an operation is executed or a "part" of a device having a role of executing an operation. A specific stage and "part" may be implemented by a dedicated circuit, a programmable circuit supplied together with computer-readable instructions stored on a computer-readable storage medium, and / or a processor supplied together with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuit may include digital and / or analog hardware circuits, and may include an integrated circuit (IC) and / or discrete circuits. The programmable circuit may include, for example, a reconfigurable hardware circuit including logical products, logical sums, exclusive logical sums, negative logical products, negative logical sums, and other logical operations, flip-flops, registers, and memory elements, such as a field programmable gate array (FPGA) and a programmable logic array (PLA).

[0077] The computer-readable storage medium may include any tangible device capable of storing instructions executable by an appropriate device. As a result, a computer-readable storage medium having instructions stored therein will comprise a product including instructions that can be executed to create means for performing the operations specified in the flowchart or block diagram. Examples of the computer-readable storage medium may include an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, and the like. More specific examples of the computer-readable storage medium may include a floppy (registered trademark) disk, a diskette, a hard disk, a random access memory (RAM), a read only memory (ROM), an erasable programmable read only memory (EPROM or flash memory), an electrically erasable programmable read only memory (EEPROM), a static random access memory (SRAM), a compact disk read only memory (CD-ROM), a digital versatile disk (DVD), a Blu-ray (registered trademark) disk, a memory stick, an integrated circuit card, and the like.

[0078] Computer-readable instructions may include source code or object code written in any combination of one or more programming languages, including assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or object-oriented programming languages such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages such as the "C" programming language or similar programming languages.

[0079] The computer-readable instructions may be provided locally or via a wide area network (WAN) such as a local area network (LAN), the Internet, etc., to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, or a programmable circuit, for the processor of the general-purpose computer, the special-purpose computer, or other programmable data processing device, or the programmable circuit to execute the computer-readable instructions to generate means for performing the operations specified in a flowchart or block diagram. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.

[0080] As described above, the present invention has been described using embodiments, but the technical scope of the present invention is not limited to the scope described in the above embodiments. It is obvious to those skilled in the art that various changes or improvements can be made to the above embodiments. It is clear from the description of the claims that forms with such changes or improvements can also be included in the technical scope of the present invention.

[0081] In the claims, the specification, and the drawings, the execution order of each process such as operations, procedures, steps, and stages in the apparatus, system, program, and method shown is not explicitly indicated as "earlier" or "preceding" etc. in particular. It should be noted that, unless the output of the previous process is used in the subsequent process, it can be realized in any order. Regarding the operation flows in the claims, the specification, and the drawings, even if explanations are made using "first," "next," etc. for convenience, it does not mean that it is essential to implement in this order.

Explanation of Signs

[0082] 10 Avatar display system, 20 Network, 40 User, 100 Image processing device, 102 Imaging camera, 104 Depth camera, 112 Acquisition unit, 114 Overlay image generation unit, 116 Noise removal image generation unit, 118 Determination unit, 120 Avatar generation unit, 122 Display control unit, 200 Communication device, 202 Imaging camera, 204 Depth camera, 310 Depth information image, 312 Noise removal depth information image, 320 RGB image, 330 Overlay image, 340 Display image, 342 Avatar, 352 Region, 354 Portion, 1200 Computer, 1210 Host controller, 1212 CPU, 1214 RAM, 1216 Graphic controller, 1218 Display device, 1220 Input / output controller, 1222 Communication interface, 1224 Storage device, 1230 ROM, 1240 Input / output chip

Claims

1. An acquisition unit that acquires an RGB image and a depth information image generated by imaging a user; An overlapping image generation unit that generates an overlapping image by overlapping the RGB image and the depth information image; An avatar generation unit that generates an avatar of the user based on the overlapping image; A determination unit that calculates an average depth of a predetermined area of the user based on the overlapping image, and determines a portion where an object exists in front of the predetermined area of the user based on the average depth; A display control unit that controls to arrange and display the avatar in the predetermined area of the user in the RGB image, and displays a corresponding portion of the RGB image in an area where an object exists in front of the predetermined area of the user among the predetermined area of the user, and controls to display a corresponding portion of the avatar in an area where no object exists in front of the predetermined area of the user; An image processing apparatus comprising the above.

2. The avatar generation unit generates the avatar of the user's face based on the overlapping image, The determination unit calculates an average depth of the user's face, and determines a portion where an object exists in front of the user's face based on the average depth, The display control unit controls to display a corresponding portion of the RGB image in an area where an object exists in front of the user's face among the area of the user's face, and controls to display a corresponding portion of the avatar in an area where no object exists in front of the user's face. The image processing apparatus according to Claim 1.

3. The determination unit according to Claim 2 calculates an average depth of the entire face of the user.

4. The display control unit according to Claim 2 controls to display a portion of the user's hand in the RGB image at a portion where the user's hand is located in front of the user's face among the area of the user's face.

5. The display control unit according to any one of Claims 1 to 4 determines a portion where the depth is shallower than a predetermined threshold value by more than the average depth among the predetermined area of the user as a portion where an object exists in front of the predetermined area of the user. The image processing apparatus described.

6. When the display control unit determines that the user within the imaging range cannot be detected in a state where it controls to arrange and display the avatar on the face portion of the user in the RGB image, it controls to fixedly display the avatar that was being displayed immediately before the determination. The image processing apparatus according to any one of claims 2 to 4.

7. A program for causing a computer to function as the image processing apparatus according to any one of claims 1 to 4.

8. An image processing method executed by a computer, comprising: an acquisition step of acquiring an RGB image and a depth information image generated by imaging a user; a superimposed image generation step of generating a superimposed image by superimposing the RGB image and the depth information image; an avatar generation step of generating an avatar of the user based on the superimposed image; a determination step of calculating an average depth of a predetermined region of the user based on the superimposed image and determining, based on the average depth, a portion where an object exists in front of the predetermined region of the user; a display control unit that controls to arrange and display the avatar in the predetermined region of the user in the RGB image, and controls to display a corresponding portion of the RGB image in a region where an object exists in front of the predetermined region of the user, and display a corresponding portion of the avatar in a region where no object exists in front of the predetermined region of the user; a display control step An image processing method comprising the steps of:

Citation Information

Patent Citations

  • Real time 3D capture using monocular camera and method and system for live feedback

    JP2021192250A

  • Avatar display device, avatar generation device, and program

    JP2023094549A

  • Avatar display device, avatar generation device, and program

    WO2023119557A1