The present invention relates to an image processing apparatus, an image processing system, an image capturing system, an image processing method, and a recording medium.
The wide-angle image, taken with a wide-angle lens, is useful in capturing such as landscape, as the image tends to cover large areas. For example, there is an image capturing system, which captures a wide-angle image of a target object and its surroundings, and an enlarged image of the target object. The wide-angle image is combined with the enlarged image such that, even when a part of the wide-angle image showing the target object is enlarged, that part embedded with the enlarged image is displayed in high resolution (See PTL1).
On the other hand, a digital camera that captures two hemispherical images from which a 360-degree, spherical image is generated, has been proposed (See PTL 2). Such digital camera generates an equirectangular projection image based on two hemispherical images, and transmits the equirectangular projection image to a communication terminal, such as a smart phone, for display to a user.
The inventors of the present invention have realized that, the spherical image of a target object and its surroundings, can be combined with such as a planar image of the target object, in a similar manner as described above. However, if the spherical image is to be displayed with the planar image of the target object, brightness or color of these images may differ from each other. Accordingly, the planar image stands out from the spherical image.
In view of this, the inventors of the present invention have thought about correcting brightness of the planar image to correct image data that differ in exposure using any desired known method (See PTL3). However, since the spherical image tends to suffer from overexposure or underexposure as it covers wider area, if the planar image P is to be simply corrected to match brightness or color of the spherical image CE, such correction may not be desirable.
Example embodiments of the present invention include an image processing apparatus including: an obtainer to obtain a first image and a second image; a display control to control a display to display an image of a predetermined area of the first image, the first image being superimposed with the second image; and a correction unit to correct at least one of brightness and color of the second image according to a ratio of an area of the second image in the predetermined area with respect to the predetermined area of the first image.
Example embodiments of the present invention include an image processing apparatus including: an obtainer to obtain a first image and a second image; a display control to control a display to display an image of a predetermined area of the first image, the first image being superimposed with the second image; and a correction unit to correct at least one of brightness and color of at least one of the first image and the second image, according to a difference between a line of sight direction in the first image and a central point of the second image.
Example embodiments of the present invention include an image capturing system including the image processing apparatus, an image processing system, an image processing method, and a recording medium.
According to one or more embodiments of the present invention, even when one image is superimposed on other image that are different in brightness or color, the difference in brightness or color between these images is adequacy lowered.
The accompanying drawings are intended to depict example embodiments of the present invention and should not be interpreted to limit the scope thereof. The accompanying drawings are not to be considered as drawn to scale unless explicitly noted. Also, identical or similar reference numerals designate identical or similar components throughout the several views.
In describing embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the disclosure of this specification is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that have a similar function, operate in a similar manner, and achieve a similar result.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
In this disclosure, a first image is an image superimposed with a second image, and a second image is an image to be superimposed on the first image. For example, the first image is an image covering an area larger than that of the second image. In another example, the first image and the second image are images expressed in different projections. In another example, the second image is an image with image quality higher than that of the first image, for example, in terms of image resolution. Examples of the first image include a spherical image, an equirectangular projection image, and a low-definition image. Examples of the second image include a planar image, a perspective projection image, and a high-definition image.
Further, in this disclosure, the spherical image does not have to be the full-view spherical image. For example, the spherical image may be the wide-angle view image having an angle of about 180 to 360 degrees in the horizontal direction. As described below, it is desirable that the spherical image is image data having at least a part that is not entirely displayed in the predetermined area T.
Referring to the drawings, embodiments of the present invention are described below.
First, referring to
First, referring to
As illustrated in
As illustrated in
Next, referring to
Next, referring to
As illustrated in
The equirectangular projection image is mapped on the sphere surface using Open Graphics Library for Embedded Systems (OpenGL ES) as illustrated in
Since the spherical image CE is an image attached to the sphere surface, as illustrated in
The predetermined-area image Q, which is an image of the predetermined area T illustrated in
Referring to
L/f=tan(α/2) (Equation 1)
Referring to
<Overview of Image Capturing System>
First, referring to
As illustrated in
The special image capturing device 1 is a special digital camera, which captures an image of an object or surroundings such as scenery to obtain two hemispherical images, from which a spherical (such as panoramic) image is generated, as described above referring to
The generic image capturing device 3 is a digital single-lens reflex camera, however, it may be implemented as a compact digital camera. The generic image capturing device 3 is provided with a shutter button 315a, which is a part of an operation unit 315 described below.
The smart phone 5 is wirelessly communicable with the special image capturing device 1 and the generic image capturing device 3 using near-distance wireless communication, such as Wi-Fi, Bluetooth (Registered Trademark), and Near Field Communication (NFC). The smart phone 5 is capable of displaying the images obtained respectively from the special image capturing device 1 and the generic image capturing device 3, on a display 517 provided for the smart phone 5 as described below.
The smart phone 5 may communicate with the special image capturing device 1 and the generic image capturing device 3, without using the near-distance wireless communication, but using wired communication such as a cable. The smart phone 5 is an example of an image processing apparatus capable of processing images being captured. Other examples of the image processing apparatus include, but not limited to, a tablet personal computer (PC), a note PC, and a desktop PC. The smart phone 5 may operate as a communication terminal described below.
Next, referring to
<Hardware Configuration of Special Image Capturing Device>
First, referring to
As illustrated in
The imaging unit 101 includes two wide-angle lenses (so-called fish-eye lenses) 102a and 102b, each having an angle of view of equal to or greater than 180 degrees so as to form a hemispherical image. The imaging unit 101 further includes the two imaging elements 103a and 103b corresponding to the wide-angle lenses 102a and 102b respectively. The imaging elements 103a and 103b each includes an imaging sensor such as a complementary metal oxide semiconductor (CMOS) sensor and a charge-coupled device (CCD) sensor, a timing generation circuit, and a group of registers. The imaging sensor converts an optical image formed by the wide-angle lenses 102a and 102b into electric signals to output image data. The timing generation circuit generates horizontal or vertical synchronization signals, pixel clocks and the like for the imaging sensor. Various commands, parameters and the like for operations of the imaging elements 103a and 103b are set in the group of registers.
Each of the imaging elements 103a and 103b of the imaging unit 101 is connected to the image processor 104 via a parallel I/F bus. In addition, each of the imaging elements 103a and 103b of the imaging unit 101 is connected to the imaging controller 105 via a serial I/F bus such as an I2C bus. The image processor 104, the imaging controller 105, and the audio processor 109 are each connected to the CPU 111 via a bus 110. Furthermore, the ROM 112, the SRAM 113, the DRAM 114, the operation unit 115, the network I/F 116, the communication circuit 117, and the electronic compass 118 are also connected to the bus 110.
The image processor 104 acquires image data from each of the imaging elements 103a and 103b via the parallel I/F bus and performs predetermined processing on each image data. Thereafter, the image processor 104 combines these image data to generate data of the equirectangular projection image as illustrated in
The imaging controller 105 usually functions as a master device while the imaging elements 103a and 103b each usually functions as a slave device. The imaging controller 105 sets commands and the like in the group of registers of the imaging elements 103a and 103b via the serial I/F bus such as the I2C bus. The imaging controller 105 receives various commands from the CPU 111. Further, the imaging controller 105 acquires status data and the like of the group of registers of the imaging elements 103a and 103b via the serial I/F bus such as the I2C bus. The imaging controller 105 sends the acquired status data and the like to the CPU 111.
The imaging controller 105 instructs the imaging elements 103a and 103b to output the image data at a time when the shutter button 115a of the operation unit 115 is pressed. In some cases, the special image capturing device 1 is capable of displaying a preview image on a display (e.g., the display of the smart phone 5) or displaying a moving image (movie). In case of displaying movie, the image data are continuously output from the imaging elements 103a and 103b at a predetermined frame rate (frames per minute).
Furthermore, the imaging controller 105 operates in cooperation with the CPU 111 to synchronize the time when the imaging element 103a outputs image data and the time when the imaging element 103b outputs the image data. It should be noted that, although the special image capturing device 1 does not include a display in this embodiment, the special image capturing device 1 may include the display.
The microphone 108 converts sounds to audio data (signal). The audio processor 109 acquires the audio data output from the microphone 108 via an I/F bus and performs predetermined processing on the audio data.
The CPU 111 controls entire operation of the special image capturing device 1, for example, by performing predetermined processing. The ROM 112 stores various programs for execution by the CPU 111. The SRAM 113 and the DRAM 114 each operates as a work memory to store programs loaded from the ROM 112 for execution by the CPU 111 or data in current processing. More specifically, in one example, the DRAM 114 stores image data currently processed by the image processor 104 and data of the equirectangular projection image on which processing has been performed.
The operation unit 115 collectively refers to various operation keys, such as the shutter button 115a. In addition to the hardware keys, the operation unit 115 may also include a touch panel. The user operates the operation unit 115 to input various image capturing (photographing) modes or image capturing (photographing) conditions.
The network I/F 116 collectively refers to an interface circuit such as a USB I/F that allows the special image capturing device 1 to communicate data with an external medium such as an SD card or an external personal computer. The network I/F 116 supports at least one of wired and wireless communications. The data of the equirectangular projection image, which is stored in the DRAM 114, is stored in the external medium via the network I/F 116 or transmitted to the external device such as the smart phone 5 via the network I/F 116, at any desired time.
The communication circuit 117 communicates data with the external device such as the smart phone 5 via the antenna 117a of the special image capturing device 1 by near-distance wireless communication such as Wi-Fi, NFC, and Bluetooth. The communication circuit 117 is also capable of transmitting the data of equirectangular projection image to the external device such as the smart phone 5.
The electronic compass 118 calculates an orientation of the special image capturing device 1 from the Earth's magnetism to output orientation information. This orientation information is an example of related information, which is metadata described in compliance with Exif. This information is used for image processing such as image correction of captured images. The related information also includes a date and time when the image is captured by the special image capturing device 1, and a size of the image data.
The gyro sensor 119 detects the change in tilt of the special image capturing device 1 (roll, pitch, yaw) with movement of the special image capturing device 1. The change in angle is one example of related information (metadata) described in compliance with Exif. This information is used for image processing such as image correction of captured images.
The acceleration sensor 120 detects acceleration in three axial directions. The position (an angle with respect to the direction of gravity) of the special image capturing device 1 is determined, based on the detected acceleration. With the gyro sensor 119 and the acceleration sensor 120, accuracy in image correction improves.
The Micro USB terminal 121 is a connector to be connected with such as a Micro USB cable, or other electronic device.
<Hardware Configuration of Generic Image Capturing Device>
Next, referring to
The elements 304, 310, 311, 312, 313, 314, 315, 316, 317, 317a, and 318 of the generic image capturing device 3 are substantially similar in structure and function to the elements 104, 110, 111, 112, 113, 114, 115, 116, 117, 117a, and 118 of the special image capturing device 1, such that the description thereof is omitted.
Further, as illustrated in
The imaging controller 305 is substantially similar in structure and function to the imaging controller 105. The imaging controller 305 further controls operation of the lens unit 306 and the mechanical shutter button 307, according to user operation input through the operation unit 315.
The display 319 is capable of displaying an operational menu, an image being captured, or an image that has been captured, etc.
<Hardware Configuration of Smart Phone>
Referring to
The CPU 501 controls entire operation of the smart phone 5. The ROM 502 stores a control program for controlling the CPU 501 such as an IPL. The RAM 503 is used as a work area for the CPU 501. The EEPROM 504 reads or writes various data such as a control program for the smart phone 5 under control of the CPU 501. The CMOS sensor 505 captures an object (for example, the user operating the smart phone 5) under control of the CPU 501 to obtain captured image data. The imaging element 1/F 513a is a circuit that controls driving of the CMOS sensor 512. The acceleration and orientation sensor 506 includes various sensors such as an electromagnetic compass for detecting geomagnetism, a gyrocompass, and an acceleration sensor. The medium I/F 508 controls reading or writing of data with respect to a recording medium 507 such as a flash memory. The GPS receiver 509 receives a GPS signal from a GPS satellite.
The smart phone 5 further includes a far-distance communication circuit 511, an antenna 511a for the far-distance communication circuit 511, a CMOS sensor 512, an imaging element I/F 513b, a microphone 514, a speaker 515, an audio input/output I/F 516, a display 517, an external device connection I/F 518, a near-distance communication circuit 519, an antenna 519a for the near-distance communication circuit 519, and a touch panel 521.
The far-distance communication circuit 511 is a circuit that communicates with other device through the communication network 100. The CMOS sensor 512 is an example of a built-in imaging device capable of capturing a subject under control of the CPU 501. The imaging element 1/F 513b is a circuit that controls driving of the CMOS sensor 512. The microphone 514 is an example of built-in audio collecting device capable of inputting audio under control of the CPU 501. The audio I/O I/F 516 is a circuit for inputting or outputting an audio signal between the microphone 514 and the speaker 515 under control of the CPU 501. The display 517 may be a liquid crystal or organic electro luminescence (EL) display that displays an image of a subject, an operation icon, or the like. The external device connection I/F 518 is an interface circuit that connects the smart phone 5 to various external devices. The near-distance communication circuit 519 is a communication circuit that communicates in compliance with the Wi-Fi, NFC, Bluetooth, and the like. The touch panel 521 is an example of input device that enables the user to input a user instruction through touching a screen of the display 517.
The smart phone 5 further includes a bus line 510. Examples of the bus line 510 include an address bus and a data bus, which electrically connects the elements such as the CPU 501.
It should be noted that a recording medium such as a CD-ROM or HD storing any of the above-described programs may be distributed domestically or overseas as a program product.
<Functional Configuration of Image Capturing System>
Referring now to
<Functional Configuration of Special Image Capturing Device>
Referring to
The special image capturing device 1 further includes a memory 1000, which is implemented by the ROM 112, the SRAM 113, and the DRAM 114 illustrated in
Still referring to
The acceptance unit 12 of the special image capturing device 1 is implemented by the operation unit 115 illustrated in
The image capturing unit 13 is implemented by the imaging unit 101, the image processor 104, and the imaging controller 105, illustrated in
The audio collection unit 14 is implemented by the microphone 108 and the audio processor 109 illustrated in
The image and audio processing unit 15 is implemented by the instructions of the CPU 111, illustrated in
The determiner 17, which is implemented by instructions of the CPU 111, performs various determinations.
The near-distance communication unit 18, which is implemented by instructions of the CPU 111, and the communication circuit 117 with the antenna 117a, communicates data with a near-distance communication unit 58 of the smart phone 5 using the near-distance wireless communication in compliance with such as Wi-Fi.
The storing and reading unit 19, which is implemented by instructions of the CPU 111 illustrated in
<Functional Configuration of Generic Image Capturing Device>
Next, referring to
The generic image capturing device 3 further includes a memory 3000, which is implemented by the ROM 312, the SRAM 313, and the DRAM 314 illustrated in
The acceptance unit 32 of the generic image capturing device 3 is implemented by the operation unit 315 illustrated in
The image capturing unit 33 is implemented by the imaging unit 301, the image processor 304, and the imaging controller 305, illustrated in
The audio collection unit 34 is implemented by the microphone 308 and the audio processor 309 illustrated in
The image and audio processing unit 35 is implemented by the instructions of the CPU 311, illustrated in
The display control 36, which is implemented by the instructions of the CPU 311 illustrated in
The determiner 37, which is implemented by instructions of the CPU 311, performs various determinations. For example, the determiner 37 determines whether the shutter button 315a has been pressed by the user.
The near-distance communication unit 38, which is implemented by instructions of the CPU 311, and the communication circuit 317 with the antenna 317a, communicates data with the near-distance communication unit 58 of the smart phone 5 using the near-distance wireless communication in compliance with such as Wi-Fi.
The storing and reading unit 39, which is implemented by instructions of the CPU 311 illustrated in
<Functional Configuration of Smart Phone>
Referring now to
The smart phone 5 further includes a memory 5000, which is implemented by the ROM 502, RAM 503 and EEPROM 504 illustrated in
Referring now to
The far-distance communication unit 51 of the smart phone 5 is implemented by the far-distance communication circuit 511 that operates under control of the CPU 501, illustrated in
The acceptance unit 52 is implement by the touch panel 521, which operates under control of the CPU 501, to receive various selections or inputs from the user. While the touch panel 521 is provided separately from the display 517 in
The image capturing unit 53 is implemented by the CMOS sensors 505 and 512, which operate under control of the CPU 501, illustrated in
In this example, the captured image data is planar image data, captured with a perspective projection method.
The audio collection unit 54 is implemented by the microphone 514 that operates under control of the CPU 501. The audio collecting unit 14a collects sounds around the smart phone 5.
The image and audio processing unit 55 is implemented by the instructions of the CPU 501, illustrated in
The display control 56, which is implemented by the instructions of the CPU 501 illustrated in
In this example, the location parameter is one example of location information. The correction parameter is one example of correction information.
The determiner 57 is implemented by the instructions of the CPU 501, illustrated in
The near-distance communication unit 58, which is implemented by instructions of the CPU 501, and the near-distance communication circuit 519 with the antenna 519a, communicates data with the near-distance communication unit 18 of the special image capturing device 1, and the near-distance communication unit 38 of the generic image capturing device 3, using the near-distance wireless communication in compliance with such as Wi-Fi.
The storing and reading unit 59, which is implemented by instructions of the CPU 501 illustrated in
Referring to
The image and audio processing unit 55 mainly includes a metadata generator 55a that performs encoding, and a superimposing unit 55b that performs decoding. In this example, the encoding corresponds to processing to generate metadata to be used for superimposing images for display (“superimposed display metadata”). Further, in this example, the decoding corresponds to processing to generate images for display using the superimposed display metadata. The metadata generator 55a performs processing of S22, which is processing to generate superimposed display metadata, as illustrated in
First, a functional configuration of the metadata generator 55a is described according to the embodiment. The metadata generator 55a includes an extractor 550, a first area calculator 552, a point of gaze specifier 554, a projection converter 556, a second area calculator 558, an area divider 560, a projection reverse converter 562, a shape converter 564, a correction parameter generator 566, and a superimposed display metadata generator 570. In case the brightness and color is not to be corrected, the shape converter 564 and the correction parameter generator 566 do not have to be provided.
The extractor 550 extracts feature points according to local features of each of two images having the same object. The feature points are distinctive keypoints in both images. The local features correspond to a pattern or structure detected in the image such as an edge or blob. In this embodiment, the extractor 550 extracts the features points for each of two images that are different from each other. These two images to be processed by the extractor 550 may be the images that have been generated using different image projection methods. Unless the difference in projection methods cause highly distorted images, any desired image projection methods may be used. For example, referring to
The first area calculator 552 calculates the feature value fv1 based on the plurality of feature points fp1 in the equirectangular projection image EC. The first area calculator 552 further calculates the feature value fv2 based on the plurality of feature points fp2 in the planar image P. The feature values, or feature points, may be detected in any desired method. However, it is desirable that feature values, or feature points, are invariant or robust to changes in scale or image rotation. The first area calculator 552 specifies corresponding points between the images, based on similarity between the feature value fv1 of the feature points fp1 in the equirectangular projection image EC, and the feature value fv2 of the feature points fp2 in the planar image P. Based on the corresponding points between the images, the first area calculator 552 calculates the homography for transformation between the equirectangular projection image EC and the planar image P. The first area calculator 552 then applies first homography transformation to the planar image P (S120). Accordingly, the first area calculator 552 obtains a first corresponding area CA1 (“first area CA1”), in the equirectangular projection image EC, which corresponds to the planar image P. In such case, a central point CP1 of a rectangle defined by four vertices of the planar image P, is converted to the point of gaze GP1 in the equirectangular projection image EC, by the first homography transformation.
Here, the coordinates of four vertices p1, p2, p3, and p4 of the planar image P are p1=(x1, y1), p2=(x2, y2), p3=(x3, y3), and p4=(x4, y4). The first area calculator 552 calculates the central point CP1 (x, y) using the equation 2 below.
S1={(x4−x2)*(y1−y2)−(y4−y2)*(x1−x2)}/2, S2={(x4−x2)*(y2−y3)−(y4-y2)*(x2−x3)}/2, x=x1+(x3−x1)*S1/(S1+S2), y=y1+(y3−y1)*S1/(S1+S2) (Equation 2)
While the planar image P is a rectangle in the case of
x=(x1+x3)/2, y=(y1+y3)/2 (Equation 3)
The point of gaze specifier 554 specifies the point (referred to as the point of gaze) in the equirectangular projection image EC, which corresponds to the central point CP1 of the planar image P after the first homography transformation (S130).
Here, the point of gaze GP1 is expressed as a coordinate on the equirectangular projection image EC. The coordinate of the point of gaze GP1 may be transformed to the latitude and longitude. Specifically, a coordinate in the vertical direction of the equirectangular projection image EC is expressed as a latitude in the range of −90 degree (−0.5π) to +90 degree (+0.5π). Further, a coordinate in the horizontal direction of the equirectangular projection image EC is expressed as a longitude in the range of −180 degree (−π) to +180 degree (+π). With this transformation, the coordinate of each pixel, according to the image size of the equirectangular projection image EC, can be calculated from the latitude and longitude system.
The projection converter 556 extracts a peripheral area PA, which is a part surrounding the point of gaze GP1, from the equirectangular projection image EC. The projection converter 556 converts the peripheral area PA, from the equirectangular projection to the perspective projection, to generate a peripheral area image PI (S140). The peripheral area PA is determined, such that, after projection transformation, the square-shaped, peripheral area image PI has a vertical angle of view (or a horizontal angle of view), which is the same as the diagonal angle of view α of the planar image P. Here, the central point CP2 of the peripheral area image PI corresponds to the point of gaze GP 1.
(Transformation of Projection)
The following describes transformation of a projection, performed at S140 of
(x,y,z)=(cos(ea)×cos(aa), cos(ea)×sin(aa), sin(ea)), (Equation 4)
wherein the sphere CS has a radius of 1.
The planar image P in perspective projection, is a two-dimensional image. When the planar image P is represented by the two-dimensional polar coordinate system (moving radius, argument)=(r, a), the moving radius r, which corresponds to the diagonal angle of view α, has a value in the range from 0 to tan (diagonal angle view/2). That is, 0<=r<=tan(diagonal angle view/2). The planar image P, which is represented by the two-dimensional rectangular coordinate system (u, v), can be expressed using the polar coordinate system (moving radius, argument)=(r, a) using the following transformation equation 5.
u=r×cos(a),v=r×sin(a) (Equation 5)
The equation 5 is represented by the three-dimensional coordinate system (moving radius, polar angle, azimuth). For the surface of the sphere CS, the moving radius in the three-dimensional coordinate system is “1”. The equirectangular projection image, which covers the surface of the sphere CS, is converted from the equirectangular projection to the perspective projection, using the following equations 6 and 7. Here, the equirectangular projection image is represented by the above-described two-dimensional polar coordinate system (moving radius, azimuth)=(r, a), and the virtual camera IC is located at the center of the sphere.
r=tan(polar angle) (Equation 6)
a=azimuth Assuming that the polar angle is t, (Equation 7)
Equation 6 can be expressed as: t=arctan(r).
Accordingly, the three-dimensional polar coordinate (moving radius, polar angle, azimuth) is expressed as (1,arctan(r),a).
The three-dimensional polar coordinate system is transformed into the rectangle coordinate system (x, y, z), using Equation 8.
(x,y,z)=(sin(t)×cos(a), sin(t)×sin(a), cos(t)) (Equation 8)
Equation 8 is applied to convert between the equirectangular projection image EC in equirectangular projection, and the planar image P in perspective projection. More specifically, the moving radius r, which corresponds to the diagonal angle of view α of the planar image P, is used to calculate transformation map coordinates, which indicate correspondence of a location of each pixel between the planar image P and the equirectangular projection image EC. With this transformation map coordinates, the equirectangular projection image EC is transformed to generate the peripheral area image PI in perspective projection.
Through the above-described projection transformation, the coordinate (latitude=90°, longitude=0°) in the equirectangular projection image EC becomes the central point CP2 in the peripheral area image PI in perspective projection. In case of applying projection transformation to an arbitrary point in the equirectangular projection image EC as the point of gaze, the sphere CS covered with the equirectangular projection image EC is rotated such that the coordinate (latitude, longitude) of the point of gaze is positioned at (90°, 0°).
The sphere CS may be rotated using any known equation for rotating the coordinate.
(Determination of Peripheral Area Image)
Next, referring to
To enable the first area calculator 552 to determine correspondence between the planar image P and the peripheral area image PI, it is desirable that the peripheral area image PI is sufficiently large to include the entire second area CA2. If the peripheral area image PI has a large size, the second area CA2 is included in such large-size area image. With the large-size peripheral area image PI, however, the time required for processing increases as there are a large number of pixels subject to similarity calculation. For this reasons, the peripheral area image PI should be a minimum-size image area including at least the entire second area CA2. In this embodiment, the peripheral area image PI is determined as follows.
More specifically, the peripheral area image PI is determined using the 35 mm equivalent focal length of the planar image, which is obtained from the Exif data recorded when the image is captured. Since the 35 mm equivalent focal length is a focal length corresponding to the 24 mm×36 mm film size, it can be calculated from the diagonal and the focal length of the 24 mm×36 mm film, using Equations 9 and 10.
film diagonal=sqrt(24*24+36*36) (Equation 9)
angle of view of the image to be combined/2=arctan((film diagonal/2)/35 mm equivalent focal length of the image to be combined) (Equation 10)
The image with this angle of view has a circular shape. Since the actual imaging element (film) has a rectangular shape, the image taken with the imaging element is a rectangle that is inscribed in such circle. In this embodiment, the peripheral area image PI is determined such that, a vertical angle of view α of the peripheral area image PI is made equal to a diagonal angle of view α of the planar image P. That is, the peripheral area image PI illustrated in
angle of view of square=sqrt(film diagonal*film diagonal+film diagonal*film diagonal) (Equation 11)
vertical angle of view α/2=arctan((angle of view of square/2)/35 mm equivalent focal length of planar image)) (Equation 12)
The calculated vertical angle of view α is used to obtain the peripheral area image PI in perspective projection, through projection transformation. The obtained peripheral area image PI at least contains an image having the diagonal angle of view α of the planar image P while centering on the point of gaze, but has the vertical angle of view α that is kept small as possible.
(Calculation of Location Information)
Referring back to
In the above-described transformation, in order to increase the calculation speed, an image size of at least one of the planar image P and the equirectangular projection image EC may be changed, before applying the first homography transformation. For example, assuming that the planar image P has 40 million pixels, and the equirectangular projection image EC has 30 million pixels, the planar image P may be reduced in size to 30 million pixels. Alternatively, both of the planar image P and the equirectangular projection image EC may be reduced in size to 10 million pixels. Similarly, an image size of at least one of the planar image P and the peripheral area image PI may be changed, before applying the second homography transformation.
The homography in this embodiment is a transformation matrix indicating the projection relation between the equirectangular projection image EC and the planar image P. The coordinate system for the planar image P is multiplied by the homography transformation matrix to convert into a corresponding coordinate system for the equirectangular projection image EC (spherical image CE).
The area divider 560 divides a part of the image into a plurality of grid areas. Referring to
As illustrated in
Next, dividing the second area CA2 into the plurality of grid areas LA2 is explained in detail.
The second area CA2 is equally divided using the following equation. Assuming that a line connecting two points, A(X1, Y1) and B(X2, Y2), is to be equally divided into “n” coordinates, the coordinate of a point Pm that is the “m”th point counted from the point A is calculated using the equation 13.
Pm=(X1+(X2−X1)×m/n, Y1+(Y2−Y1)×m/n) (Equation 13)
With Equation 13, the line can be equally divided into a plurality of coordinates. The upper line and the lower line of the rectangle are each divided into a plurality of coordinates, to generate a plurality of lines connecting corresponding coordinates of the upper line and the lower line. The generated lines are each divided into a plurality of coordinates, to further generate a plurality of lines. Here, coordinates of points (vertices) of the upper left, upper right, lower right, and lower left of the rectangle are respectively represented by TL, TR, BR, and BL. The line connecting TL and TR, and the line connecting BR and BL are each equally divided into 30 coordinates (0 to 30th coordinates). Next, each of the lines connecting corresponding 0 to 30th coordinates of the TL-TR line and the BR-BL line, is equally divided into 20 coordinates. Accordingly, the rectangular area is divided into 30×20, sub-areas.
Referring back to
As described above, the location parameter is generated, which is used to calculate the correspondence of each pixel between the equirectangular projection image EC and the planar image P.
Although the planar image P is superimposed on the equirectangular projection image EC at a right location with the location parameter, these image EC and image P may vary in brightness or color (such as tone), causing an unnatural look. The shape converter 564 and the correction parameter generator 566 are provided to avoid this unnatural look, even when these images that differ in brightness and color, are partly superimposed one above the other.
Before applying color correction, the shape converter 564 converts the second area CA2 to have a shape that is the same as the shape of the planar image P. To made the shape equal, the shape converter 564 maps four vertices of the second area CA2, on corresponding four vertices of the planar image P. More specifically, the shape of the second area CA2 is made equal to the shape of the planar image P, such that each grid area LA2 in the second area CA2 illustrated in
The correction parameter generator 566 generates the correction parameter, which is to be applied to each grid area LA2′ in the second area CA2′, such that each grid area LA2′ is equal to the corresponding grid area LAO in the planar image P in brightness and color. Specifically, the correction parameter generator 566 specifies four grid areas LAO that share one common grid, and calculates an average avg=(Rave, Gave, Bave) of brightness and color values (R, G, B) of all pixels contained in the specified four grid areas LAO. Similarly, the correction parameter generator 566 specifies four grid areas LA2′ that share one common grid, and calculates an average avg′=(Rave, Gave, Bave) of brightness and color values (R, G, B) of all pixels contained in the specified four grid areas LA2′. If one gird of the specified grid areas LAO and the corresponding grid of the specific grid areas LA2′ correspond to one of four vertices of the second area CA2 (or the third area CA3), the correction parameter generator 566 calculates the average avg and the average avg′ of the brightness and color of pixels from one grid area located at the corner. If one grid of the specific grid areas LAO and the corresponding grid of the specific grid areas LA2′ correspond to a gird of the outline of the second area CA2 (or the third area CA3), the correction parameter generator 566 calculates the average avg and the average avg′ of the brightness and color of pixels from two grid areas inside the outline. In this embodiment, the correction parameter is gain data for correcting the brightness and color of the planar image P. Accordingly, the correction parameter Pa is obtained by dividing the avg′ by the avg, as represented by the following equation 14.
Pa=avg′/avg (Equation 14)
In displaying images being superimposed, each grid area LAO is multiplied with the gain, represented by the correction parameter. Accordingly, the brightness and color of the planar image P is made substantially equal to that of the equirectangular projection image EC (spherical image CE). This prevents unnatural look, even when the planar image P is superimposed on the equirectangular projection image EC. In addition to or in alternative to the average value, the correction parameter may be calculated using the median or the most frequent value of brightness and color of pixels in the grid areas.
In this embodiment, the values (R, G, B) are used to calculate the brightness and color of each pixel. Alternatively, any other color space may be used to obtain the brightness and color, such as brightness and color difference using YUV, and brightness and color difference using sYCC(YCbCr) according to the JPEG. The color space may be converted from RGB, to YUV, or to sYCC (YCbCr), using any desired known method. For example, RGB, in compliance with JPEG file interchange format (JFIF), may be converted to YCbCr, using Equation 15.
The superimposed display metadata generator 570 generates superimposed display metadata indicating a location where the planar image P is superimposed on the spherical image CE, and correction values for correcting brightness and color of pixels, using such as the location parameter and the correction parameter.
(Superimposed Display Metadata)
Referring to
As illustrated in
The equirectangular projection image information is transmitted from the special image capturing device 1, with the captured image data. The equirectangular projection image information includes an image identifier (image ID) and attribute data of the captured image data. The image identifier, included in the equirectangular projection image information, is used to identify the equirectangular projection image. While
The attribute data, included in the equirectangular projection image information, is any information related to the equirectangular projection image. In the case of metadata of
The planar image information is transmitted from the generic image capturing device 3 with the captured image data. The planar image information includes an image identifier (image ID) and attribute data of the captured image data. The image identifier, included in the planar image information, is used to identify the planar image P. While
The attribute data, included in the planar image information, is any information related to the planar image P. In the case of metadata of
The superimposed display information is generated by the smart phone 5. In this example, the superimposed display information includes area division number information, a coordinate of a grid in each grid area (location parameter), and correction values for brightness and color (correction parameter). The area division number information indicates a number of divisions of the first area CA1, both in the horizontal (longitude) direction and the vertical (latitude) direction. The area division number information is referred to when dividing the first area CA1 into a plurality of grid areas.
The location parameter is mapping information, which indicates, for each grid in each grid area of the planar image P, a location in the equirectangular projection image EC. For example, the location parameter associates a location of each grid in each grid area in the equirectangular projection image EC, with each grid in each grid area in the planar image P. The correction parameter, in this example, is gain data for correcting color values of the planar image P. Since the target to be corrected may be a monochrome image, the correction parameter may be used only to correct the brightness value. Accordingly, at least the brightness of the image is to be corrected using the correction parameter.
The perspective projection, which is used for capturing the planar image P, is not applicable to capturing the 360-degree omnidirectional image, such as the spherical image CE. The wide-angle image, such as the spherical image, is often captured in equirectangular projection. In equirectangular projection, like Mercator projection, the distance between lines in the horizontal direction increases away from the standard parallel. This results in generation of the image, which looks very different from the image taken with the general-purpose camera in perspective projection. If the planar image P, superimposed on the spherical image CE, is displayed, the planar image P and the spherical image CE that differ in projection, look different from each other. Even scaling is made equal between these images, the planar image P does not fit in the spherical image CE. In view of the above, the location parameter is generated as described above referring to
Referring to
As described above, the first area CAL which is a part of the equirectangular projection image EC, is converted to the second area CA2 in perspective projection, which is the same projection with the projection of the planar image P. As illustrated in
As illustrated in
Referring back to
As described above, the location parameter indicates correspondence of pixel positions, between the planar image P and the equirectangular projection image EC (spherical image CE). If such correspondence information is to be provided for all pixels, data for about 40 million pixels is needed in case the generic image capturing device 3 is a high-resolution digital camera. This increases processing load due to the increased data size of the location parameter. In view of this, in this embodiment, the planar image P is divided into 600 (30×20) grid areas. The location parameter indicates correspondence of each gird in each of 600 grid areas, between the planar image P and the equirectangular projection image EC (spherical image CE). When displaying the superimposed images by the smart phone 5, the smart phone 5 may interpolate the pixels in each grid area based on the coordinate of each grid in that grid area.
(Functional Configuration of Superimposing Unit)
Referring to
The superimposed area generator 582 specifies a part of the sphere CS, which corresponds to the third area CA3, to generate a partial sphere PS.
The correction unit 584 corrects at least one of the brightness and color of the planar image P, using the correction parameter of the superimposed display metadata, to match the at least one of the brightness and color of the equirectangular projection image EC.
The image generator 586 superimposes (maps) the planar image P (or the corrected image C of the planar image P), on the partial sphere PS to generate an image to be superimposed on the spherical image CE, which is referred to as a superimposed image S for simplicity. The image generator 586 generates mask data M, based on a surface area of the partial sphere PS. The image generator 586 covers (attaches) the equirectangular projection image EC, over the sphere CS, to generate the spherical image CE.
The mask data M, having information indicating the degree of transparency, is referred to when superimposing the superimposed image S on the spherical image CE. The mask data M sets the degree of transparency for each pixel, or a set of pixels, such that the degree of transparency increases from the center of the superimposed image S toward the boundary of the superimposed image S with the spherical image CE. With this mask data M, the pixels around the center of the superimposed image S have brightness and color of the superimposed image S, and the pixels near the boundary between the superimposed image S and the spherical image CE have brightness and color of the spherical image CE. Accordingly, superimposition of the superimposed image S on the spherical image CE is made unnoticeable. However, application of the mask data M can be made optional, such that the mask data M does not have to be generated.
The image superimposing unit 588 superimposes the superimposed image S and the mask data M, on the spherical image CE. The image is generated, in which the high-definition superimposed image S is superimposed on the low-definition spherical image CE.
As illustrated in
Referring now to
As illustrated in
The near-distance communication unit 58 of the smart phone 5 sends a polling inquiry to start image capturing, to the near-distance communication unit 38 of the generic image capturing device 3 (S12). The near-distance communication unit 38 of the generic image capturing device 3 receives the inquiry to start image capturing.
The determiner 37 of the generic image capturing device 3 determines whether image capturing has started, according to whether the acceptance unit 32 has accepted pressing of the shutter button 315a by the user (S13).
The near-distance communication unit 38 of the generic image capturing device 3 transmits a response based on a result of the determination at S13, to the smart phone 5 (S14). When it is determined that image capturing has started at S13, the response indicates that image capturing has started. In such case, the response includes an image identifier of the image being captured with the generic image capturing device 3. In contrary, when it is determined that the image capturing has not started at S13, the response indicates that it is waiting to start image capturing. The near-distance communication unit 58 of the smart phone 5 receives the response.
The description continues, assuming that the determination indicates that image capturing has started at S13 and the response indicating that image capturing has started is transmitted at S14.
The generic image capturing device 3 starts capturing the image (S15). The processing of S15, which is performed after pressing of the shutter button 315a, includes capturing the object and surroundings to generate captured image data (planar image data) with the image capturing unit 33, and storing the captured image data in the memory 3000 with the storing and reading unit 39.
At the smart phone 5, the near-distance communication unit 58 transmits an image capturing start request, which requests to start image capturing, to the special image capturing device 1 (S16). The near-distance communication unit 18 of the special image capturing device 1 receives the image capturing start request.
The special image capturing device 1 starts capturing the image (S17). Specifically, at S17, the image capturing unit 13 captures the object and surroundings to generate captured image data, i.e., two hemispherical images as illustrated in
At the smart phone 5, the near-distance communication unit 58 transmits a request to transmit a captured image (“captured image request”) to the generic image capturing device 3 (S18). The captured image request includes the image identifier received at S14. The near-distance communication unit 38 of the generic image capturing device 3 receives the captured image request.
The near-distance communication unit 38 of the generic image capturing device 3 transmits planar image data, obtained at S15, to the smart phone 5 (S19). With the planar image data, the image identifier for identifying the planar image data, and attribute data, are transmitted. The image identifier and attribute data of the planar image, are a part of planar image information illustrated in
The near-distance communication unit 18 of the special image capturing device 1 transmits the equirectangular projection image data, obtained at S17, to the smart phone 5 (S20). With the equirectangular projection image data, the image identifier for identifying the equirectangular projection image data, and attribute data, are transmitted. As illustrated in
Next, the storing and reading unit 59 of the smart phone 5 stores the planar image data received at S19, and the equirectangular projection image data received at S20, in the same folder in the memory S000 (S21).
Next, the image and audio processing unit 55 of the smart phone 5 generates superimposed display metadata, which is used to display an image where the planar image P is partly superimposed on the spherical image CE (S22). Here, the planar image P is a high-definition image, and the spherical image CE is a low-definition image. The storing and reading unit 59 stores the superimposed display metadata in the memory 5000.
Referring to
<Generation of Superimposed Display Metadata>
First, operation of generating the superimposed display metadata is described. The superimposed display metadata is used to display an image on the display 517, where the high-definition planar image P is superimposed on the spherical image CE. The spherical image CE is generated from the low-definition equirectangular projection image EC. As illustrated in
Referring to
Next, the first area calculator 552 calculates a rectangular, first area CA1 in the equirectangular projection image EC, which corresponds to the planar image P, based on similarity between the feature value fv1 of the feature 8 points fp1 in the equirectangular projection image EC, and the feature value fv2 of the feature points fp2 in the planar image P, using the homography (S120). More specifically, the first area calculator 552 calculates a rectangular, first area CA1 in the equirectangular projection image EC, which corresponds to the planar image P, based on similarity between the feature value fv1 of the feature points fp1 in the equirectangular projection image EC, and the feature value fv2 of the feature points fp2 in the planar image P, using the homography (S120). The above-described processing is performed to roughly estimate corresponding pixel (gird) positions between the planar image P and the equirectangular projection image EC that differ in projection.
Next, the point of gaze specifier 554 specifies the point (referred to as the point of gaze) in the equirectangular projection image EC, which corresponds to the central point CP1 of the planar image P after the first homography transformation (S130).
The projection converter 556 extracts a peripheral area PA, which is a part surrounding the point of gaze GP1, from the equirectangular projection image EC. The projection converter 556 converts the peripheral area PA, from the equirectangular projection to the perspective projection, to generate a peripheral area image PI (S140).
The extractor 550 extracts a plurality of feature points fp3 from the peripheral area image PI, which is obtained by the projection converter 556 (S150).
Next, the second area calculator 558 calculates a rectangular, second area CA2 in the peripheral area image PI, which corresponds to the planar image P, based on similarity between the feature value fv2 of the feature points fp2 in the planar image P, and the feature value fv3 of the feature points fp3 in the peripheral area image PI using second homography (S160). In this example, the planar image P, which is a high-definition image of 40 million pixels, may be reduced in size.
Next, the area divider 560 divides the second area CA2 into a plurality of grid areas LA2 as illustrated in
As illustrated in
Referring to
After S180, the shape converter 564 converts the second area CA2 to have a shape that is the same as the shape of the planar image P. Specifically, the shape converter 564 maps four vertices of the second area CA2, illustrated in
As illustrated in
The correction parameter generator 566 generates the correction parameter, which is to be applied to each grid area LA2′ in the second area CA2′, such that each grid area LA2′ is equal to the corresponding grid area LAO in the planar image P in brightness and color (S210).
As illustrated in
Then, the operation of generating the superimposed display metadata performed at S22 of
<Superimposition>
Referring to
The storing and reading unit 59 (obtainer) illustrated in
As illustrated in
The correction unit 584 corrects the brightness and color of the planar image P, using the correction parameter of the superimposed display metadata, to match the brightness and color of the equirectangular projection image EC (S320). The planar image P, which has been corrected, is referred to as the “corrected planar image C”.
The image generator 586 superimposes the corrected planar image C of the planar image P, on the partial sphere PS to generate the superimposed image S (S330). The pixels other than the pixels corresponding to the grids having the positions defined by the location parameter are interpolated by linear interpolation. The image generator 586 generates mask data M based on the partial sphere PS (S340). The image generator 586 covers (attaches) the equirectangular projection image EC, over a surface of the sphere CS, to generate the spherical image CE (S350). The image superimposing unit 588 superimposes the superimposed image S and the mask data M, on the spherical image CE (S360). The image is generated, in which the high-definition superimposed image S is superimposed on the low-definition spherical image CE. With the mask data, the boundary between the two different images is made unnoticeable.
As illustrated in
Referring to
As illustrated in
In view of the above, in this embodiment, the location parameter is generated, which indicates respective positions of a plurality of grid areas in the superimposed image S with respect to the planar image P. With this location parameter, as illustrated in
Accordingly, the image capturing system of this embodiment is able to display an image in which the high-definition planar image P is superimposed on the low-definition spherical image CE, with high image quality. This will be explained referring to
It is assumed that, while the spherical image CE without the planar image P being superimposed, is displayed as illustrated in
As described above in this embodiment, even when images that differ in projection are superimposed one above the other, the grid shift caused by the difference in projection can be compensated. For example, even when the planar image P in perspective projection is superimposed on the equirectangular projection image EC in equirectangular projection, these images are displayed with the same coordinate positions. More specifically, the special image capturing device 1 and the generic image capturing device 3 capture images using different projection methods. In such case, if the planar image P obtained by the generic image capturing device 3, is superimposed on the spherical image CE that is generated from the equirectangular projection image EC obtained by the special image capturing device, the planar image P does not fit in the spherical image CE as these images CE and P look different from each other. In view of this, as illustrated in
Further, in this embodiment, the location parameter indicates positions where the superimposed image S is superimposed on the spherical image CE, using the third area CA3 including a plurality of grid areas. Accordingly, as illustrated in
Referring now to
<Overview of Image Capturing System>
First, referring to
As illustrated in
In the first embodiment, the smart phone 5 generates superimposed display metadata, and processes superimposition of images. In this second embodiment, the image processing server 7 performs such processing, instead of the smart phone 5. The smart phone 5 in this embodiment is one example of the communication terminal, and the image processing server 7 is one example of the image processing apparatus or device.
The image processing server 7 is a server system, which is implemented by a plurality of computers that may be distributed over the network to perform processing such as image processing in cooperation with one another.
<Hardware Configuration>
Next, referring to
<Hardware Configuration of Image Processing Server>
Referring to
The CPU 701 controls entire operation of the image processing server 7. The ROM 702 stores a control program for controlling the CPU 701. The RAM 703 is used as a work area for the CPU 701. The HD 704 stores various data such as programs. The HDD 705 controls reading or writing of various data to or from the HD 704 under control of the CPU 701. The medium I/F 707 controls reading or writing of data with respect to a recording medium 706 such as a flash memory. The display 708 displays various information such as a cursor, menu, window, characters, or image. The network I/F 709 is an interface that controls communication of data with an external device through the communication network 100. The keyboard 711 is one example of input device provided with a plurality of keys for allowing a user to input characters, numerals, or various instructions. The mouse 712 is one example of input device for allowing the user to select a specific instruction or execution, select a target for processing, or move a curser being displayed. The CD-RW drive 714 reads or writes various data with respect to a Compact Disc ReWritable (CD-RW) 713, which is one example of removable recording medium.
The image processing server 7 further includes the bus line 710. The bus line 710 is an address bus or a data bus, which electrically connects the elements in
<Functional Configuration of Image Capturing System>
Referring now to
<Functional Configuration of Image Processing Server>
As illustrated in
The image processing server 7 further includes a memory 7000, which is implemented by the ROM 702, the RAM 703 and the HD 704 illustrated in
The far-distance communication unit 71 of the image processing server 7 is implemented by the network I/F 709 that operates under control of the CPU 701, illustrated in
The acceptance unit 72 is implement by the keyboard 711 or mouse 712, which operates under control of the CPU 701, to receive various selections or inputs from the user.
The image and audio processing unit 75 is implemented by the instructions of the CPU 701. The image and audio processing unit 75 applies various types of processing to various types of data, transmitted from the smart phone 5.
The display control 76, which is implemented by the instructions of the CPU 701, generates data of the predetermined-area image Q, as a part of the planar image P, for display on the display 517 of the smart phone 5. The display control 76 superimposes the planar image P, on the spherical image CE, using superimposed display metadata, generated by the image and audio processing unit 75. With the superimposed display metadata, each grid area LAO of the planar image P is placed at a location indicated by a location parameter, and is adjusted to have a brightness value and a color value indicated by a correction parameter.
The determiner 77 is implemented by the instructions of the CPU 701, illustrated in
The storing and reading unit 79, which is implemented by instructions of the CPU 701 illustrated in
(Functional Configuration of Image and Audio Processing Unit)
Referring to
The image and audio processing unit 75 mainly includes a metadata generator 75a that performs encoding, and a superimposing unit 75b that performs decoding. The metadata generator 75a performs processing of S44, which is processing to generate superimposed display metadata, as illustrated in
(Functional Configuration of Metadata Generator)
First, a functional configuration of the metadata generator 75a is described according to the embodiment. The metadata generator 75a includes an extractor 750, a first area calculator 752, a point of gaze specifier 754, a projection converter 756, a second area calculator 758, an area divider 760, a projection reverse converter 762, a shape converter 764, a correction parameter generator 766, and a superimposed display metadata generator 770. These elements of the metadata generator 75a are substantially similar in function to the extractor 550, first area calculator 552, point of gaze specifier 554, projection converter 556, second area calculator 558, area divider 560, projection reverse converter 562, shape converter 564, correction parameter generator 566, and superimposed display metadata generator 570 of the metadata generator 55a, respectively. Accordingly, the description thereof is omitted.
Referring to
<Operation>
Referring to
At the smart phone 5, the far-distance communication unit 51 transmits a superimposing request, which requests for superimposing one image on other image that are different in projection, to the image processing server 7, through the communication network 100 (S42). The superimposing request includes image data to be processed, which has been stored in the memory 5000. In this example, the image data to be processed includes planar image data, and equirectangular projection image data, which are stored in the same folder. The far-distance communication unit 71 of the image processing server 7 receives the image data to be processed.
Next, at the image processing server 7, the storing and reading unit 79 stores the image data to be processed (planar image data and equirectangular projection image data), which is received at S42, in the memory 7000 (S43). The metadata generator 75a illustrated in
Next, the display control 76 generates data of the predetermined-area image Q, which corresponds to the predetermined area T, to be displayed in a display area of the display 517 of the smart phone 5. As described above in this example, the predetermined-area image Q is displayed so as to cover the entire display area of the display 517. In this example, the predetermined-area image Q includes the superimposed image S superimposed with the planar image P. The far-distance communication unit 71 transmits data of the predetermined-area image Q, which is generated by the display control 76, to the smart phone 5 (S46). The far-distance communication unit 51 of the smart phone 5 receives the data of the predetermined-area image Q.
The display control 56 of the smart phone 5 controls the display 517 to display the predetermined-area image Q including the superimposed image S (S47).
Accordingly, the image capturing system of this embodiment can achieve the advantages described above referring to the first embodiment.
Further, in this embodiment, the smart phone 5 performs image capturing, and the image processing server 7 performs image processing such as generation of superimposed display metadata and generation of superimposed images. This results in decrease in processing load on the smart phone 5. Accordingly, high image processing capability is not required for the smart phone 5.
In this embodiment, the smart phone 5 and the image processing server 7 may cooperate with each other to operate as the image processing system.
<Variation in Correcting Brightness or Color of Image>
Referring to
Generally, the special image capturing device 1 generates a spherical image, such that exposure and white balance are optimized over the entire coverage area, which is relatively a wide area. On the other hand, the generic image capturing device 3 generates a planar image, such that exposure and white balance are optimized in a focused area, which is narrower than the coverage area of the spherical image. Accordingly, image characteristics such as exposure and white balance tend to largely differ between the spherical image CE and the superimposed S (planar image P). If the planar image P is to be simply corrected to match brightness or color of the spherical image CE, such correction may not be desirable as the spherical image tends to have a part that is over exposed or under exposed.
In view of this, in the third embodiment described below, the correction unit 584 corrects at least one of brightness and color of the superimposed image S, according to a ratio of an area of the superimposed image S (the planar image P) in the predetermined area T with respect to the predetermined area T.
Referring now to
As illustrated in
The correction unit 584 determines a combined ratio of the first corrected planar image C1 and the uncorrected planar image P to be used for generating the second corrected planar image C2, according to the imaging direction of the virtual camera IC (central point of the predetermined area T, which corresponds to the line of sight of the user) and the angle of view α of the virtual camera IC. The correction unit 584 generates the second corrected planar image C2 by combining the first corrected planar image C1 and the planar image P according to the determined combined ratio (S321). More specifically, in this embodiment, the correction unit 584 calculates a ratio of an area of the planar image P being displayed in the predetermined area T with respect to the predetermined area T, according to the central point of the predetermined area T and the angle of view α specifying a range (size) of the predetermined area T, with respect to the central point of the planar image P and the angle of view α specifying a range (size) of an area of the planar image.
The correction unit 584 corrects the brightness and the color of the superimposed image S, according to a ratio of an area of the superimposed image S to the predetermined area T.
At S330, the image generator 586 maps the second corrected image C2 on the partial sphere PS to generate the superimposed image S, as described above referring to
Next, S321 of changing the combined ratio of the corrected image C1 and the planar image P is described in detail.
Referring to the image shown at the lower right of
Referring to the image shown at the lower left of
Specifically, the image of the first case (a) is the superimposed image S that has not been corrected (0% correction). That is, the superimposed image S is generated with the brightness and color values of the uncorrected planar image P.
The image of the second case (b) is the superimposed image S with 25% (or 0.25) correction, which has pixel values generated by combining 25% (0.25) of brightness and color values of the predetermined-area image Q (equirectangular projection image EC) and 75% (0.75) of brightness and color values of the superimposed image S (planar image P). As described above referring to
The image of the second case (c) is the superimposed image S with 50% (or 0.50) correction, which has pixel values generated by combining 50% (0.50) of brightness and color values of the predetermined-area image Q (equirectangular projection image EC) and 50% (0.50) of brightness and color values of the superimposed image S (planar image P). As described above referring to
The image of the second case (d) is the superimposed image S with 75% (or 0.75) correction, which has pixel values generated by combining 75% (0.75) of brightness and color values of the predetermined-area image Q (equirectangular projection image EC) and 25% (0.25) of brightness and color values of the superimposed image S (planar image P). As described above referring to
The image of the second case (e) is the superimposed image S with 100% (or 1.00) correction, which has pixel values generated by combining 100% (1.00) of brightness and color values of the predetermined-area image Q (equirectangular projection image EC) and 0% (0.00) of brightness and color values of the superimposed image S (planar image P). That is, the superimposed image S is corrected to have the brightness and color values of the predetermined-area image Q. As described above referring to
In this embodiment, as an area ratio of the planar image P (superimposed S) with respect to the predetermined area T (predetermined-area image Q) becomes smaller, the correction unit 584 corrects the brightness and color of the planar image P so as to reflect more of the brightness and color of the predetermined-area image Q. On the other hand, as an area ratio of the planar image P with respect to the predetermined area T becomes larger, the correction unit 584 tends to keep the brightness and color of the planar image P uncorrected so as to reflect more of the original value.
Referring now to
In the case (a) of
In the case (b) of
In the case (c) of
In the case (d) of
The operation of correcting the superimposed image S according to an area ratio of the superimposed image S (planar image P) with respect to the predetermined-area image Q (predetermined area T) may be performed in various other ways. For example, in alternative to changing a combined ratio of brightness and color values of the first corrected planar image C1 and brightness and color values of the planar image P in generation of the second corrected planar image C2, the correction parameter may be adjusted beforehand.
As illustrated in
The correction unit 584 performs processing of S320, as described above referring to
As described above referring to
While the above-described third embodiment illustrates the example case in which the planar image P is corrected to be closer in brightness and color to the equirectangular planar image EC, both of the planar image P and the equirectangular planar image EC may be corrected so as to be closer in brightness and color, for example, as described below.
Further, correction of the planar image P or the equirectangular planar image EC may be performed in various ways, other than the above-described embodiment in which the degree of correction is controlled according to an area of the planar image P (superimposed image S) to be displayed in the predetermined area T (predetermined-area image Q).
The operation of
Referring back to
As described above, the correction unit 584 corrects the brightness and color of the planar image P so as to match the brightness and color of the equirectangular projection image EC (that is, the predetermined-area image Q), using the correction parameter of the superimposed display metadata, to generate the first corrected planar image C1 (S320).
In this embodiment, S321 of determining a combined ratio of the first corrected planar image C1 and the planar image P is performed differently than the above-described embodiment. More specifically, in this embodiment, the correction unit 584 refers to the angle β between the imaging direction of the virtual camera IC (central point of the predetermined area T, which corresponds to the line of sight of the user) and the central point of the planar image P, to change the combined ratio of the first corrected planar image C1 and the planar image P. This processing results in generation of the second corrected planar image C2. In the following, the imaging direction of the virtual camera IC, which corresponds to the line of sight direction of the user, is referred to as the line of sight direction of the virtual camera IC. This operation of changing the combined ratio will be described in detail referring to
At S330, the image generator 586 maps the second corrected planar image C2 on the partial sphere PS to generate the superimposed image S.
At S411, the correction unit 584 corrects the brightness and color of the equirectangular projection image EC, to match the brightness and color of the planar image P, to generate a first corrected equirectangular projection image D1. The correction parameter in the superimposed display metadata includes gain data for correcting the brightness and color of the planar image P, to match the brightness and color of the equirectangular projection image EC. The correction unit 584 is able to perform correction of S411, by multiplying the equirectangular projection image EC with an inverse of the gain data. The correction parameter of the superimposed display metadata is correction information to be used for matching the brightness and color in an area of the superimposed image S (planar image P′). Through applying the correction parameter to an entire area of the equirectangular projection image EC, an area other than the superimposed image S (planar image P′) may also be corrected, while the accuracy may decrease compared to the case of applying the correction parameter to the area of the superimposed image S (planar image P′).
At S412, the correction unit 584 refers to the angle β between the line of sight direction of the virtual camera IC and the central point of the superimposed image S (planar image P), which are defined by a user operation, to change the combined ratio of the first corrected equirectangular projection image D1 and the equirectangular projection image EC. This processing results in generation of a second corrected equirectangular projection image D2.
At S350, the image generator 586 maps the second corrected equirectangular projection image D2, over a surface of the sphere CS, to generate the spherical image CE.
The diagram and graphs (b) of
First, operation of calculating a combined ratio of the first corrected planar image C1 and the planar image P is described according to the embodiment. The graph (b-2) of (b) of
According to the graph (b-2) of (b) of
When displaying the superimposed image S in the predetermined area T, as the superimposed image S is displayed closer to the center of the predetermined area T, that is, the central point CM of the superimposed image S becomes closer to the central point CP of the predetermined area T, the superimposed image S is displayed so as to reflect more of the brightness and color of the planar image P according to the combined ratio. As the superimposed image S is displayed farther from the center of the predetermined area T, that is, the central point CM of the superimposed image S becomes farther from the central point CP of the predetermined area T, the superimposed image S is displayed so as to reflect more of the brightness and color of the equirectangular projection image EC. At the boundary, the superimposed image S matches the equirectangular projection image EC in brightness and color.
The graph (b-3) of (b) of
The graphs (b-2) and (b-3) of
According to the graph (b-3) of (b) of
When displaying the superimposed image S in the predetermined area T, as the superimposed image S is displayed closer to the center of the predetermined area T, that is, the central point CM of the superimposed image S becomes closer to the central point CP of the predetermined area T, the equirectangular projection image EC is displayed according to the combined ratio, as the first corrected equirectangular projection image D1 having brightness and color corrected so as to reflect more of brightness and color of the planar image P. As the superimposed image S is displayed farther from the center of the predetermined area T, that is, the central point CM of the superimposed image S becomes farther from the central point CP of the predetermined area T, the equirectangular projection image EC is displayed while maintaining much of its original brightness and color values.
As a difference between the line of sight direction in the equirectangular projection image EC and the center of the superimposed image S decreases, corrected amounts of pixel values of the planar image P become smaller. That is, the equirectangular projection image EC is corrected such that its pixel values become closer to pixel values of the planar image P. As a difference between the line of sight direction in the equirectangular projection image EC and the center of the superimposed image S increases, corrected amount of pixel values of the equirectangular projection image EC become smaller, such that its pixel values keep original values.
Referring to
Referring to the case (a) of
Referring to the case (b) of
Referring to the case (c) of
In the case (a) in which the central point CM of the superimposed image S is away from the central point CP of the predetermined area T, the user is viewing the spherical image CE. It is thus desirable to display the image with the brightness and color values of the spherical image CE, to reflect the exposure of the spherical image CE. In the case (c) in which the central point CM of the superimposed image S substantially matches the central point CP of the predetermined area T, the user is viewing the superimposed image S. It is thus desirable to display the image with the brightness and color values of the superimposed image S, to reflect the exposure of the superimposed image S. As described above referring to
Referring to
The images (a-1), (b-1), and (c-1) of
The images (a-2), (b-2), and (c-2) of
The images (a-3), (b-3), and (c-3) of
Referring to (c-3) of
In this order, from (a-3), (b-3), and (c-3), the brightness and color of the spherical image CE become closer to the brightness and color of the planar image P.
For the images (a-3), (b-3), and (c-3), the spherical image CE and the superimposed image S are both corrected. Unlike the images (a-2), (b-2), and (c-2), the spherical image CE and the superimposed image S dot not differ much in brightness and color. Accordingly, the superimposed image S fits in the spherical image CE.
The images (a-1), (b-1), and (c-1) of
The images (a-2), (b-2), and (c-2) of
The images (a-3), (b-3), and (c-3) of
Referring to (c-3) of
Referring now to
In this embodiment, a plurality of equirectangular projection images EC1 and EC2 that differ in exposure are used, in addition to the equirectangular projection image EC from which the spherical image is generated. The special image capturing device 1 generates the equirectangular projection images, while just changing exposure, for example, when capturing the target object and its surroundings to generate the equirectangular projection image EC. In this embodiment, it is assumed that at least the equirectangular projection image EC1 with exposure higher than that of the equirectangular projection image EC, and the equirectangular projection image EC2 with exposure lower than that of the equirectangular projection image EC are obtained. For simplicity, the equirectangular projection image EC1 and the equirectangular projection image EC2 are respectively referred to as the overexposed image EC1 and the underexposed image EC2. Alternatively, three or more than three equirectangular projection images that differ in exposure may be generated.
At S421, the correction unit 584 selects an image to be combined with the equirectangular projection image EC, to generate the first corrected equirectangular projection image D1. This selection of image is performed using the correction parameter of the superimposed display metadata. The correction parameter in the superimposed display metadata includes gain data for correcting the brightness and color of the planar image P, to match the brightness and color of the equirectangular projection image EC. The correction unit 584 calculates an inverse of the gain, which is used for correcting the equirectangular projection image EC to have brightness and color values of the planar image P. The inverse of the gain is referred to as inverse gain data. When the inverse gain data has a value equal to or greater than 1.0, the correction unit 584 corrects the equirectangular projection image EC to make it brighter. When the inverse gain data has a value less than 1.0, the correction unit 584 corrects the equirectangular projection image EC to make it darker.
At S422, the correction unit 584 generates the first corrected equirectangular projection image D1 so as to match brightness and color of the planar image P. In case the inverse gain data has the value 1.0 or greater, the correction unit 584 selects the overexposed image EC1. In case the inverse gain data has the value less than 1.0, the correction unit 584 selects the underexposed image EC2. The second corrected equirectangular projection image D2 is generated according to the combined ratio that is calculated at S412, in a substantially similar manner as described above.
Since the equirectangular projection image EC, overexposed image EC1, and underexposed image EC2 are generated by capturing the same target object and surroundings but with different exposure, the location parameter is common to those images. However, the correction parameter is applicable only to the equirectangular projection image EC. The correction parameter is obtained as follows for at least one of the overexposed image EC1 and the underexposed image EC2 that has been selected. The correction unit 584 specifies a third area CA3 in the overexposed image EC1, which corresponds to the third area CA2 in the equirectangular projection image EC, using the location parameter, to obtain brightness and color values of pixels in the third area CA3 of the overexposed image EC1. Similarly, the correction unit 584 specifies a third area CA3 in the underexposed image EC2, which corresponds to the third area CA2 in the equirectangular projection image EC, using the location parameter, to obtain brightness and color values of pixels in the third area CA3 of the underexposed image EC2.
The correction unit 584 then calculates a ratio of brightness and color values in the third area CA3, between the equirectangular projection image EC and the overexposed image EC1. Similarly, the correction unit 584 calculates a ratio of brightness and color values in the third area CA3, between the equirectangular projection image EC and the underexposed image EC2.
In this embodiment, the brightness of the third area CA3 in the equirectangular projection image EC, overexposed image EC1, and underexposed image EC2, are respectively represented by Y, Y1, and Y2. The brightness ratio of the overexposed image EC1 to the equirectangular projection image EC is expressed as Y1/Y. The brightness ratio of the underexposed image EC2 to the equirectangular projection image EC is expressed as Y2/Y. This brightness ratio is multiplied with the correction parameter for correcting brightness, which has been calculated for the equirectangular projection image EC, to obtain the correction parameter for at least the selected one of the overexposed image EC1 and the underexposed image EC2.
In a substantially similar manner, the correction parameter for correcting color is calculated, for at least the selected one of the overexposed image EC1 and the underexposed image EC2.
In alternative to generating a brightness ratio (or color ratio), the correction parameter may be generated for at least the selected one of the overexposed image EC1 and the underexposed image EC2 in a substantially similar manner as described above for the case of the equirectangular projection image EC.
Referring back to
S422 of generating the corrected image is described according to the embodiment. It is assumed that the correction parameters for the equirectangular projection image EC, overexposed image EC1, and underexposed image EC2 are respectively PC, PC1, and PC2. The correction parameter PC is gain data for correcting the brightness and color of the equirectangular projection image EC to match the brightness and color of the planar image P. When the correction parameter is 1.0, the planar image P and the equirectangular projection image EC are substantially the same in brightness and color.
At S422, the correction unit 584 generates the first corrected equirectangular projection image D1, from at least the selected one of the overexposed image EC1 and the underexposed image EC2, so as to match the brightness and color of the planar image P. For example, it is assumed that the correction parameters PC, PC1, and PC2 are respectively 1.2, 1.6, and 0.8. In such case, the inverse gain data is 1/PC=0.833, which is less than 1.0. In such case, at S421, the correction unit 584 selects the underexposed image EC2 to make the equirectangular projection image EC darker.
Next, at S422, the correction unit 584 calculates a combined ratio of the equirectangular projection image EC and one of the overexposed image EC1 and the underexposed image EC2 that is selected at S421. Assuming that the combined ratio of the equirectangular projection image EC and selected one of the overexposed image EC1 and the underexposed image EC2 is k, with k being a value ranging from 0.0 to 1.0, the combined ratio k is calculated using Equation 16 or Equation 17.
k/PC+(1−k)/PC1=1.0 (Equation 16)
k/PC+(1−k)/PC2=1.0 (Equation 17)
Equation 16 is used when the overexposed image EC1 is selected at S421. Equation 17 is used when the underexposed image EC2 is selected at S421.
In case the underexposed image EC2 is selected, the combined ratio k that is calculated using Equation 17 is 0.60. With the combined ratio of 0.60, 0.60 of the equirectangular projection image EC and (1−k)=0.40 of the underexposed image EC2 are combined to generate the first corrected equirectangular projection image D1. This results in generation of the first corrected equirectangular projection image D1 having the brightness and color values closer to the brightness and color values of the planar image P. Since processing of S412 and after S412 is substantially the same as described above, description thereof is omitted.
Referring now to
In the image capturing system illustrated in
When more than one generic image capturing device 3 is provided in the image capturing system, the generic image capturing devices 3 may capture planar images of the target object with different imaging directions and angle of views, at the same time. For example, the smart phone 5 includes two cameras at front and back, such that the smart phone 5 is able to capture two planar images at one shot.
The following describes example cases in which a plurality of superimposed images S (planar images P) are superimposed on the equirectangular projection image EC.
Even when the plurality of superimposed images S are superimposed on the equirectangular projection image EC in the predetermined area T, brightness and color of all of the superimposed images S are made closer to brightness and color of one equirectangular projection image EC. In contrary, for the equirectangular projection image EC, there is a plurality of planar images, which could be a target for correcting brightness and color. In view of this, in this embodiment, one of the planar images is selected as a target for correction, using any one of the following first to third methods. Alternatively, a plurality of planar images may be combined to obtain a target value for at least one of brightness and color, as a target for correction.
According to the first method, the planar image as a target for correction is determined based on the angle β between the line of sight direction (the central point CP of the predetermined area T) and the superimposed image S (the central point CM of the superimposed image S). In one example, the correction unit 584 selects one of the superimposed images S having the smallest value of angle β between the line of sight direction and the superimposed image S, as a target for correction. For example, in the case (a) of
In another example, the correction unit 584 combines the superimposed images S to generate a combined image, while changing a combined ratio of the superimposed images according to the angle β between the line of sight direction and the superimposed image S. Specifically, the correction unit 584 calculates the combined ratio, from a weighted average of the superimposed images causing the superimposed image having the smallest value of angle β to be combined by a higher combined ratio.
It is assumed that the superimposed image S1 has the angle β1 with the line of sight direction, and the superimposed image S2 has the angle β2 with the line of sight direction. For example, in the case (a) of
According to the second method, the planar image as a target for correction is determined, based on a ratio of an area of the superimposed image with respect to the predetermined area T, that is, an area of the superimposed image being displayed (to be displayed) in the predetermined area T. Here, according to the change in line of sight and angle of view of the virtual camera IC, for example, due to the user operation, an area of the superimposed image to be displayed in the predetermined area T changes. With this change in area, the combined ratio is calculated to control the brightness and color of the image to be displayed.
In one example, the correction unit 584 selects one of the superimposed images S having the largest value of an area of the superimposed image being displayed in the predetermined area T, as a target for correction. For example, in the case (a) of
In another example, the correction unit 584 combines the superimposed images S to generate a combined image, while changing a combined ratio of the superimposed images according to an area of the superimposed image S being displayed in the predetermined area T. Specifically, the correction unit 584 calculates the combined ratio, from a weighted average of areas of the superimposed images S causing the superimposed image having the largest display area to be combined by a higher combined ratio.
It is assumed that the superimposed image S1 has the area SS1 being displayed in the predetermined area T, and the superimposed image S2 has the area SS2 being displayed in the predetermined area T. In the case (a) of
The third method is a combination of the first method and the second method described above. The correction unit 584 selects one of the superimposed images S as a target for correction, based on the angle β between the line of sight direction (the central point CP of the predetermined area T) and the superimposed image S, and an area of the superimposed image S being displayed in the predetermined area T. For example, the correction unit 584 selects the superimposed image S having the angle β that is equal to or less than a given value, and having the largest area being displayed in the predetermined area T, as a target for correction.
Alternatively, the correction unit 584 changes a combined ratio of the superimposed images S, such that the superimposed image S with the smaller value of angle β and the larger displayed area, is combined with higher combined ratio. There are various other combinations of the first method and the second method.
Next, operation of correcting the equirectangular projection image EC and the planar image P, so as to have brightness and color that are close to brightness and color of the target for correction, is described according to the embodiment.
At S322, the correction unit 584 changes a combined ratio, and generates the corrected image C22, to be superimposed as the superimposed image S, by combining the corrected image C12 and the corrected image C32 according to the combined ratio.
The following describes the example case in which one image is selected as the target for correction, and the example case in which a plurality of images is selected as the target for correction, using any one of the above-described selection methods.
The diagram (b) of
It is assumed that the gain data for the planar image P1 and planar image P2 are respectively g1 and g2. The inverse gain data for the planar image P1 and the planar image P2 are respectively G1(=1/g1) and G2(=1/g2). The corrected image having brightness and color that match brightness and color of the planar image P1, which is a target for correction, is generated as follows, in each of the processing for the equirectangular projection image EC and the processing for the planar image P2. In processing for the equirectangular projection image EC, the equirectangular projection image EC is multiplied with the inverse gain data G1 to generate the first corrected equirectangular projection image D1 having brightness and color that match brightness and color of the planar image P1. In processing for the planar image P2, the planar image P2 is multiplied with the gain data g2/g1 to generate the corrected image C32 having brightness and color that match brightness and color of the planar image P1.
Next, generation of the first corrected planar image C1 (C11 and C12) having brightness and color that match brightness and color of the equirectangular projection image EC is described according to the embodiment. The planar image P1 is multiplied with the gain data g1 to generate the corrected image C11. The planar image P2 is multiplied with the gain data g2 to generate the corrected image C12.
Next, generation of the second corrected image, to be used for generating the superimposed image, is described according to the embodiment. The correction unit 584 generates the second corrected equirectangular projection image D2 by combining the equirectangular projection image EC and the first corrected equirectangular projection image D1, as described above referring to
The diagram (c) of
Next, generation of the second corrected image, to be used for generating the superimposed image, is described according to the embodiment. The correction unit 584 generates the second corrected equirectangular projection image D2 by combining the equirectangular projection image EC and the first corrected equirectangular projection image D1, as described above referring to
Referring to (a) of
Referring to (a) of
It is assumed that the gain data for the planar image P1 and planar image P2 are respectively g1 and g2. The combined ratio “a” is calculated, for example, as described for the first method of selecting the superimposed image as a target for correction.
The correction unit 584 generates the corrected image having the brightness and color that match the brightness and color of the target for correction. The equirectangular projection image EC is multiplied with a/g1+(1-a)/g2, to generate the first corrected equirectangular projection image D1. The planar image P1 is multiplied with {a/g1+(1-a)/g2}*g1, to generate the corrected image C31. The planar image P2 is multiplied with {a/g1+(1-a)/g2}*g2, to generate the corrected image C32. Accordingly, the corrected image has brightness and color, obtained as the weighted average of brightness and color of the planar image P1 and brightness and color of the planar image P2, with a weighing factor being determined according to the combined ratio of planar images P1 and P2.
In processing to generate corrected images based on the equirectangular projection image EC, the planar image P1 is multiplied with the gain data g1 to generate the corrected image C11 having brightness and color that match brightness and color of the equirectangular projection image EC. Similarly, the planar image P2 is multiplied with the gain data g2 to generate the corrected image C12 having brightness and color that match brightness and color of the equirectangular projection image EC.
Next, generation of the second corrected images, to be used for generating the superimposed image, is described according to the embodiment. The correction unit 584 generates the second corrected equirectangular projection image D2 by combining the equirectangular projection image EC and the first corrected equirectangular projection image D1, as described above referring to
The above-described embodiment illustrates an example case where two superimposed images S are superimposed for display in the predetermined area T. However, the above-described operation may be performed when more than two superimposed images are superimposed.
As described above, even when the plurality of superimposed images are being superimposed for display in the predetermined area T, the correction unit 584 automatically selects a target for correction, based on the plurality of superimposed images. The correction unit 584 generates corrected images respectively for the equirectangular projection image EC and planar image P, each having brightness and color that match those of the target for correction. The correction unit 584 then generates the spherical image and the superimposed image, using the corrected images. Accordingly, the image of the predetermined area T is displayed with brightness and color that are adequately corrected, such that the plurality of superimposed images fit in the spherical image when displayed in the predetermined area T.
In some cases, however, there may be no superimposed image S being displayed in the predetermined area T depending on the line of sight direction and the angle of view of the virtual camera IC. In such case, there will be no target for correction. Referring now to
The special image capturing device 1 generates the equirectangular projection images, while just changing exposure, for example, when capturing the target object and its surroundings to generate the equirectangular projection image EC. In this embodiment, it is assumed that at least the equirectangular projection image EC1 with exposure higher than that of the equirectangular projection image EC (“overexposed image EC1”), and the equirectangular projection image EC2 with exposure lower than that of the equirectangular projection image EC (“underexposed image EC2”) are obtained. Alternatively, three or more than three equirectangular projection images that differ in exposure may be generated.
In
At S510, the image generator 586 maps the equirectangular projection image EC, which is uncorrected, over a surface of the sphere CS, to generate the spherical image CE, in a substantially similar manner as described above referring to S350.
At S520, the projection converter 590 applies projection transformation to the spherical image CE, to display a predetermined area T defined by the line of sight direction (the central point CP of the predetermined area T) and the angle of view of the virtual camera IC, in a substantially similar manner as described above referring to S370 of
At S530, the correction unit 584 selects the overexposed image EC1 or the underexposed image EC2, which is to be combined with the equirectangular projection image EC, according to the average of brightness values of the predetermined-area image Q.
Referring to
At S531, the correction unit 584 determines a target brightness value, as a target for correction. The correction unit 584 compares the average brightness value of the entire predetermined-area image Q with the target brightness value. In this example, the target brightness value is previously determined. For example, in the case of 8-bit RGB data having 256 different color values (color levels), the target brightness value is set to the medium value of 128. The correction unit 584 compares the brightness average value of the predetermined-area image Q with the target value 128. More specifically, in this example, the pixel value is normalized to have a value from 0 to 1, such that the target brightness value is expressed by 0.5. Alternatively, the target brightness value may be set to the value 100 or 150 of 256 color levels.
When the average brightness value of the predetermined-area image Q is greater than the target brightness value (“YES” at S521), operation proceeds to S532. At S532, since the predetermined-area image Q is over exposed, the correction unit 584 selects the underexposed image EC2 to be combined with the predetermined-area image Q.
When the average brightness value of the predetermined-area image Q is less than the target brightness value (“NO” at S521), operation proceeds to S533. At S533, the correction unit 584 selects the overexposed image EC1 to be combined with the predetermined-area image Q. When the average brightness value of the predetermined-area image Q is equal to the target brightness value, any one of the overexposed image EC1 and the underexposed image EC2 may be selected.
In the above-described example, the average of brightness of the entire predetermined-area image Q is used. However, the brightness value of a part of the predetermined-area image Q, such as its central part, may be used instead. Alternatively, any characteristic value relating to brightness may be used, such as histogram.
Referring back to
adj=|(aim-ref)*correction coefficient|, 0.0<=adj<=1.0 (Equation 18)
Here, the correction value adj is clipped to be within the range from 0.0 to 1.0. Through clipping, any value less than the lower limit 0.0 is corrected to be equal to 0.0. Any value greater than the upper limit 1.0 is corrected to be equal to 1.0. The correction coefficient determines an amount of correction to be performed on the predetermined area image Q, to be closer to the overexposed image EC1 or the underexposed image EC2 in brightness value. The correction coefficient is determined according to a difference between the brightness average value of the predetermined area image Q and the target brightness value. The correction coefficient may be set by the user, by visually checking the image. Alternatively, the smart phone 5 may automatically calculate the correction coefficient based on the exposure value used for image capturing. Alternatively, the correction coefficient may be previously set by default. For example, the correction coefficient may be set to 3.0.
When the equirectangular projection image (EC1 or EC2) selected at S530 is represented by ECS, and the equirectangular image EC is represented by EC, each pixel value D (u, v) of the corrected equirectangular projection image D is obtained using Equation 19.
D(u,v)=ECS(u,v)*adj+EC(u,v)*(1.0-adj) (Equation 19)
The subsequent processing is performed in a substantially similar manner as described above referring to
Now, operation of correcting the images when there is more than two equirectangular projection images that differ in exposure, in addition to the equirectangular projection image EC, is described according to other example. Specifically, in this example, there are two overexposed images EC1 and two underexposed images EC2. This results in five equirectangular projection images including the equirectangular projection images EC to be used for generating the spherical image CE. These images respectively have exposure values (EV) of −2.0, −1.0, 0.0, +1.0, and +2.0. The EVs −2.0 and −1.0 each indicate that the images are under exposed. The EVs +1.0 and +2.0 each indicate that the images are over exposed. The EV of the equirectangular projection image EC, which is 0.0, is combined with any one of the overexposed and underexposed images that range from −2.0 to +2.0 to correct exposure.
In this example, the combined value “blend”, which indicates a combined ratio, is calculated using Equation 19. However, the range to be clipped may differ. As indicated by Equation 20, the combined value “blend” may be clipped in the range from 0.0 to 2.0.
0.0<=blend<=2.0 (Equation 20)
That is, when there are a plurality of images that differ in exposure for each one of overexposed image and underexposed image, the correction unit 584 changes a range of clipping to switch the images to be combined according to the combined value “blend”.
The combined value “blend” of the corrected image D is then obtained using Equation 21.
D(u,v)=I1(u,v)*adj+I2(u,v)*(1.0-adj) (Equation 21)
Here, I1 represents the image selected as a target for correction, and I2 represents the image to be corrected.
The following describes the example case in which the predetermined-area image Q is made darker.
In the example case (i) where 0.0<=blend<=1.0, the correction value “adj” is equal to the combined value “blend”. In this case (i), the underexposed image with EV −1.0 is selected as the image I1. The equirectangular projection image EC (the predetermined-area image Q) with EV 0.0 is selected as the image I2.
In the example case (ii) where 1.0<blend<=2.0, the correction value “adj” is equal to (combined value “blend”−1.0). In this case (ii), the underexposed image with EV −2.0 is selected as the image I1. The underexposed image with EV −1.0 is selected as the image I2.
As described above, when the combined value “blend” is larger than a given value, the correction unit 584 combines the predetermined-area image Q, and the underexposed image that is the next darkest image to the predetermined-area image Q (case (i)). When the combined value “blend” is smaller than the given value, the correction unit 584 combines two underexposed images each have darker values than the values of the predetermined-area image Q (case (ii)). The predetermined-area image Q may be made darker by a desired amount as indicated by the combined ratio “blend”, through selecting and combining two images from among the predetermined-area image Q and two underexposed images.
Referring to
In one example, the image (b) of
Even with absent of the target object, i.e., the planar image P, underexposure of the predetermined area T can be compensated by combining with the overexposed image according to a combined ratio determined by the brightness value of the predetermined area T.
In other example, the image (a) of
The image (b) of
Even with absent of the target object, i.e., the planar image P, overexposure of the predetermined area T can be compensated by combining with the underexposed image according to a combined ratio determined by the brightness value of the predetermined area T.
The above-described operation of correcting at least one of the brightness and color of the spherical image CE, when there is no superimposed image S being displayed in the predetermined area T, may be applied to the example case where the wide-angle view image is displayed with no planar image being displayed.
Referring now to
S500 of correcting the equirectangular projection image EC is performed in a substantially similar manner as described above referring to
In the above-described embodiment referring to
Referring to
At S600, the correction unit 584 corrects the planar image P to generate the corrected planar image C, which has the brightness and color that match the brightness and color of the corrected equirectangular projection image D.
Now, the specific example of generating the corrected planar image C is described. The corrected equirectangular projection image D is generated by correcting the brightness and color of the equirectangular projection image EC. The correction unit 584 calculates a ratio of the third area CA 3 between the equirectangular projection image EC and the corrected equirectangular projection image D in brightness and color.
In this embodiment, the brightness of the third area CA3 in the equirectangular projection image EC, and the brightness of the corrected equirectangular projection image D, are respectively represented by Y and YD. The brightness ratio of the corrected equirectangular projection image D to the equirectangular projection image EC is expressed as YD/Y. The correction parameter in the superimposed display metadata includes gain data for correcting the brightness and color of the planar image P, to match the brightness and color of the equirectangular projection image EC. The correction unit 584 calculates a correction parameter for correcting the brightness of the planar image P to match the brightness of the corrected image D, by multiplying this correction parameter with the obtained brightness ratio. In a substantially similar manner, the correction parameter for correcting color of the planar image P to match the color of the corrected image D is calculated by multiplying the correction parameter with the obtained color ratio. The planar image P is multiplied with the calculated correction parameter for correcting brightness and color, to generate the corrected image having the brightness and color that match the brightness and color of the corrected image D.
As illustrated in
Since the corrected planar image C is corrected to match the brightness and color of the corrected equirectangular projection image D, it does not matter whether the planar image P is displayed in the predetermined area T. Accordingly, the smart phone 5 displays the predetermined-area image Q based on the corrected equirectangular projection image D, with the brightness and color adequately corrected.
As described above, with use of the corrected image D and the corrected image C, the predetermined-area image Q being displayed in the display area of the display is displayed with the brightness and color that are optimized when viewed from the user.
In this eighth embodiment, the brightness and color of the images are corrected more flexibly, compared to the fourth and fifth embodiments. In any one of the above-described fourth and fifth embodiments, the brightness and color of the image being displayed are within a range between the equirectangular projection image EC and the planar image P, as illustrated in
Any one of the above-described embodiments may be implemented in various other ways. For example, as illustrated in
In any of the above-described embodiments, the planar image P is superimposed on the spherical image CE. Alternatively, the planar image P to be superimposed may be replaced by a part of the spherical image CE. In another example, after deleting a part of the spherical image CE, the planar image P may be embedded in that part having no image.
Furthermore, in the second embodiment, the image processing server 7 performs superimposition of images (S45). For example, the image processing server 7 may transmit the superimposed display metadata to the smart phone 5, to instruct the smart phone 5 to perform superimposition of images and display the superimposed images. In such case, at the image processing server 7, the metadata generator 75a illustrated in
Further, in alternative to defining the angle β as a difference (displacement or shift) between the line of sight direction and the superimposed image (planar image), the angle β may be defined by a distance between the line of sight direction and the superimposed image (planar image).
Further, display of the spherical image may be performed using any desired software such as browser software or application software.
Further, any number of imaging elements, such as cameras, may be provided on the smart phone 5 or connected to the smart phone 5.
In this disclosure, examples of superimposition of images include, but not limited to, placement of one image on top of other image entirely or partly, laying one image over other image entirely or partly, mapping one image on other image entirely or partly, pasting one image on other image entirely or partly, combining one image with other image, and integrating one image with other image. That is, as long as the user can perceive a plurality of images (such as the spherical image and the planar image) being displayed on a display as they were one image, processing to be performed on those images for display is not limited to the above-described examples.
The present invention can be implemented in any convenient form, for example using dedicated hardware, or a mixture of dedicated hardware and software. The present invention may be implemented as computer software implemented by one or more networked processing apparatuses. The processing apparatuses can compromise any suitably programmed apparatuses such as a general-purpose computer, personal digital assistant, mobile telephone (such as a WAP or 3G-compliant phone) and so on. Since the present invention can be implemented as software, each and every aspect of the present invention thus encompasses computer software implementable on a programmable device. The computer software can be provided to the programmable device using any conventional carrier medium such as a recording medium. The carrier medium can compromise a transient carrier medium such as an electrical, optical, microwave, acoustic or radio frequency signal carrying the computer code. An example of such a transient medium is a TCP/IP signal carrying computer code over an IP network, such as the Internet. The carrier medium can also comprise a storage medium for storing processor readable code such as a floppy disk, hard disk, CD ROM, magnetic tape device or solid state memory device.
Each of the functions of the described embodiments may be implemented by one or more processing circuits or circuitry. Processing circuitry includes a programmed processor, as a processor includes circuitry. A processing circuit also includes devices such as an application specific integrated circuit (ASIC), DSP (digital signal processor), FPGA (field programmable gate array) and conventional circuit components arranged to perform the recited functions.
In one example, the present invention resides in an image processing apparatus including circuitry to obtain a first image and a second image; control a display to display an image of a predetermined area of the first image, the first image being superimposed with the second image; and correct at least one of brightness and color of the second image according to a ratio of an area of the second image in the predetermined area with respect to the predetermined area of the first image.
In one example, the image processing apparatus further accepts an instruction to change at least one of a location and a size of the predetermined area in the first image. Based on a determination that the instruction to change causes the change in ratio of the area of the second image to the predetermined area, the circuitry corrects the at least one of brightness and color of the second image according to the ratio of the area of the second image to the predetermined area that has been changed.
In one example, with decrease in the ratio of the area of the second image to the predetermined area, the circuitry increases an amount of correction to be performed on the second image such that the second image reflects more of the at least one of brightness and color of the predetermined area.
With increase in the ratio of the area of the second image to the predetermined area, the circuitry reduces an amount of correction to be performed on the second image such that the second image reflects less of the at least one of brightness and color of the predetermined area.
In one example, the first image is in first projection and the second image is in second projection, the first projection and the second projection being different from each other. The circuitry generates a correction image based on the second image, the correction image having the at least one of brightness and color that matches the at least one of brightness and color of the first image, and determines a combined ratio of the at least one of brightness and color of the second image with respect to the at least one of brightness and color of the corrected image according to the ratio of the area of the second image to the predetermined area. The combined ratio has a value ranging from a first value to a second value. The first value causes the at least one of brightness and color of the second image be unchanged, and the second value causes the at least one of brightness and color of the second image be corrected to match the at least one of brightness and color of the corrected image.
In one example, the circuitry calculates the ratio of the area of the second image to the predetermined area, based on an angle of view indicating a central point and a size of the predetermined area, with respect to an angle of view indicating a central point and a size of the second image.
In another example, an image processing apparatus includes circuitry to obtain a first image and a second image; control a display to display an image of a predetermined area of the first image, the first image being superimposed with the second image; and correct at least one of brightness and color of at least one of the first image and the second image, according to a difference between a line of sight direction in the first image and a central point of the second image.
In one example, with decrease in the difference between a line of sight direction in the first image and a central point of the second image, the circuitry controls correction performed respectively on the first image and the second image, such that the first image reflects more of the at least one of brightness and color of the second image while the second image keeps more of the at least one of brightness and color of the second image.
With increase in the difference between a line of sight direction in the first image and a central point of the second image, the circuitry controls correction performed respectively on the first image and the second image, such that the second image reflects more of the at least one of brightness and color of the first image while the first image keeps more of the at least one of brightness and color of the first image.
In one example, the first image is in first projection and the second image is in second projection, the first projection and the second projection being different from each other. The circuitry generates a first correction image based on the second image, the first correction image having the at least one of brightness and color that matches the at least one of brightness and color of the first image, determines a first combined ratio of the at least one of brightness and color of the second image with respect to the at least one of brightness and color of the first corrected image, according to the difference between a line of sight direction in the first image and a central point of the second image, and combines the at least one of brightness and color of the second image and the at least one of brightness and color of the first corrected image according to the first combined ratio, to correct the at least one of brightness and color of the second image.
In one example, the first image is in first projection and the second image is in second projection, the first projection and the second projection being different from each other. The circuitry generates a second correction image based on the first image, the second correction image having the at least one of brightness and color that matches the at least one of brightness and color of the second image, determines a second combined ratio of the at least one of brightness and color of the first image with respect to the at least one of brightness and color of the second corrected image, according to the difference between a line of sight direction in the first image and a central point of the second image, and combines the at least one of brightness and color of the first image and the at least one of brightness and color of the second corrected image according to the second combined ratio, to correct the at least one of brightness and color of the first image.
In one example, the circuitry obtains a plurality of first projection images that respectively have different exposure values from an exposure value of the first image being superimposed with the second image, and adjusts the at least one of brightness and color of the first image to be used for generating the second correction image, using at least one of the plurality of first projection images, to compensate overexposure or underexposure of the first image.
In one example, when the second image includes a plurality of second images to be superimposed on the first image, the circuitry calculates target values of the at least one of brightness and color to be used for correcting the at least one of brightness and color of the first image, the target values being calculated based on one of: 1) the at least one of brightness and color of one of the plurality of second images having the smallest difference between a line of sight direction in the first image and a central point of the second image; 2) the at least one of brightness and color of one of the plurality of second images having the largest area of the second image in the predetermined area; 3) the at least one of brightness and color of a combined image generated by combining at least two of the plurality of second images according to a combined ratio that is determined by a weighted average of differences each indicating a difference between a line of sight direction in the first image and a central point of the second image for each of the second images; and 4) the at least one of brightness and color of a combined image generated by combining at least two of the plurality of second images according to a combined ratio that is determined by a weighted average of areas of the second images in the predetermined area.
This patent application is based on and claims priority pursuant to 35 U.S.C. § 119(a) to Japanese Patent Application Nos. 2016-256581, filed on Dec. 28, 2016, 2017-051838, filed on Mar. 16, 2017, 2017-208677, filed on Oct. 27, 2017, and 2017-245455, filed on Dec. 21, 2017, in the Japan Patent Office, the entire disclosure of which is hereby incorporated by reference herein.
Number | Date | Country | Kind |
---|---|---|---|
2016-256581 | Dec 2016 | JP | national |
2017-051838 | Mar 2017 | JP | national |
2017-208677 | Oct 2017 | JP | national |
2017-245455 | Dec 2017 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2017/047192 | 12/28/2017 | WO | 00 |