Image blending operations
First Claim
1. A non-transitory program storage device, readable by a processor and comprising instructions stored thereon to cause the processor to:
- obtain a first high-aspect ratio strip from a first image, the first high-aspect ratio strip having a plurality of pixels and a size, the size having a first dimension that is significantly greater than a second dimension;
obtain a second high-aspect ratio strip from a second image, the second high-aspect ratio strip having a plurality of pixels and a size, the size having a first dimension that is significantly greater than a second dimension;
obtain an overlap region between the first and second high-aspect ratio strips, the overlap region having a plurality of rows of pixels wherein each pixel in the overlap region has a corresponding pixel in each of the first and second high-aspect ratio strips;
identify a seam through the overlap region, the seam having a plurality of values, each value corresponding to a pixel in a row of the overlap region;
identify a guard band about the seam, the guard band extending a first number of pixels in a row to a first side and a second number of pixels in the row to a second side of each seam value, wherein the first and second number of pixels do not have to be the same number of pixels for each seam value;
blend, in real-time and for each seam value, pixels from the first image and the corresponding pixels from the second image along each row of pixels in the overlap region within the identified guard-band to produce an output image; and
store the output image in a memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Procedures are described for blending images in real-time that avoid ghosting artifacts (attributable to moving objects), maintain the proper appearance of contiguous edges in the final image, and permits the use of fast (real-time) blending operations. A “guard-band” may be defined around an initially identified seam that perturbs the path of the initial seam so that both the seam and the guard-band'"'"'s edges avoid moving objects by at least a specified amount. Rapid blend operations may then be performed in the region demarcated by the guard-band. The seam may be further adjusted to bias its position toward a specified trajectory within the overlap region when there is no moving object present. If visual registration techniques are not able to provide a properly aligned overlap region, motion sensor data for the image capture device, may be used instead to facilitate blending operations.
-
Citations
38 Claims
-
1. A non-transitory program storage device, readable by a processor and comprising instructions stored thereon to cause the processor to:
-
obtain a first high-aspect ratio strip from a first image, the first high-aspect ratio strip having a plurality of pixels and a size, the size having a first dimension that is significantly greater than a second dimension; obtain a second high-aspect ratio strip from a second image, the second high-aspect ratio strip having a plurality of pixels and a size, the size having a first dimension that is significantly greater than a second dimension; obtain an overlap region between the first and second high-aspect ratio strips, the overlap region having a plurality of rows of pixels wherein each pixel in the overlap region has a corresponding pixel in each of the first and second high-aspect ratio strips; identify a seam through the overlap region, the seam having a plurality of values, each value corresponding to a pixel in a row of the overlap region; identify a guard band about the seam, the guard band extending a first number of pixels in a row to a first side and a second number of pixels in the row to a second side of each seam value, wherein the first and second number of pixels do not have to be the same number of pixels for each seam value; blend, in real-time and for each seam value, pixels from the first image and the corresponding pixels from the second image along each row of pixels in the overlap region within the identified guard-band to produce an output image; and store the output image in a memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An image blending method, comprising:
-
receiving, by a processor, an overlap region between a first high-aspect ratio strip from a first image and a second high-aspect ratio strip from a second image, each of the first and second high-aspect ratio strips having a plurality of pixels and a size, the size having a first dimension that is significantly larger than a second dimension, the overlap region having a plurality of rows of pixels wherein each pixel in the overlap region has a corresponding pixel in each of the first and second high-aspect ratio strips; identifying, by the processor, a seam through the overlap region, the seam having a plurality of values, each value corresponding to a pixel in a row of the overlap region; identifying, by the processor, a guard band about the seam, the guard band extending a first number of pixels in a row to a first side and a second number of pixels in the row to a second side of each seam value, wherein the first and second number of pixels do not have to be the same number of pixels for each seam value; blending, by the processor, in real-time and for each seam value, pixels from the first high-aspect ratio strip and the corresponding pixels from the second high-aspect ratio strip along each row of pixels in the overlap region within the identified guard-band to produce an output image; and storing, by the processor, the output image in a memory. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. An electronic device, comprising:
-
an image capture element; a motion sensor element; a memory operatively coupled to the image capture element; a display element operatively coupled to the memory; and a processor operatively coupled to the motion sensor element, the memory and the display element, wherein the memory further includes instructions to cause the processor to obtain a first high-aspect ratio strip from a first image and a second high-aspect ratio strip from a second image, each high-aspect ratio strip having a plurality of pixels and a size, the size having a first dimension that is significantly greater than a second dimension, identify an overlap region between the first and second high-aspect ratio strips, the overlap region having a plurality of rows of pixels wherein each pixel in the overlap region has a corresponding pixel in each of the first and second high-aspect ratio strips, identify a seam through the overlap region, the seam having a plurality of values, each value corresponding to a pixel in a row of the overlap region, identify a guard band about the seam, the guard band extending one or more pixels in a row to a first side and one or more pixels in the row to a second side of each seam value, blend, for each seam value, pixels from the first high-aspect ratio strip and the corresponding pixels from the second high-aspect ratio strip along each row of pixels in the overlap region within the identified guard-band to produce an output image, and store the output image in the memory. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A non-transitory program storage device, readable by a processor and comprising instructions stored thereon to cause the processor to:
-
obtain first and second images, each having a first plurality of pixels; identify an overlap region between the first and second images, the overlap region having a second plurality of pixels, wherein each pixel in the overlap region has a corresponding pixel in the first image and a corresponding pixel in the second image; apply a first filter to each corresponding pair of pixels in the first and second images that are in the overlap region to generate a first cost map, the first cost map having one value for each pixel in the overlap region; apply a second filter to each value in the first cost map to generate a second cost map, wherein the second filter is adapted to create an area of lower values in the second cost map that are close to a moving object in the overlap region; identify a minimum cost path through the second cost map; blend, to generate a first output image, corresponding pairs of pixels from the first and second images corresponding to each value in the second cost map that is in an area of lower values created by the second filter; incorporate pixels from the first image that are in the overlap region, and not in an area of lower values created by the second filter, into the first output image; incorporate pixels from the first image that are not in the overlap region into the first output image; incorporate pixels from the second image that are in the overlap region, and not in an area of lower values created by the second filter, into the first output image; incorporate pixels from the second image that are not in the overlap region into the first output image; and store the first output image in a memory. - View Dependent Claims (33, 34, 35, 36, 37, 38)
-
Specification