POINT OF VIEW ABERRATIONS CORRECTION IN A SCANNING FOLDED CAMERA

20230108086 · 2023-04-06

    Inventors

    Cpc classification

    International classification

    Abstract

    Systems and methods for correcting point of view (POV) aberrations in scanning folded cameras and multi-cameras including such scanning folded cameras. In a Tele folded camera that includes an optical path folding element (OPFE) and an image sensor, the OPFE is tilted in one or two directions to direct the Tele folded camera towards a POV of a scene, a Tele image or a stream of Tele images is captured from the POV, the Tele image having POV aberrations and the POV aberrations are digitally corrected to obtain an aberration-corrected image or stream of images.

    Claims

    1. A method, comprising: a) providing a Tele folded camera that includes an optical path folding element (OPFE) and an image sensor; b) tilting the OPFE in one or more directions to perform optical image stabilization (OIS); c) while performing OIS, capturing a stream of Tele images, wherein each Tele image has a respective point of view (POV) aberration; and d) digitally correcting the respective POV aberration.

    2. The method of claim 1, wherein the correcting the respective POV aberration depends on a tilt position of the OPFE.

    3. The method of claim 1, wherein the correcting the respective POV aberration depends on calibration data.

    4. The method of claim 1, wherein for calculating OIS control signals, data from an inertial measurement unit and/or and image data is used.

    5. The method of claim 1, wherein the respective POV aberration represents a rotation of a Tele image.

    6. The method of claim 1, wherein the respective POV aberration represents a stretching to a trapeze shape of a Tele image.

    7. The method of claim 1, wherein the respective POV aberration represents a scaling of a Tele image.

    8. The method of claim 1, wherein the OPFE is tilted in two directions to perform OIS.

    9. The method of claim 1, wherein the Tele folded camera has a scanning Tele field-of-view (S-FOV.sub.T) which is scanned by tilting the OPFE, the S-FOV.sub.T including a center POV and a plurality of non-center POVs, and wherein the Tele folded camera can be directed towards all POVs within S-FOV.sub.T to perform the OIS.

    10. The method of claim 9, wherein the respective POV aberration is caused by tilting the OPFE to a non-center POV.

    11. The method of claim 1, wherein the OPFE is a prism.

    12. The method of claim 1, wherein the correcting the respective POV aberration includes applying a geometric transformation to the captured Tele image having the respective POV aberration to obtain a respective aberration-corrected image.

    13. The method of claim 12, wherein the geometric transformation uses calibration data captured during a camera calibration process.

    14. The method of claim 12, wherein the geometric transformation is a homography transformation.

    15. The method of claim 1, further comprising cropping the aberration-corrected image to obtain a respective aberration-corrected cropped (ACC) image that has an ACC image center, an ACC image size and an ACC image width/height ratio.

    16. The method of claim 15, further comprising scaling the ACC image to obtain a respective aberration-corrected cropped and scaled output image that has an output image center (OIC), an output image size and an output image width/height ratio.

    17. The method of claim 16, wherein the image sensor has an image sensor center, an active sensor width and an active sensor height, and wherein the OIC coincides with the image sensor center.

    18. The method of claim 16, wherein the OIC is selected so that a largest possible rectangular crop image size for a particular output image width/height ratio is achieved.

    19. The method of claim 16, wherein the OIC is located less than 10 pixel sizes away from an ideal OIC.

    20. The method of claim 16, wherein the OIC is located less than a distance of 10% of the active sensor width away from an ideal OIC.

    21. The method of claim 16, wherein the OIC is located less than a distance of 10% of the active sensor height away from an ideal OIC.

    22. The method of claim 16, wherein the OIC is selected such that an object-image magnification M of an object across different POVs does vary from a constant value by less than 10%.

    23. The method of claim 16, wherein the OIC is selected such that the output image covers a maximum area within a scene.

    24. The method of claim 16, wherein steps b and c are repeated to obtain a plurality of Tele images captured at a plurality of respective POVs, and wherein the OIC is selected such that a plurality of Tele images captured for all possible POVs cover a maximum rectangular area within a scene.

    25. The method of claim 1, wherein the method is used in a smartphone.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0049] Non-limiting examples of embodiments disclosed herein are described below with reference to figures attached hereto that are listed following this paragraph. The drawings and descriptions are meant to illuminate and clarify embodiments disclosed herein, and should not be considered limiting in any way. Like elements in different drawings may be indicated like numerals.

    [0050] FIG. 1A shows schematically a known folded camera with an OPFE in zero position from one perspective view;

    [0051] FIG. 1B shows schematically the folded camera of FIG. 1A from another perspective view;

    [0052] FIG. 1C shows schematically the camera of FIG. 1A with the OPFE in a first non-zero position;

    [0053] FIG. 1D shows schematically the camera of FIG. 1A with the OPFE in a second non-zero position;

    [0054] FIG. 2A shows different OPFE positions and respective FOVs in an object domain;

    [0055] FIG. 2B shows acquired images, corrected images and cropped images of respective objects at the three different OPFE positions;

    [0056] FIG. 2C shows the method for generating a Tele output image as described herein;

    [0057] FIG. 3A shows an FOV of the entire range of the OPFE scanning positions with an exemplary object;

    [0058] FIG. 3B shows details of the acquired image of the exemplary object in FIG. 3A;

    [0059] FIG. 3C shows details of a corrected image of the acquired image in FIG. 3B;

    [0060] FIG. 3D shows details of a cropped image of the corrected image in FIG. 3C;

    [0061] FIG. 4 shows schematically an embodiment of an electronic device including multi-aperture cameras with at least one scanning Tele camera;

    [0062] FIG. 5 shows a method for a STC calibration process described herein;

    [0063] FIG. 6 shows an exemplarily calibration chart that may be used for the calibration method described in FIG. 5.

    DETAILED DESCRIPTION

    [0064] FIG. 2A shows different OPFE positions and their respective N-FOV.sub.Ts in an “object domain”. FIG. 2B shows acquired images, corrected images and cropped images of respective objects at the three different (0, 1 and 2) OPFE positions shown in FIG. 2A. The object domain is defined as the appearance of a scene that is captured by an ideal camera having a sufficiently large FOV and not having any aberrations and distortions. That is, the object domain corresponds to the appearance of the scene as it may appear to a human observer. The object domain is differentiated from an “image domain”, which is defined as the appearance of the scene as captured by a STC such as camera 100.

    [0065] In FIGS. 2A-B, 202-i (i=0, 1, 2) represent S-FOV.sub.Ts, 204-i represent objects, 206-i represent image frames, 208-i represent images of objects 204-i, 210-i represent image data boundaries and 212-i represent rectangular crops of image frames.

    [0066] Box 200 represents the smallest rectangular FOV that includes S-FOV.sub.T, i.e. all the image data from all POVs that can be reached with a STC in the object domain. The N-FOV.sub.Ts for three different OPFE positions (0, 1 and 2) are represented by 202-0, 202-1 and 202-2. Each OPFE position corresponds to a different POV. The N-FOV.sub.T for an OPFE “zero position” 202-0 is defined as an N-FOV.sub.T that produces an image of an object or scene without POV aberrations, i.e. (besides a scaling factor and assuming no camera aberrations and distortions) at zero position an object in the object domain is identical to the object image in the image domain. As shown, the N-FOV.sub.T at any other position (e.g. 202-1 and 202-2) is not a horizontal rectangle (with respect to 202-0), but an arbitrary tetragon. The same rectangular object is represented by 204-0, 204-1 and 204-2 in, respectively, N-FOV.sub.Ts 202-0, 202-1 and 202-2.

    [0067] In an example, the OPFE is positioned at a scanning position 1 (FIG. 2A) with N-FOV.sub.T 202-1 that includes object 204-1 and represents a POV of the STC. An image frame 206-1 (FIG. 2B) is captured (acquired) at position 1. In the captured image, object 204-1 is represented by captured object image 208-1 (FIG. 2B). A geometric transformation is applied on frame 206-1 to obtain a corrected image frame 206′-1. The geometric transformation is related to the rotation angle of the OPFE under which the respective image was captured. Inside corrected image frame 206′-1, one can see the corrected image 208′-1 of image 208-1. 210′-1 marks the boundary of image data present in corrected image frame 206′-1, and 212-1 is a possible rectangular crop comprising an image segment of 210′-1. Rectangular crop 212-1 may have the same aspect ratio AR (i.e. a ratio of horizontal width and vertical height) as AR of image sensor 106. In other examples, rectangular crop 212-1 may have a same aspect ratio as the aspect ratio used for outputting a zero position image such as 206″-0. Corrected image 206′-1 is then cropped to obtain a corrected cropped image 206″-1.

    [0068] In FIG. 2B in the acquired image row, 206-0, 206-1 and 206-2 are original raw image captures (frames) acquired at, respectively, OPFE positions 0, 1 and 2. 208-0, 208-1 and 208-2 are captured images of, respectively, objects 204-0, 204-1 and 204-2. In the corrected image row, 206′-0, 206′-1 and 206′-2 represent corrected (also referred to as “rectified” or “aberration-corrected”) image frames that underwent image rectification. 208′-0, 208′-1 and 208′-2 represent captured object images 208-0, 208-1 and 208-2 of objects 204-0, 204-1 and 204-2 after image rectification, i.e. they represent “corrected images” (or “rectified images”) of the objects. The image data present in corrected image 206′-1 has a boundary 2104 and the image data in corrected image 206′-2 has a boundary 210′-2. The dotted area between 206′-1 and 210′-1, and between 206′-2 and 210′-2 has no valid image data to be shown on screen or saved to disk (i.e. the area includes only empty pixels). 212-1 and 212-2 are possible rectangular crops comprising image segments of 210′-1 and 210′-2 respectively. 212-1 and 212-2 may have a specific AR. In the cropped image row, 206″-0, 206″-1 and 206″-2 are aberration-corrected cropped (“ACC”) images comprising image data of 206′-0, 206′-1 and 206′-2, i.e. they comprise corrected image data of 206-0, 206-1 and 206-2. In some embodiments, after cropping the images are scaled. In images 206″-0, 206″-1 and 206″-2, areas 208″-0, 208″-1 and 208″-2 represent the image data of objects 204-0, 204-1 and 204-2 which underwent rectification, cropping and scaling. The images 206″-1 and 206″-2 are generated by cropping images 206′-1 and 206′-2 along the boundaries 212-1 and 212-2 respectively. Image 206″-0 did not undergo cropping, i.e. all image data of 206′-0 is present also in 206″-0. Note that since position ‘0’ was defined as having no POV aberrations, the correction algorithm will have no effect on the acquired image (i.e. 206-0, 206′-0 and 206″-0 will be identical). In other examples, 206-0, 206′-0 and 206″-0 may not be of equal size, but 206′-0 and/or 206″-0 may differ in size from 206-0 by a certain crop factor. The same applies for object images 208-0, 208′-0 and 208″-0.

    [0069] FIG. 2C shows schematically an exemplary method for generating a Tele output image disclosed herein. In a first step 252, a command triggered by a human user or a program directs N-FOV.sub.T to a region of interest (ROI) within a scene by scanning. The scanning may be performed by rotating an OPFE. The FOV scanning by OPFE rotation is not performed instantaneously, but requires some settling time, which may be for example about 1-30 ms for scanning 2-5 degrees and about 15-100 ms for scanning 10-25 degrees. After the settling time, an STC image (such as images 206-0, 206-1 and 206-2 in FIG. 2B) is captured in step 254. In step 256, the STC image is rectified. In a first rectification sub-step (called “geometrical transformation sub-step”), a geometric transformation (such as a homography transformation, an affine transformation or a non-affine transformation) is performed, with results as shown in FIG. 2B. In the following and as an example, “homography transformation” is used to represent any meaningful geometric transformation. The homography transformation corrects for the aberrations associated with any particular POV and is thus a function of the POV. A second rectification sub-step (“interpolation sub-step”) may be performed, which is detailed below.

    [0070] A corrected (or rectified, or aberration-corrected) image is thus obtained. Calibration data between an OPFE position and the corresponding POV may be used to select the homography transformation corresponding to the particular POV. In some embodiments, the geometric transformation may include corrections known in the art such as e.g. distortion correction and color correction. In step 258, the corrected image is cropped as depicted in FIG. 2B. In step 260, the cropped image is scaled. A cropped and scaled output image is output in step 262. The output image may be displayed on an electronic device such as device 400 (FIG. 4) and/or stored in a memory such as memory 450 (FIG. 4) or any other memory of the device.

    [0071] The cropping in step 258 may be done according to different crop selection criteria. Some crop selection criteria may aim for a particular size of the cropped image. Other crop selection criteria may enable a particular input image coordinate to be transferred to a particular image coordinate of the cropped image. In the following, “crop selection” criteria may be referred to simply as “crop criteria”.

    [0072] Crop criteria that aim for a particular size of cropped images may be as follows: in one criterion (crop criterion 1), the image may be cropped so that a resulting image is a rectangular image. In another criterion (crop criterion 2), the resulting image may be a square. Here and in the following, the image size and shape are defined by the number and distribution of the image pixels, so that size and shape do not depend on the actual mode the image is displayed. As an example, a rectangular image has m rows (image height), wherein each row includes n values (image width).

    [0073] A square image has m rows with m values each. A first rectangular image having m.sub.1 rows with n.sub.1 values each is larger than a second rectangular image having m.sub.2 rows and n.sub.2 values if m.sub.1×n.sub.1>m.sub.2×n.sub.2 is satisfied.

    [0074] In yet another criterion (crop criterion 3), the image is cropped so that a largest rectangular image having a particular AR for the particular POV is obtained. Examples for this criterion are the crop options “D” and “E” shown in FIG. 3D. The AR refers to the width/height ratio of an image. An AR may e.g. be 4:3, 3:2 or 16:9. In yet another criterion (crop criterion 4), the image captured at a first POV is cropped so that the resulting image has the same AR and size as an image captured at a second POV. The second POV is the POV that leads to the smallest image obtained by cropping a largest rectangular image having a particular AR for the second POV. Crop criterion 4 ensures that cropped images at all possible POVs have identical AR and shape. In yet another criterion (crop criterion 5), the image is cropped so that all output images generated from STC images captured in step 254 from the entire S-FOV.sub.T cover a largest area of a rectangular FOV in the object domain. This cropping criterion ensures that the area of a rectangular FOV in the object domain such as 200 is covered maximally by S-FOV.sub.T. In yet another criterion (crop criterion 6), the image is cropped rectangularly so that an identical object-to-image magnification is obtained for the entire S-FOV.sub.T. In general, the object images of images captured in step 254 are smaller for larger POVs. In some embodiments, the condition of “identical magnification” may be satisfied if the magnifications obtained for all POVs vary from a constant value by <10%. In other examples, the condition of “identical magnification” may be satisfied if the magnifications obtained for all POVs vary by <5% or by <15%.

    [0075] Crop criteria that map particular input image coordinates to particular image coordinates of the cropped image are presented next. In general, and by applying a particular crop selection criterion, any arbitrary object image point of the image captured in step 254 (the “input image”) can be defined as the image center of the image output in step 262. In a crop criterion 7, the image may be cropped rectangularly so that the image center of the cropped image contains image data identical with that of the input image center for a particular POV. An image center may be defined as the center pixel and the surrounding pixels that lie within a radius of e.g. 10 times the pixel size. In some embodiments, the image center may be defined as the center pixel plus surrounding pixels that lie within a radius of e.g. 5 or 30 times the pixel size.

    [0076] In a crop criterion 8, the image may be cropped rectangularly so that the cropped image center contains image data identical with that of an input image center, with the cropped image additionally fulfilling the condition that any two images that are captured at arbitrary first and second POVs are cropped so that the resulting images have the same AR and size. In yet other examples, crop criterion 8 may additionally fulfill the condition that the cropped images are of maximal size (crop criterion 9). In yet other examples, an image may be cropped so that a ROI or an object of interest (OOI) is displayed on the image output in step 264 in a visually appealing fashion (crop criterion 10). This criterion may support aesthetic image cropping, e.g. as described by Wang et al in the article “A deep network solution for attention and aesthetics aware photo cropping”, May 2018, IEEE Transactions on Pattern Analysis and Machine Intelligence. Applications of aesthetic image cropping are also described in the co-owned PCT Patent Application No. PCT/IB2020-061330. In yet other examples, an image may be cropped according to the needs of further processing steps, e.g. the image may be cropped so that only a particular segment of the FOV in the object domain is included (crop criterion 11). A possible further processing may e.g. be the generation of a super image, i.e. of an output image that is composed of the image data of a plurality of input images. The generation of a super-image is described in co-owned PCT Patent Application No. PCT/IB2021-054070. Another possible further processing may be the generation of a panorama image as known in the art.

    [0077] The scaling in step 260 may be performed according to different scaling selection criteria. In some embodiments, scaling may be performed so that images captured under different POVs in step 254 and output in step 262 (the “output image”) have identical size and AR (scale criterion 1). In other examples, scaling may be performed so that the pixel density per object image area in the output image is identical with the pixel density per area in the object domain present in the image captured in step 254 (scale criterion 2). In yet other examples, scaling may be performed so that the image size fits the requirements of a program that performs further processing on the image data (scale criterion 3).

    [0078] Steps 252-262 outlined above may be performed sequentially, i.e. one after the other.

    [0079] In some STC image rectification embodiments, step 256 may be performed as follows: let (x.sup.in.sub.i, y.sup.in.sub.j) be the values of some arbitrary image coordinates (i, j) of an input image (captured in step 254) and let (x.sup.out.sub.m, y.sup.out.sub.n) be the values of some arbitrary image coordinates (m, n) of an output image (of step 256). In the geometrical transformation sub-step, a homography transformation may be (x.sup.out, y.sup.out)=f.sub.H(x.sup.in, y.sup.in) with H being a 3×3 homography transformation matrix known in the art. The homography transformation can be inversed by using f.sub.H.sup.−1=f.sub.H-1. A crop transformation (x.sup.out, y.sup.out)=Crop(x.sup.in, y.sup.in) may be (x.sup.out.sub.m, y.sup.out.sub.n)=(x.sup.in.sub.i−crop-start_x.sub.i, y.sup.in.sub.j−crop-start_y.sub.j) for assigning each coordinate of the input image a coordinate in the output image wherein only coordinates with values>0 are used for the output image. Vector (crop-start_x.sub.i, crop-start_y.sub.j) defines size and shape of the cropped image. An inverse crop transformation Crop.sup.−1 is defined by (x.sup.in.sub.m, y.sup.in.sub.n)=(x.sup.out.sub.i+crop-start_x.sub.i, y.sup.out.sub.j−crop-start_y.sub.j). A scale transformation (x.sup.out, y.sup.out)=Scale(x.sup.in, y.sup.in) may be (x.sup.out, y.sup.out)=(s.sub.x.Math.x.sup.in, s.sub.y.Math.y.sup.in) with scaling factors s.sub.x and s.sub.y in x and y direction respectively. An inverse scale transformation Scale.sup.−1 is defined by (x.sup.in, y.sup.in) (s.sub.x.sup.−1.Math.x.sup.out, s.sub.y.sup.−1.Math.y.sup.out). A transfer function T is defined by applying homography, crop and scale sequentially, i.e. T is defined by (x.sup.out, y.sup.out)=Scale(Crop(f.sub.H(x.sup.in, y.sup.in))) and (x.sup.out, y.sup.out)=T(x.sup.in, y.sup.in).

    [0080] In the interpolation sub-step, one may sequentially interpolate all values of output image (x.sup.out, y.sup.out) directly from the input image via transfer function T. For example, one may start with calculating values (x.sup.out.sub.m, y.sup.out.sub.n) at an arbitrary starting point having coordinates (m, n) of the output image. For this, one calculates coordinates (m′, n′) of input image (x.sup.in, y.sup.in) that are to be included for calculating values (x.sup.out.sub.m, y.sup.out.sub.n) at the particular coordinates (m, n) of the output image. Coordinates (m′, n′) in the input image may be obtained by applying an inverse transfer function T.sup.−1 to all output coordinates (m, n), i.e. T.sup.−1(x.sup.out.sub.m, y.sup.out.sub.n) or f.sub.H.sup.−1(crop.sup.−1(scale.sup.−1(x.sup.out.sub.m, y.sup.out.sub.n))) for all (m, n). In general, T.sup.−1 may not map each coordinate (m, n) on one coordinate (m′, n′), but map each coordinate on a segment of neighboring coordinates (m′, n′). For calculating the values (x.sup.out.sub.m, y.sup.out.sub.n), the entire segment or parts of the segment of neighboring coordinates (m′, n′) may be taken into account. For obtaining values (x.sup.out.sub.m, y.sup.out.sub.n) of the output image at coordinates (m, n), in a first step a re-sampling function R as known in the art may be evaluated for all neighboring coordinates (m′, n′) according to T(x.sup.out′.sub.m, y.sup.out′.sub.n)=Resample (Tin, x.sup.in.sub.m′, y.sup.in.sub.n′). The re-sampling may be performed by methods known in the art such as nearest neighbor, bi-linear, or bi-cubic.

    [0081] After values (x.sup.out.sub.m, y.sup.out.sub.n) are determined, one may perform the steps above for calculating the values (x.sup.out.sub.o, y.sup.out.sub.p) at additional coordinates (o, p), etc. This is repeated until all values (x.sup.out, y.sup.out) of the output image are obtained. In various embodiments, the calculation as described above is performed for a plurality of output coordinates or even for all output coordinates in parallel. In some STC image rectification embodiments, the calculations described here may be performed by a CPU (Central Processing Unit). In other STC image rectification embodiments and for faster image processing, the calculations described here may be performed by a GPU (Graphics Processing Unit). The STC image rectification may be performed in different color domains, e.g. RGB, YUV, YUV420 and further color domains known in the art.

    [0082] FIG. 3A shows S-FOV.sub.T 300 in the object domain. 302 represents a N-FOV.sub.T Corresponding to a particular OPFE position within 300. 304 represents the object point in the scene whose image point is located at the center of the image sensor. 306 represents an arbitrary selected particular object point in the scene that is included in N-FOV.sub.T 302.

    [0083] FIG. 3B shows an acquired Tele image 310 having a center 304′ and including an image point 306′ of object point 306. FIG. 3C shows a corrected image 312 generated by applying the geometric transformation described above to image 310. 314 is the boundary of the image data in the corrected image, i.e. outside of the boundary (dotted area) there is no image data available. 304″ and 306″ are the locations of image points 304′ and 306′ respectively in the corrected image.

    [0084] FIG. 3D shows exemplarily different options for rectangularly cropping corrected image 312 shown in FIG. 3C and generating an output image as described herein. One can see that the image data that is located at the output image center (OIC) depends on the selected cropping criteria. In the examples marked “D” and “C”, crop selection criteria are selected so that particular image point 306′ is located at the OIC. Cropping option “D” is selected so that two criteria are fulfilled: (i) “particular image point 306′ is located at the OIC” and (ii) “the largest rectangular image for the given POV is achieved”. Cropping option “C” is selected so that the criterion “particular image point 306′ is located at the OIC” is fulfilled. Additional crop selection criteria are depicted in the examples marked “A”, “B” and “E”. Cropping option “A” is selected so that the criterion “image center 304′ is located at the OIC” is fulfilled. Cropping option “B” is selected so that two criteria are fulfilled: (i) “image center 304′ is located at the OIC” and (ii) “the largest rectangular image for the given POV is achieved”. Cropping option “E” is selected so that for the output image the criterion “the largest rectangular image for the given POV is achieved” is fulfilled. In other examples (not shown), a cropping option may be selected so that two criteria are fulfilled: (i) “image center 304′ is located at the OIC” and (ii) “the largest rectangular image for all possible POVs is achieved”. It may not always be possible or beneficial to locate the OIC exactly at a particular image position (“ideal OIC”) such as e.g. the image center, but in proximity of the ideal OIC. Proximity of the ideal OIC may be expressed as a percentage of the image sensor size (e.g. OIC may be located <10% of image sensor width from the ideal OIC) or as a distance in pixels (e.g. OIC may be located less than a distance of 10×pixel size away from the ideal OIC).

    [0085] In yet other examples (not shown), a cropping option may be selected so that that the criterion “the largest rectangular image for all possible POVs is achieved” is fulfilled. In yet other examples (not shown), a cropping option may be selected so that that the criterion “the largest rectangular image for a particular plurality of POVs is achieved” is fulfilled. The particular plurality of POVs may cover all possible POVs or a subset thereof.

    [0086] FIG. 4 shows schematically an embodiment of a mobile electronic device (“electronic device”) numbered 400 and including multi-aperture cameras with at least one STC. Electronic device 400 may e.g. be a smartphone, a tablet, a laptop, etc. Electronic device 400 comprises a first STC module 410 that includes an OPFE 412 for FOV scanning, and a Tele lens module 418 that forms a Tele image recorded by a first image sensor 416. Image sensor 416 has an active sensor area defined by an active sensor width and an active sensor height which performs the actual light harvesting, and an inactive area that does not perform light harvesting. A Tele lens actuator 422 may move lens module 418 for focusing and/or optical image stabilization (OIS). Electronic device 400 may further comprise an application processor (AP) 440 that includes a FOV scanner 442, a motion estimator 444 and an image generator 446. STC 410 may have an effective focal length (“EFL”) of EFL=5 mm-50 mm. A sensor diagonal (“SD”) of image sensor 416 may be SD=3 mm-15 mm.

    [0087] Calibration data may be stored in a first memory 424, e.g. in an EEPROM (electrically erasable programmable read only memory), in a second memory 438, or in a third memory 450, e.g. in a NVM (non-volatile memory). Calibration data may include STC calibration data and DC calibration data. Electronic device 400 further comprises a Wide (“W”) (or Ultra-Wide, “UW”) camera module 430 with a FOV.sub.W, FOV.sub.UW>N-FOV.sub.T that includes a second lens module 434 that forms an image recorded by a second image sensor 432. A second lens actuator 436 may move lens module 434 for focusing and/or OIS.

    [0088] In use, a processing unit such as AP 440 may receive respective first and second image data from camera modules 410 and 430 and supply camera control signals to camera modules 410 and 430. FOV scanner 442 may receive commands from a human user or a program for directing the N-FOV.sub.T to particular POVs in a scene. In some embodiments, the commands may include a single request for directing N-FOV.sub.T to one particular POV. In other examples, the commands may include a series of requests e.g. for serially directing N-FOV.sub.T to a plurality of particular POVs. FOV scanner 442 may be configured to calculate a scanning order given the requested particular POVs. FOV scanner 442 may be configured to supply control signals to OPFE actuator 414, which may, in response to the control signals, rotate OPFE 412 for scanning N-FOV.sub.T. In some embodiments, FOV scanner 442 may additionally supply control signals to OPFE actuator 414 for actuating OPFE 412 for OIS.

    [0089] Electronic device 400 further comprises an inertial measurement unit (IMU, or “Gyro”) 460 that may supply information on the motion of 400. Motion estimator 444 may use data from IMU 460, e.g. for estimating hand motion caused by a human user. In some embodiments, motion estimator 444 may use additional data. For example, image data from camera 410 and/or from camera 430 may be used to estimate an “optical flow” from a plurality of images as known in the art. Motion estimator 444 may use data from IMU 460 and may use as well optical flow data for estimating motion of 400 with higher accuracy. The information on motion of 400 may be used for OIS or for the homography transformation described above. In other embodiments, only optical flow data estimated from image data of camera 410 and/or camera 430 may be used for estimating motion of 400. Image generator 446 may be configured to generate images and image streams respectively as e.g. described in FIG. 2C. In some embodiments, image generator 446 may be configured to use only first image data from camera 430. In other embodiments, image generator 446 may use image data from camera 410 and/or camera 430.

    [0090] FIG. 5 shows a method for a STC calibration process described herein. The calibration process allows to derive calibration data for a single scanning Tele camera (“STC calibration”) or for a dual-camera (“DC”) including a STC and a Wide camera having a FOV.sub.W>N-FOV.sub.T (“DC calibration”). Goal of the calibration process is to connect between three parameters for all possible POVs: a specific OPFE position which is defined by a position sensor value pair, the POV associated with this specific OPFE position as well as the POV aberrations associated with this specific POV.

    [0091] In a first example (calibration example 1 or “CE1”), the calibration process refers to a STC that scans in 2 dimensions by rotating an OPFE along two axes, wherein the amplitude of the rotation is measured by two or more position sensors (e.g. Hall sensors), a first and a second position sensor P1 and P2 respectively. The STC's POV is measured by the value pair p1 and p2 of P1 and P2 respectively. In a first step 502, a calibration chart (“CC”) is provided. A suitable CC includes location identifiers (such as location identifiers 602 and 604, see FIG. 6) which allow to determine the location on the chart. When capturing a suitable CC at a given distance with a STC, at least one location identifier is present in N-FOV.sub.T for all POVs in S-FOV.sub.T. By means of the location identifier, the STC's POV with respect to the CC can be determined. The location identifiers may e.g. be symbols encoding location information, spread in sufficiently high frequency all over the checkerboard. Additionally, a suitable CC includes angular identifiers that allow to determine the relative angular tilt and rotation between the CC and a STC's image of the CC. The angular identifiers may e.g. be lines present in a checkerboard. An example of a suitable CC is shown in FIG. 6. The size of the CC and the distance between the STC and the CC is to be selected so that the entire S-FOV.sub.T is included in the FOV covered by the CC.

    [0092] In CE1, a list of N specific value pairs (p1, p2) may be defined for a specific STC design. In some embodiments, the list may include N=10 value pairs (p1, p2).sub.1, . . . , (p1, p2).sub.10. In other embodiments, the list may include N=10-20 or even more value pairs. According to a first criterion for value pair selection, the value pairs may be selected so that the STC must capture a minimum number of different POVs in the calibration process (or, in other words, a minimum number of repetitions of steps 504 and 506 is desired).

    [0093] For a second example (“CE2”) for DC calibration, in step 502 another CC may be required, wherein the CC may or may not be a checkerboard. The STC of CE2 fulfills the same attributes as for CE1. Also in CE2, a list of N specific position sensor value pairs (p1, p2), each value pair associated with a specific OPFE position, may be defined for a specific STC design. In some embodiments, the list may include N=200 value pairs (p1, p2)1, . . . , (p1, p2).sub.200. In other embodiments, the list may include N=100-300 or even more value pairs.

    [0094] By tilting the OPFE to a specific OPFE position, in CE1 and CE2 e.g. defined by (p1, p2).sub.1, in step 504 the STC is directed to a (yet unknown) POV on the CC.

    [0095] In step 506, one or more STC images are captured. For DC calibration and for CE2, a second sub-step of step 506 is required, where STC images are captured along W images captured by the Wide camera. Capturing STC images along W images means here that the images are captured at a same dual-camera position and orientation. In general, the capture may be simultaneous, but this is not mandatory.

    [0096] In some embodiments, the capturing of the STC images along the Wide images may be performed together and in one single step, e.g. by a same operator.

    [0097] In other examples, the two steps may be performed separately and e.g. by different operators. For example and for calibrating a STC with respect to a first CC, a first operator may capture one or more STC images at a specific OPFE position. The STC which is calibrated with respect to the first CC may be included by a second operator into a dual-camera which is used for capturing a second CC (which may be or may be not identical to the first CC) with the STC at a specific OPFE position along with one or more W images for calibrating the STC with respect to the W camera of the dual-camera. Steps 504 and 506 are performed repeatedly according to the number N of value pairs, so that one or more STC images are captured at each of the N OPFE positions (or value pairs). The repetition of steps 502 and 504 for the plurality of OPFE positions may be performed for example in a predetermined timeframe. The predetermined timeframe may e.g. be 10 s or 5 s. For example, the first operator may be a camera module manufacturer that manufactures the STC and the second operator may be a phone manufacturer that includes the STC into a dual-camera and the dual-camera into a mobile device. In some embodiments, the second sub-step of step 506 does not include capturing additional STC and W images, but includes receiving external calibration data between the STC and the Wide camera.

    [0098] In step 508, the STC images are analyzed. Aim is to assign a POV and a respective POV aberration to the specific OPFE (or value pairs) position of step 504. The analysis includes to use the CC's location identifiers that appear in a STC image to determine the POV from which it was captured, as well as to use the CC's angular identifiers along with GT images to determine the POV aberrations.

    [0099] For CE1, the analysis includes to use the CC's location identifiers that appear in a STC image to determine the POV from which it was captured, as well as to use the CC's angular identifiers along with ground truth images to determine the POV aberrations.

    [0100] In a first sub-step of CE1, a specific POV.sub.i is assigned to the value pair (p1, p2).sub.i.

    [0101] In a second sub-step of CE1, the STC image is compared to a ground truth image of the CC at the respective POV. In this comparison it is determined which image transformation parameters transform the STC image into the CC's ground truth image. In some embodiments, three image transformation parameters may be used. For DC and CE2, POVs and respective POV aberrations are determined by comparing the STC images and the Wide images captured in step 506.

    [0102] In step 508 of CE1, the first and the second sub-step are performed for all value pairs (p1, p2).sub.1, . . . , (p1, p2).sub.N, so that to each value pair (p1, p2).sub.i a specific POV.sub.i and image transformation parameters are assigned.

    [0103] In step 510, from the analysis in step 508, calibration data is derived. In some embodiments, the calibration data is represented by a bi-directional data polynomial. In other examples, the calibration data is represented by a bi-directional Look-Up-Table (LUT) polynomial. In all examples, STC calibration data includes a function that can be used to translate any OPFE position to a STC image's POV aberrations with respect to a checkerboard and/or STC's POV. DC calibration data can be used to translate any OPFE position to a STC image's POV aberrations with respect to the W camera and/or STC's POV within FOV.sub.W. Vice versa, any POV aberration of an STC image with respect to a W camera's image can be translated into a STC POV within FOV.sub.W and/or to an OPFE position (thus “bi-directional”). In yet other examples, STC calibration data is represented by a LUT which comprises a multitude of OPFE positions with associated values for STC images' POV aberrations with respect to the CC and/or STC's POVs. DC calibration data is represented by a LUT which comprises a multitude of OPFE positions with associated values for STC images' rotation angles with respect to the Wide camera's images and/or Tele POVs within FOV.sub.W. For CE1, a function is determined which approximates the relation between all the value pairs (p1, p2).sub.1, . . . , (p.sub.1, p2).sub.N and their assigned specific POVs, POV.sub.1, . . . , POV.sub.N, as well as their assigned image transformation parameters. This function is generalized, meaning that it is used for bi-directionally translating between all possible OPFE position value pairs, their POVs and image transformation parameters for image rectification. According to a second criterion for value pair selection, the value pairs may be selected so that the generalization of the function leads to a minimum aggregated error (“AE”). “AE”, which is to be minimized, refers here to an error function that depends on the deviation of the STC images that underwent the POV correction from their respective ground truth images for all possible POVs (or a number of POVs that is sufficiently large to approximate statistically all possible POVs). In some embodiments, some compromise between fulfilling the first or the second criterion for value pair selection is made.

    [0104] For CE2, the calibration data derived is included in a LUT. The LUT includes the N OPFE positions (value pairs), the POV associated with each value pair as well as its respective POV aberration. This implies that not for all possible OPFE positions there is explicit calibration data. So for rectifying a STC image with CE2 at an OPFE position which is not included in the LUT, one may approximate a POV and its POV aberrations. In some embodiments for approximation, one may use the calibration values which are associated with one OPFE position which is, from all the N OPFE positions, located closest to the current OPFE position. Closest may be defined here by a distance metrics known in the art, e.g. a quadratic distance of the respective value pairs (sqrt((p1−p1.sub.c).sup.2+(p2−p2.sub.c).sup.2)) may be smallest, where p1, p2 is the current OPFE position, and p1.sub.c, p2c are values included in the LUT. In other examples for approximation, one may use a weighted average of a plurality of calibration values which are associated with a plurality of OPFE positions which are, from all the N OPFE positions, located closest to the current OPFE position.

    [0105] In step 512, the calibration data are applied to the STC images for correcting POV aberrations.

    [0106] FIG. 6 shows an exemplarily CC 600 that may be used for the calibration method described in FIG. 5. CC 600 includes 72 location identifiers, which are distributed in rows of 9 (oriented parallel x) and 8 columns (oriented parallel y). Exemplarily, the two first location identifiers of the first row are marked 602 and 604 respectively. A location identifier is located at a defined distance from a CC reference point, e.g. the upper left corner of CC. For calibrating with CC 600 at different camera-CC distances, one may adapt the size of CC 600 so that at least one location identifier is present in N-FOV.sub.T for all POVs in S-FOV.sub.T. CC 600 includes additionally angular identifiers, which in this example are represented by the vertical and horizontal lines of the checkerboard.

    [0107] While this disclosure has been described in terms of certain embodiments and generally associated methods, alterations and permutations of the embodiments and methods will be apparent to those skilled in the art. The disclosure is to be understood as not limited by the specific embodiments described herein, but only by the scope of the appended claims.

    [0108] Unless otherwise stated, the use of the expression “and/or” between the last two members of a list of options for selection indicates that a selection of one or more of the listed options is appropriate and may be made.

    [0109] It should be understood that where the claims or specification refer to “a” or “an” element, such reference is not to be construed as there being only one of that element.

    [0110] All references mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual reference was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention.