Image Processing Method and Device
20170352173 · 2017-12-07
Inventors
- Marja Salmimaa (Tampere, FI)
- Toni Järvenpää (Akaa, FI)
- Miikka Vilermo (Siuro, FI)
- Arto LEHTINIEMI (Lempäälä, FI)
Cpc classification
G06F3/04842
PHYSICS
G06F3/011
PHYSICS
G02B2027/0187
PHYSICS
International classification
Abstract
The invention relates to an imaging processing method comprising receiving (210) at least one input image, said at least one input image having been captured by at least one camera; receiving (220) at least one state parameter related to a user device, said user device comprising at least one display, said at least one display being at least partially transparent and operatively connected to said at least one camera. The at least one input image may be processed (230) based on the at least one received state parameter to produce at least one processed image. Alternatively or in addition, at least one image processing parameter indicative of the at least one received state parameter may be provided for processing (230) the at least one input image.
Claims
1-51. (canceled)
52. A method, comprising: receiving at least one input image, said at least one input image having been captured by at least one camera; receiving at least one state parameter related to a user device, said user device comprising at least one display, said at least one display being at least partially transparent and operatively connected to said at least one camera; and processing image data, said image data comprising one or both of the group of said at least one input image and embedded content, wherein said embedded content comprises information shown on said at least one display, based on the at least one received state parameter to produce at least one processed image.
53. The method according to claim 52, comprising: receiving a selection of a processing option from a user; and in response to receiving the selection, processing said image data based on the at least one received state parameter to produce at least one processed image.
54. The method according to claim 52, comprising: adjusting transparency of said image data, wherein said adjusting is carried out based on a received state parameter, said received state parameter being a see-through state of a display.
55. The method according to claim 52, comprising: adding tint to said image data, wherein said adding is carried out based on a received state parameter, said received state parameter being indicative of one or more from the group of: visor tint; and tint of a shutter of a display.
56. The method according to claim 52, comprising: adjusting brightness of said image data, wherein said adjusting is carried out based on a received state parameter, said received state parameter being indicative of ambient illumination.
57. The method according to claim 52, comprising: producing at least one tilted image of said image data, wherein said producing of the at least one tilted image is carried out based on a received state parameter, said received state parameter being indicative of at least one device orientation; and cropping the at least one tilted image or said image data, wherein said image processing parameter for cropping is formed based on a received state parameter, said received state parameter being a gaze direction.
58. The method according to claim 52, comprising: receiving a selection from a user; in response to receiving the selection, embedding content to the at least one input image; and processing the embedded content based on the at least one received state parameter.
59. A method, comprising: receiving at least one input image, said at least one input image having been captured by at least one camera; receiving at least one state parameter related to a user device, said user device comprising at least one display, said at least one display being at least partially transparent and operatively connected to said at least one camera; and providing at least one image processing parameter indicative of the at least one received state parameter for processing image data, said image data comprising one or both of the group of said at least one input image and embedded content, wherein said embedded content comprises information shown on said at least one display.
60. The method according to claim 59, comprising: receiving a selection of a processing option from a user; and in response to receiving the selection, providing an instruction for processing said image data based on the at least one provided image processing parameter to produce at least one processed image.
61. The method according to claim 59, comprising: forming an image processing parameter based on a received state parameter, said received state parameter being a see-through state of the display, for adjusting a transparency of said image data.
62. The method according to claim 59, comprising: forming an image processing parameter based on a received state parameter, said received state parameter being one or more from the group of: visor tint; and tint of a shutter of the display; said image processing parameter for adding tint to said image data.
63. The method according to claim 59, comprising: forming an image processing parameter based on a received state parameter, said received state parameter being indicative of ambient illumination, for adjusting brightness of said image data.
64. The method according to claim 59, comprising: forming an image processing parameter based on a received state parameter, said received state parameter being at least one device orientation, for producing at least one tilted image of said image data; forming an image processing parameter for cropping the at least one tilted image or said image data, wherein said image processing parameter for cropping is formed based on a received state parameter, said received state parameter being a gaze direction.
65. An apparatus comprising at least one processor and memory including computer program code, the memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following: receive at least one input image, said at least one input image having been captured by at least one camera; receive at least one state parameter related to a user device, said user device comprising at least one display, said at least one display being at least partially transparent and operatively connected to said at least one camera; and process image data, said image data comprising one or both of the group of said at least one input image and embedded content, wherein said embedded content comprises information shown on said at least one display, based on the at least one received state parameter to produce at least one processed image.
66. The apparatus according to claim 65, further comprising computer program code, which executed by said at least one processor, causes the apparatus to perform: receive a selection of a processing option from a user; and in response to receiving the selection, process said image data based on the at least one received state parameter to produce at least one processed image.
67. The apparatus according to claim 65, further comprising computer program code, which executed by said at least one processor, causes the apparatus to perform: adjust transparency of said image data, wherein said adjusting is carried out based on a received state parameter, said received state parameter being a see-through state of a display.
68. The apparatus according to claim 65, further comprising computer program code, which executed by said at least one processor, causes the apparatus to perform: add tint to said image data, wherein said adding is carried out based on a received state parameter, said received state parameter being indicative of one or more from the group of: visor tint; and tint of a shutter of a display.
69. The apparatus according to claim 65, further comprising computer program code, which executed by said at least one processor, causes the apparatus to perform: adjust brightness of said image data, wherein said adjusting is carried out based on a received state parameter, said received state parameter being indicative of ambient illumination.
70. The apparatus according to claim 65, further comprising computer program code, which executed by said at least one processor, causes the apparatus to perform: produce at least one tilted image of said image data, wherein said producing of the at least one tilted image is carried out based on a received state parameter, said received state parameter being indicative of at least one device orientation; and crop the at least one tilted image or said image data, wherein said cropping is performed based on a received state parameter, said received state parameter being a gaze direction.
71. The apparatus according to claim 65, further comprising computer program code, which executed by said at least one processor, causes the apparatus to perform: receive a selection from a user; in response to receiving the selection, embed content to the at least one input image; and process the embedded content based on the at least one received state parameter.
Description
DESCRIPTION OF THE DRAWINGS
[0007] In the following, various embodiments of the invention will be described in more detail with reference to the appended drawings, in which
[0008]
[0010]
[0012]
[0014]
[0015]
[0017]
DESCRIPTION OF EXAMPLES
[0018] In the following, several embodiments of the invention will be described in the context of near-to-eye displays with integrated imaging capabilities. It is to be noted, however, that the invention is not limited to such implementations. In fact, the different embodiments have applications in any environment where image processing is required, such as modifying image content based on prevailing conditions.
[0019] A near-to-eye display (NED) system as described here may comprise selective transmission of external light, e.g. an opacity filter or an environmental-light filter. Transparency of the NED with adjustable see-through capability may be changed e.g. according to the ambient illumination conditions, or the level of immersion the user prefers. Also, some coloring/tint may be created by a NED or NED's visor, or both the NED and the visor. These features have some implications on the visual experience of the user, e.g. how the user sees the color tones of the surroundings and the representations of the objects shown on the display.
[0020] NED integrated imaging sensors, or cameras used in collaboration with the NED, may capture the visual field of the NED user. It has been noticed here that, for example, the tint of the NED or/and the visor or changes in the NED shutter transparency do not affect the captured content. Furthermore, objects rendered on the display and visible to the user are not included in the captured content. Thus in some illumination conditions, and/or with different see-through settings, the captured content barely corresponds to the in situ visual experience. It has been noticed here that there is, therefore, a need for a solution that would provide a possibility to capture images corresponding to the real view through at least partially transparent display.
[0021]
[0022] There may be a number of servers connected to the network, and in the example of
[0023] There may also be a number of user devices such as head mounted display devices 116, mobile phones 126 and smart phones, Internet access devices 128, personal computers 117 of various sizes and formats, and cameras and video cameras 163. These devices 116, 117, 126 and 128 may also be made of multiple parts. The various devices may be connected to the networks 110 and 120 via communication connections such as a fixed connection to the internet 110, a wireless connection to the internet 110, a fixed connection to the mobile network 120, and a wireless connection to the mobile network 120. The connections are implemented by means of communication interfaces at the respective ends of the communication connection.
[0024] In this context, a user device may be understood to comprise functionality and to be accessible to a user such that the user can control its operation directly. For example, the user may be able to power the user device on and off. The user may also be able to move the device. In other words, the user device may be understood to be locally controllable by a user (a person other than an operator of a network), either directly by pushing buttons or otherwise physically touching the device, or by controlling the device over a local communication connection such as Ethernet, Bluetooth or WLAN.
[0025] As shown in
[0026]
[0027]
[0028] The system shown in
[0029] The device 116 may comprise a shutter unit for adjusting the transparency of the display 170. The device 116 may, for example, comprise a liquid crystal shutter 185 which may be configured to be switched on or off. In a switched-on state, a voltage is applied to a liquid crystal layer. This causes the liquid crystal shutter to become opaque, preventing light to traverse through the shutter 185. In a switched-off state, the liquid crystal shutter 185 is transparent, allowing the user of the device to see through the shutter 185. The transmittance of the shutter may be controlled by various methods. For example, the transmittance may be adjusted with a driving voltage applied to the shutter. When a high driving voltage is applied to the liquid crystals, the transmittance of liquid crystals increases. When a lower driving voltage is applied to the liquid crystals, the transmittance of liquid crystals decreases. Thus, it is possible to adjust the transparency of the display 170. Another way to adjust the transmittance of the shutter is to adjust a duty width of the driving voltage.
[0030] The device 116 may contain memory MEM 178, at least one processor PROC 176, 177, and computer program code PROGRAM 179 residing in the memory MEM 178 configured to, for example, process an input image captured by at least one camera 171, 172, 173. The user device may also comprise communication modules COMM1 174, COMM2 175 or communication functionalities for communicating with other devices.
[0031] The device 116 may comprise means for receiving at least one state parameter from the shutter 185 and/or from sensors 181, 182, 183, 184. In addition or alternatively, some or all of the state parameters may be calculated based on the shutter readings and/or the sensor readings.
[0032] In the following, some examples of image processing will be presented. For example, an image is captured using the camera 171. A user may make a selection of a processing option, i.e. the user may select if one wants to proceed with processing the image based on the state parameters that may be calculated based on the shutter readings and the sensor readings. As an output, a processed image may be obtained that may be shared for example in social media using a cell phone 126. The user may make a selection to share an original image. The user device 116 may have capabilities to share an image by, for example, connecting to an image sharing service on the internet.
[0033] As another example, a camera 173 integrated to a helmet may be used to capture an image. Next, the image may be received as an input image in the device 116 and processed based on the state parameters.
[0034] According to another example, an image may be captured using the camera 171 or 173. The image and the state parameters may be then provided by sending them to a receiving device, for example a cell phone 126. The image processing may be carried out in the receiving device. Yet another example may include a cloud formed, for example, of a server or a group of servers 112, 114, 115, 124, 125, in which cloud the image processing of the received input image may be carried out based on the received state parameters. The user may make a selection of a processing option i.e. the user may select if one wants to proceed with providing an instruction for the cloud or server(s) for processing the received input image based on the received state parameters.
[0035]
[0036]
[0037] Flowcharts in
[0038] A see-through state of a display may originate from a reading of the shutter. The driving voltage and the see-through state may be connected to each other. The dependence between the driving voltage and the see-through state may be, for example, linear, piecewise linear, polynomial, or follow a logistic function. The dependence between the driving voltage and the see-through state may be different for different wavelengths of light. When the driving voltage applied to the shutter is known, the see-through state of the shutter may be calculated. The electro-optical response of the shutter may be defined in the specification by a manufacturer of the shutter. Transparency of an image may be created by using various methods, for example alpha compositing. Processing the at least one input image may comprise adjusting transparency of the at least one input image, wherein the adjusting is carried out based on a received state parameter, the received state parameter being a see-through state of a display.
[0039] A parameter may be received that is indicative of the tint or color of the shutter of a display and/or a visor. The tint of the shutter and/or a visor may be defined in the specifications of the components by the manufacturer and may be written into a memory on the device for example at manufacturing state or later. The tint of the shutter and/or the visor may change in response to the driving voltage. The driving voltage may be automatically adjusted based on the ambient illumination measured, for example, by ambient light sensors. When the electro-optic response of the shutter and/or visor is known, the tint of the shutter and/or visor may be defined based on the electro-optic response. The tint may be added by using various methods, for example alpha blending. Processing the at least one input image may comprise adding tint to the at least one input image, wherein the adding is carried out based on a received state parameter, the received state parameter being indicative of the visor tint and/or the tint of a shutter of a display.
[0040] The sensor readings may originate from, for example, ambient light sensors (ALSs). ALSs measure the amount of light in their environment. In smart phones, for examples, they allow for automatic dimming of a backlight of a display, when the light in the environment is sufficient for human eye. In the context of the NEDs, the measurements conducted using ALSs may be used for adjusting the transparency of the shutter or for adjusting brightness of the input image. Processing the at least one input image may comprise adjusting brightness of the at least one input image, wherein the adjusting is carried out based on a received state parameter, the received state parameter being indicative of ambient illumination.
[0041] Nine degrees of freedom (9DOF) sensors may include a 3-axis accelerometer, a 3-axis gyroscope, and a 3-axis magnetometer. 9DOF sensors may provide information on the user device 116 orientation at the moment an image is captured with the camera 171 in the user device 116. With this information, an image may be rotated or tilted to produce a straightened image of a crooked image.
[0042] For example, if a user wearing the user device 116 is keeping one's head in 45 degrees angle when capturing an image with camera 171, a horizon in the image may not be aligned correctly. In this case, the user may select the image to be tilted 45 degrees to produce an image where the horizon is straight in respect to the horizontal edge of the image. If the user makes a selection that the horizon is to be as originally captured and the camera 171 is integrated to the user device 116, no extra processing of the captured image is needed. If the user selects the horizon to be level with the edge and the camera is in a separate device, for example in the cell phone 126 or the video camera 163, the image may be tilted according to a 9DOF sensor in the separate device. If the user selects the horizon to be as originally captured and the camera is in a separate device the 9DOF tilt information from the user device 116 is subtracted from the 9DOF tilt information from the separate device. The difference in the tilt information may be used to tilt the captured image. It is possible to produce at least one tilted image of the at least one input image wherein the producing is carried out based on a received state parameter, the received state parameter being indicative of at least one user device orientation.
[0043] The tilted image may be cropped.
[0044]
[0045] In the images shown in
[0046]
[0047] An input image 410 may be captured by a camera. Then, the input image 410 may be processed using basic operations 420. These basic operations 420 may comprise, for example, white balance adjustment, gamma correction, color space correction, noise reduction, and geometrical distortion correction. A resulting image after basic operations 420 is an original image 414. The user may select the original image 414 to be the output 416.
[0048] The user may select the information shown on the display 430 to be superimposed to the original image 414 to achieve an original image with embedded content 424. The user may select the original image with embedded content to be the output 426.
[0049] The user may select the original image with embedded content 424 to be processed based on the received state parameters 432 to achieve an original image with adjusted embedded content 434. The user may select the original image with adjusted embedded content to be the output 436.
[0050] After processing the input image 410 using basic operations 420, the user may select to proceed with image processing based on the received state parameters 442. As a result, an adjusted image 444 is produced. The user may select the adjusted image 444 to be the output 446.
[0051] Alternatively, the user may select the information shown on the display 430 to be superimposed to the adjusted image 444 to achieve an adjusted image with embedded content 454. The user may select the adjusted image with embedded content to be the output 456.
[0052] The user may select the adjusted image with embedded content 454 to be processed based on the received state parameters 462. As a result, an adjusted image with adjusted embedded content 464 is produced. The user may select the adjusted image with adjusted embedded content 464 to be the output 466.
[0053] The user may select to have as an output the input image 410 with a header containing, for example, the image processing parameters indicative of the at least one received state parameter. The header may also contain the information shown on the display 430 to be embedded to the input image 410. Header generation may comprise calculation of the at least one image processing parameter indicative of the at least one received state parameter for processing the at least one input image 410. Header may also contain contextual data, such as date, time and location. The user may select the input image 410 with a header to be the output 450.
[0054]
[0055]
[0056] Image processing parameters 640 are obtained or calculated from the state parameters and may include, for example, transparency, tint, brightness, device orientation, or gaze direction.
[0057] Image data 650 may be a raw image file usually containing minimally processed data from the image sensors. Alternatively image data 650 may contain coded image data or video data in various formats, for example, JPG, TIF, PNG, GIF, mp4, 3g2, avi, or mpeg. In addition, image data 650 may include the information shown on the display which may be embedded into the image. The various examples described above may be applicable to video technology. In this case, there will be requisites for video coding and decoding.
[0058] The various examples described above may provide advantages. Captured images may be processed in a way that authentic user experience is saved in form of an image. The method provides a new way to capture images and share them. An access to the original captured image (only surroundings) may be available to the user in case reproducing augmented information using the information shown on the display is not preferred by the user.
[0059] The various examples described above may be implemented with the help of computer program code that resides in a memory and causes the relevant apparatuses to carry out the invention. For example, a device may comprise circuitry and electronics for handling, receiving and transmitting data, computer program code in a memory, and a processor that, when running the computer program code, causes the device to carry out the features of an embodiment. Yet further, a network device like a server may comprise circuitry and electronics for handling, receiving and transmitting data, computer program code in a memory, and a processor that, when running the computer program code, causes the network device to carry out the features of an embodiment.
[0060] It is obvious that the present invention is not limited solely to the above-presented embodiments, but it can be modified within the scope of the appended claims.