HK1209541B - Image transformation and multi-view output systems and methods - Google Patents
Image transformation and multi-view output systems and methods Download PDFInfo
- Publication number
- HK1209541B HK1209541B HK15109950.2A HK15109950A HK1209541B HK 1209541 B HK1209541 B HK 1209541B HK 15109950 A HK15109950 A HK 15109950A HK 1209541 B HK1209541 B HK 1209541B
- Authority
- HK
- Hong Kong
- Prior art keywords
- output
- data
- original image
- image data
- view
- Prior art date
Links
Description
背景技术Background Art
数字成像系统通常包括一个或多个透镜和数字图像传感器。该数字图像传感器从经由透镜被成像的对象或场景而将光加以捕捉,并将光转换成电子信号。前述电子信号被数字化并被储存在半导体内存中的作为数字图像数据。这样的数字成像系统被用于在各种消费性产品、工业和科学应用,包括移动电话、数字静止图像和视频摄影机、网络摄影机以及其他设备,以产生静止图像和/或视频。Digital imaging systems typically include one or more lenses and a digital image sensor. The digital image sensor captures light from the object or scene being imaged through the lens and converts the light into an electronic signal. The electronic signal is digitized and stored in semiconductor memory as digital image data. Such digital imaging systems are used in a variety of consumer products, industrial, and scientific applications, including mobile phones, digital still and video cameras, webcams, and other devices to produce still images and/or videos.
现今大多数的图像传感器是由互补金属氧化物半导体(CMOS)图像传感器或电荷耦合装置(CCD)图像传感器所组成的二维像素阵列。现今的数字图像传感器可包括数以百万计的像素,以提供高分辨率的图像。Most image sensors today are composed of two-dimensional pixel arrays, either complementary metal oxide semiconductor (CMOS) image sensors or charge coupled device (CCD) image sensors. Today's digital image sensors can include millions of pixels to provide high-resolution images.
数字图像,包括由数字成像系统所产生的静态图像和视频图像,其质量可取决于各种因素。在具有广角摄影镜(例如鱼眼镜头)的数字成像系统,镜头扭曲可显著影响数字图像的质量。镜头扭曲会造成在场景中被拍摄到的直线或物体于影像中出现弯曲。扭曲最常见的形式是径向对称,径向对称是从透镜的对称性而产生。径向扭曲可被分类为两种主要类型中之一者:桶形失真和枕形失真。桶形失真是由广角镜头所拍摄的常见图像,而枕形失真通常是存在于由缩放或远摄镜头所拍摄的图像。The quality of digital images, including still images and video images produced by digital imaging systems, can depend on a variety of factors. In digital imaging systems with wide-angle photographic lenses (e.g., fisheye lenses), lens distortion can significantly affect the quality of digital images. Lens distortion causes straight lines or objects in a scene to appear curved in the image. The most common form of distortion is radial symmetry, which arises from the symmetry of the lens. Radial distortion can be categorized into one of two main types: barrel distortion and pincushion distortion. Barrel distortion is common in images captured by wide-angle lenses, while pincushion distortion is typically present in images captured by zoom or telephoto lenses.
在桶形失真中,图像的放大倍数随着至光轴的距离而减小。其效果是图像看起来被映射至球体或桶之周围。在枕形失真中,图像放大倍率随着至光轴的距离而增大。视觉上的效果是未经过图像中心的线条会向内弯、朝向图像的中心,就像一个针垫。复合失真,其为桶形失真和枕形失真的组合,始于如靠近图像中心发生的桶形失真,且逐渐变为朝向图像边缘的枕形失真。In barrel distortion, the image's magnification decreases with distance from the optical axis. The effect is that the image appears projected onto the circumference of a sphere or barrel. In pincushion distortion, the image's magnification increases with distance from the optical axis. The visual effect is that lines not passing through the center of the image bow inward toward the center, like a pincushion. Compound distortion, which is a combination of barrel and pincushion distortions, begins as barrel distortion near the center of the image and gradually becomes pincushion distortion toward the edges of the image.
在一般的数字成像系统中,由透镜失真所产生的误差可借由形成于半导体芯片晶粒上的图像信号处理器(ISP)进行信号处理而校正。ISP接收来自数字图像传感器的数字图像数据,数字图像传感器也普遍地形成在半导体芯片晶粒上。为启动失真数字图像数据的校正程序,大量的缓冲内存用于储存几百行的失真图像数据。所需的内存必须够大且不能被包括在作为ISP的芯片的一部分里。因此,额外的内存芯片是必要的,例如动态随机存取内存(DRAM)装置。前述附加装置会影响数字图像系统的大小与成本。另外,前述附加装置存取内存时会造成延迟,并使内存存取带宽问题复杂化。In a typical digital imaging system, errors caused by lens distortion can be corrected by performing signal processing on an image signal processor (ISP) formed on a semiconductor chip die. The ISP receives digital image data from a digital image sensor, which is also commonly formed on a semiconductor chip die. To initiate the correction process for the distorted digital image data, a large amount of buffer memory is used to store hundreds of lines of distorted image data. The required memory must be large enough and cannot be included as part of the chip that serves as the ISP. Therefore, additional memory chips are necessary, such as dynamic random access memory (DRAM) devices. Such additional devices affect the size and cost of the digital imaging system. In addition, such additional devices cause delays when accessing the memory and complicate the memory access bandwidth issue.
发明内容Summary of the Invention
在一实施例中,图像转换和多视图输出方法是从原始图像产生输出视图。原始图像被接收,且输出视图中的每个像素的坐标是借由使用坐标映射而被逆映射到原始图像的位置。坐标映射校正原始图像中(a)透视和(b)失真中的至少一者。输出视图中每个像素的强度是根据原始图像相应的映射像素位置信息而决定的。In one embodiment, an image conversion and multi-view output method generates output views from an original image. The original image is received, and the coordinates of each pixel in the output view are de-mapped to positions in the original image using a coordinate mapping method. The coordinate mapping method corrects at least one of (a) perspective and (b) distortion in the original image. The intensity of each pixel in the output view is determined based on the corresponding mapped pixel position information in the original image.
在另一实施例中,图像转换和多视图输出系统是从原始图像产生输出视图。该系统包括查找表,其储存在非挥发性记忆器中,包含将输出视图坐标映射至原始图像;以及逆映射器,其供借由查找表的使用从原始图像产生输出视图。坐标映射校正原始图像中的(a)透视和(b)失真中的至少一者。In another embodiment, an image conversion and multi-view output system generates output views from an original image. The system includes a lookup table stored in non-volatile memory that maps output view coordinates to the original image; and an inverse mapper for generating the output view from the original image using the lookup table. The coordinate mapping corrects at least one of (a) perspective and (b) distortion in the original image.
在另一实施例中,提供一种用以产生储存在查找表中且被图像转换和多视图输出系统所使用之坐标映射的方法,前述系统具有成像透镜;图像传感器,用于从透镜捕捉的原始图像;以及输出装置,用于显示校正后的图像。接收包括成像透镜的失真曲线和失真中心之图像转换和多视图输出系统的参数。逆透视校正是根据摄影镜头的光轴相对于主光线从透镜视野中的物体入射到透镜的角度方位而决定的。逆失真校正是根据失真曲线和失真中心的一或两者而决定。根据逆透视校正和逆失真校正产生坐标映射;其中坐标映射包括供转换和多视图输出系统使用的逆转换,借以从原始图像产生输出视图。In another embodiment, a method is provided for generating a coordinate mapping stored in a lookup table and used by an image transformation and multi-view output system, the system comprising an imaging lens; an image sensor for capturing an original image from the lens; and an output device for displaying a corrected image. Parameters of the image transformation and multi-view output system are received, including a distortion curve and a distortion center of the imaging lens. An inverse perspective correction is determined based on the angular orientation of the optical axis of the imaging lens relative to a principal ray incident on the lens from an object in the lens' field of view. An inverse distortion correction is determined based on one or both of the distortion curve and the distortion center. A coordinate mapping is generated based on the inverse perspective correction and the inverse distortion correction, wherein the coordinate mapping includes an inverse transformation for use by the transformation and multi-view output system to generate output views from the original image.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1显示在一个实施例中配置有具有后视摄影机、显示器以及可选多视图选择开关之一车辆的示例性图像转换和多视图输出系统。1 shows an exemplary image conversion and multi-view output system configured with a vehicle having a rearview camera, a display, and an optional multi-view selection switch, in one embodiment.
图2更详细地显示在图1实施例中的图像转换和多视图输出系统的示意图。FIG. 2 shows a schematic diagram of the image conversion and multi-view output system in the embodiment of FIG. 1 in more detail.
图3显示由图1的摄影机所成像且由图1的图像转换和多视图输出系统所处理的示例性线栅。3 shows an exemplary line grid imaged by the camera of FIG. 1 and processed by the image conversion and multi-view output system of FIG. 1 .
图4显示成像配置图,其中图1的摄影机是捕捉物体的原始图像数据。FIG. 4 shows an imaging configuration diagram in which the camera of FIG. 1 is used to capture raw image data of an object.
图5显示由图4的摄影机所捕捉到图3物体的原始图像。FIG. 5 shows an original image of the object in FIG. 3 captured by the camera in FIG. 4 .
图6显示借由图1的图像转换和多视图输出系统从图5的原始图像所产生的输出视图。FIG. 6 shows output views generated from the original image of FIG. 5 by the image conversion and multi-view output system of FIG. 1 .
图7显示在一实施例中一种示例性的图像转换和多视图输出方法。FIG. 7 shows an exemplary image conversion and multi-view output method in one embodiment.
图8显示由图1的图像转换和多视图输出系统所产生的示例性原始图像和三个示例性输出视图。FIG. 8 shows an exemplary original image and three exemplary output views produced by the image conversion and multi-view output system of FIG. 1 .
图9显示一失真的原始图像和由图1系统执行图7的透视和失真校正方法所产生的输出视图。FIG. 9 shows a distorted original image and an output view produced by the system of FIG. 1 performing the perspective and distortion correction method of FIG. 7 .
图10系为显示一实施例中供产生图2的查找表所使用的坐标映射产生器之示意图。FIG. 10 is a schematic diagram showing a coordinate mapping generator used to generate the lookup table of FIG. 2 according to one embodiment.
图11显示在一实施例中用于产生图2查找表的方法。FIG. 11 shows a method for generating the lookup table of FIG. 2 in one embodiment.
具体实施方式DETAILED DESCRIPTION
在采用宽视角的透镜视频成像系统中,例如对汽车驾驶辅助摄影机,图框与图框间的延迟会降低系统的实用性。延迟会降低观看者适当响应由系统所捕捉图像的能力。从这样的延迟所造成的不连贯或溅射视频流会阻止潜在使用者,如驾驶,观看到完整的图像。因此,如配合图1到图11与下文所述者,校正失真图像的同时又能以「平稳」的图框速率显示图像的能力,是该等视频技术所具有价值的功能。In lens-based video imaging systems that employ wide viewing angles, such as those used in automotive driver-assistance cameras, delays between frames can reduce the system's usefulness. This delay reduces the viewer's ability to appropriately respond to the images captured by the system. The resulting choppy or sputtering video stream prevents potential users, such as those driving, from viewing the complete image. Therefore, the ability to correct image distortion while displaying the image at a "smooth" frame rate, as described in conjunction with Figures 1 through 11 and below, is a valuable feature of these video technologies.
已有涉及逆映射的失真去除方法辅助视频技术。逆映射将输出图像中的像素映射回原始失真图像的位置。在正向映射算算法中,在失真图像中的每个像素被映射到在校正后图像中的像素。然而,这样的算法在计算上的效率并不高,因为许多失真图像中的像素不会被映射到校正后的图像。考虑到在原始图像中只映射像素的情况,逆映射法不仅更有效、更快速,且比正向映射法需要更少的计算资源。Distortion removal methods involving inverse mapping have been used to assist video technology. Inverse mapping maps pixels in the output image back to their positions in the original distorted image. In a forward mapping algorithm, each pixel in the distorted image is mapped to a pixel in the corrected image. However, such algorithms are computationally inefficient because many pixels in the distorted image are not mapped to the corrected image. Inverse mapping methods are more efficient and faster, requiring fewer computational resources than forward mapping, as they only map pixels in the original image.
一种在成像系统中加快失真移除的方式是将逆映射预先进行计算且将结果储存查找表上。例如,包括一个CMOS图像传感器的成像系统可在的芯片上对每一拍摄图像执行映射算法(正向或逆向),然后将转换后的图像加以显示。用包含前述算法结果的查找表替换前述算法能减少图像失真修正的所需时间,且能应用于其他的图像转换。One approach to speeding up distortion removal in imaging systems is to pre-calculate the inverse mapping and store the results in a lookup table. For example, an imaging system including a CMOS image sensor can perform the mapping algorithm (forward or inverse) on-chip for each captured image and then display the transformed image. Replacing the algorithm with a lookup table containing the algorithm's results can reduce the time required for image distortion correction and can be applied to other image transformations.
对于从具有失真的拍摄图像,例如那些由鱼眼摄影透镜捕捉的图像,产生直播无失真视频串流的快速图像转换是重要的。对于某些成像应用,如下所述,具有一种“多视图”功能的优点在于此功能可让用户选择和查看一个原始图像中一个或多个转换的区域。例如,汽车后视摄影机和监视视频系统,其因使用广角摄像透镜而造成明显的失真将会从此等选择和转换所得益。以计算昂贵的失真移除算法,从被捕捉视频提供一多视图的功能将会限制视频框率,因而导致不连贯的视频输出。此不连贯的输出会使观看视频的质量降低且妨碍用户对现有信息快速反应的能力。先前技术的图像失真修正系统缺乏多个可转换图像与动态(或「实时」)可重组多视图输出的组合。Fast image conversion is important for producing live, distortion-free video streams from distorted images, such as those captured by fisheye cameras. For certain imaging applications, as described below, a "multi-view" feature is advantageous because it allows the user to select and view one or more converted regions within an original image. For example, automotive rearview cameras and surveillance video systems, which use wide-angle cameras with significant distortion, would benefit from such selection and conversion. Providing multiple views from captured video using computationally expensive distortion removal algorithms limits the video frame rate, resulting in choppy video output. This choppy output degrades the quality of the video and hinders the user's ability to quickly react to the information presented. Prior art image distortion correction systems lack the combination of multiple convertible images and dynamically (or "real-time") reconfigurable multi-view output.
本发明所揭露是关于供将原始数字图像加以转换以去除图像伪影的方法和相关系统,例如与由广角镜头如鱼眼镜头所拍摄的图像有关的失真和透视误差。一个能实现多视图视频串流的图像校正且选择子视图区域的示例性方法,使得多个显示视图的选择能实时更改。The present invention relates to methods and related systems for converting raw digital images to remove image artifacts, such as distortion and perspective errors associated with images captured by wide-angle lenses, such as fisheye lenses. An exemplary method for image correction and selecting sub-view regions for a multi-view video stream enables real-time changes in the selection of multiple display views.
图1显示配置成具有后视摄影机110、显示器120和可选多视图选择开关122的汽车102的示例性图像转换和多视图输出系统100。摄影机110具有成像透镜112和图像传感器116。成像透镜112是广角镜头,例如以鱼眼镜头为例。图像传感器116例如可在CMOS中加以实施,但也可以其他技术而不悖离本发明范围的情况下加以实施。系统100例如可在单个集成电路中加以实施,其中其可被配置于摄影机110或显示器120中。FIG1 shows an exemplary image conversion and multi-view output system 100 for an automobile 102 configured with a rearview camera 110, a display 120, and an optional multi-view selection switch 122. Camera 110 has an imaging lens 112 and an image sensor 116. Imaging lens 112 is a wide-angle lens, such as a fisheye lens. Image sensor 116 may be implemented, for example, in CMOS, but may also be implemented in other technologies without departing from the scope of the present invention. System 100 may be implemented, for example, in a single integrated circuit, which may be configured in either camera 110 or display 120.
在一操作实例中,成像透镜112将其视野113中的物体成像至图像传感器116,其产生原始图像数据117并将其发送至图像转换和多视图输出系统100。图像转换和多视图输出系统100将原始图像数据117的至少一部分转换为输出视图数据121,其是作为输出视图123而被显示于显示器120。若包括于其中,可选多视图选择开关122可使用在对由图像转换和多视图输出系统100所产生的视图作替代输出视图的选择,且将相应原始图像数据117的转换版本显示在显示器120上。图像转换和多视图输出系统100还可从原始图像数据117同时将输出视图123中的多个视图产生且显示于显示器120。In one example of operation, imaging lens 112 images an object in its field of view 113 onto image sensor 116, which generates raw image data 117 and sends it to image conversion and multi-view output system 100. Image conversion and multi-view output system 100 converts at least a portion of raw image data 117 into output view data 121, which is displayed as output view 123 on display 120. If included, an optional multi-view selection switch 122 can be used to select an alternate output view from the views generated by image conversion and multi-view output system 100 and display the corresponding converted version of raw image data 117 on display 120. Image conversion and multi-view output system 100 can also simultaneously generate and display multiple views in output view 123 from raw image data 117 on display 120.
数字图像数据可借由含有二维像素阵列的图像传感器加以捕捉。图像传感器116具有,例如,一个二维的像素阵列,每个像素具有一位置和一强度。像素位置是像素阵列中像素的二维坐标位置。例如,在一VGA图像感射器中的像素阵列具有640×480的维度,且其像素位置使用以零为基准加以编号,范围从(0,0)至(639,479)。由该传感器捕捉的原始图像数据包含像素强度值所对应的二维阵列。除少数例外,由一个映射所决定的原始图像数据中的位置将具有相对应于像素间位置的非整数坐标。像素强度是当将数字图像数据例如以一个包含于0和255之间的整数显示时的像素亮度。Digital image data may be captured by an image sensor having a two-dimensional array of pixels. The image sensor 116 has, for example, a two-dimensional array of pixels, each pixel having a position and an intensity. A pixel position is the two-dimensional coordinate location of a pixel in the pixel array. For example, the pixel array in a VGA image sensor has dimensions of 640×480, and its pixel positions are numbered using a zero-based numbering range from (0,0) to (639,479). The raw image data captured by the sensor comprises a two-dimensional array of pixel intensity values. With few exceptions, locations in the raw image data determined by a mapping will have non-integer coordinates corresponding to positions between pixels. Pixel intensity is the brightness of a pixel when the digital image data is displayed, for example, as an integer between 0 and 255.
显示设备120将输出视图数据121加以显示,其被表示为一个像素值的二维阵列,每一者皆具有一个位置和强度值。因此,当参考数字图像数据(例如原始图像数据117或输出视图数据121)时,此规范将建构出可被表示为图像数据的参考像素。构成该等数据的每个像素皆具有一像素位置和一像素强度值。Display device 120 displays output view data 121, which is represented as a two-dimensional array of pixel values, each having a position and an intensity value. Thus, when referring to digital image data (e.g., raw image data 117 or output view data 121), this specification constructs reference pixels that can be represented as image data. Each pixel that constitutes such data has a pixel position and a pixel intensity value.
图2是图1显示的图像转换和多视图输出系统100的进一步示例性细节示意图。图像转换和多视图输出系统100包括内存202、逆映射器206以及可选择的多视图选择模块208。内存202供储存所接收到的原始图像数据117(例如,从摄影机110的图像传感器116)、查找表204与产生的输出视图数据121。内存202至少一部分以非挥发性内存(例如用于储存查找表204者)的方式执行,且至少一部分以挥发性内存(例如用于暂时储存原始图像数据117和输出视图数据121者)的方式执行。查找表204包含至少一个坐标映射205,其将输出视图数据121映射至原始图像数据117的至少一部分,借以根据输出视图数据121校正原始图像数据117中的透视。坐标映射205也可校正经由成像透镜112所带来的失真,借以改善从原始图像数据117所产生输出视图123的质量和清晰度。FIG2 is a schematic diagram illustrating further exemplary details of the image conversion and multi-view output system 100 shown in FIG1 . The image conversion and multi-view output system 100 includes a memory 202, an inverse mapper 206, and an optional multi-view selection module 208. The memory 202 is configured to store received raw image data 117 (e.g., from the image sensor 116 of the camera 110), a lookup table 204, and generated output view data 121. The memory 202 is implemented at least in part as non-volatile memory (e.g., for storing the lookup table 204) and at least in part as volatile memory (e.g., for temporarily storing the raw image data 117 and the output view data 121). The lookup table 204 includes at least one coordinate map 205 that maps the output view data 121 to at least a portion of the raw image data 117, thereby correcting the perspective of the raw image data 117 based on the output view data 121. The coordinate map 205 may also correct for distortion introduced by the imaging lens 112 , thereby improving the quality and clarity of the output view 123 generated from the raw image data 117 .
逆映射器206包括坐标映射模块212和强度设定模块216。坐标映射模块212是根据查找表204而将输出视图数据121的每一像素映射到原始图像数据117的相应部分。强度设定模块216从原始图像数据117中的映射部分检索像素强度值,并根据这些强度值设定输出视图数据121中的像素强度值。在一个实例中,将逆映射器206执行于硬件中,在从原始图像数据117产生输出视图数据121可达到高图框速率。即,使用查找表204执行原始图像数据117的透视和失真校正,于够高速下形成输出视图数据121,因而使得输出视图123的更新不延迟,且借以使感知移动维持平稳,使得使用者察觉不到任何转换过程。The inverse mapper 206 includes a coordinate mapping module 212 and an intensity setting module 216. The coordinate mapping module 212 maps each pixel of the output view data 121 to a corresponding portion of the original image data 117 based on the lookup table 204. The intensity setting module 216 retrieves pixel intensity values from the mapped portion of the original image data 117 and sets the pixel intensity values in the output view data 121 based on these intensity values. In one embodiment, implementing the inverse mapper 206 in hardware allows for a high frame rate to be achieved when generating the output view data 121 from the original image data 117. That is, perspective and distortion correction of the original image data 117 is performed using the lookup table 204 to generate the output view data 121 at a sufficiently high speed, thereby ensuring that updates to the output view 123 are not delayed and that the perceived motion remains smooth, making the user unaware of any transitions.
在操作中的一实例中,对于在输出视图数据121中的每一像素,坐标映射模块212利用查找表204内的坐标映射205而决定原始图像数据117中的位置。强度设定模块216根据在被决定位置的原始图像数据117的信息,决定对输出视图数据121的像素强度值。因为仅将对应至输出视图数据121中像素的原始图像数据117中的像素进行处理,因此,计算负载得以降低且节省功率,且没有映射到输出视图数据121的原始图像数据117的像素并不进行处理。逆映射器206之所以能便于在硬件中执行是因为:(a)其直接将输出视图数据121的像素映射到原始图像数据117,且(b)使用查找表204的单个映射操作是用于同时执行透视校正和失真校正中的一者或两者。In one example of operation, for each pixel in the output view data 121, the coordinate mapping module 212 determines the location in the original image data 117 using the coordinate mapping 205 in the lookup table 204. The intensity setting module 216 determines the intensity value for the pixel in the output view data 121 based on the information in the original image data 117 at the determined location. Because only pixels in the original image data 117 corresponding to pixels in the output view data 121 are processed, computational load is reduced and power is conserved. Pixels in the original image data 117 that are not mapped to the output view data 121 are not processed. The inverse mapper 206 is conveniently implemented in hardware because: (a) it directly maps pixels of the output view data 121 to the original image data 117, and (b) a single mapping operation using the lookup table 204 is used to simultaneously perform one or both of perspective correction and distortion correction.
为确保来自图像传感器116的图像信息至少部分被转移至输出视图123,在输出视图数据中的每一像素位置被「向后」映射至原始图像数据117的位置。由于输出视图数据的属性被映射到输入数据的属性,此映射被认为是「逆」映射。To ensure that at least some of the image information from image sensor 116 is transferred to output view 123, each pixel position in the output view data is "backward" mapped to a position in the original image data 117. This mapping is considered an "inverse" mapping because the attributes of the output view data are mapped to the attributes of the input data.
在一实施例中,查找表204包含多个坐标映射205,其中每个坐标映射205从原始图像数据117中产生不同的输出视图123。使用者可选择使用多视图选择开关122,例如,以一个特定的坐标映射205产生所期望的输出图123。可选择地,坐标映射205还可被配置以产生多个位于输出视图123中的子视图,其中,每个子视图被映射到原始图像数据117中的一部分。如以下的实例所示,将原始图像数据117的各部分同时进行映射的动作是可以重迭的,以在输出视图123中形成多个子视图。In one embodiment, the lookup table 204 includes a plurality of coordinate mappings 205, each of which generates a different output view 123 from the raw image data 117. A user can select, using the multi-view selection switch 122, for example, a particular coordinate mapping 205 to generate a desired output view 123. Alternatively, the coordinate mappings 205 can be configured to generate a plurality of sub-views within the output view 123, each of which is mapped to a portion of the raw image data 117. As shown in the example below, the simultaneous mapping of portions of the raw image data 117 can be overlapped to form multiple sub-views within the output view 123.
在一个使用实例中,多个输出视图中之一者是根据一个或多个相对于车辆之感测条件所自动选择的。例如,对于装有超声波接近侦测的车辆,图像转换和多视图输出系统100可被控制,借以当侦测到接近于外部物体时,能显示一个或多个预先定义的视图。借此,使得外部物体的适当视图可自动显示给车辆的驾驶观看。In one use case, one of the multiple output views is automatically selected based on one or more sensed conditions relative to the vehicle. For example, for a vehicle equipped with ultrasonic proximity detection, the image conversion and multi-view output system 100 can be controlled to display one or more predefined views when an external object is detected in proximity. This allows the appropriate view of the external object to be automatically displayed to the driver of the vehicle.
多种类型的图像校正的可在查找表204中执行。例如,查找表204可执行圆柱型视图,其具有沿着一方向(例如,垂直或水平)上而忽略在正交方向上视野耗损的校正。在另一个实例中,查找表204可以执行直线视图,前述直线视图包括沿着两个正交轴进行失真校正,但也伴随着沿着这些轴的视野减小,于此,借由产生与原始图像不同区域有关的多个直线视图中心,以补偿任何视野的减少。Various types of image corrections can be performed in the lookup table 204. For example, the lookup table 204 can perform cylindrical viewing, which includes correction along one direction (e.g., vertical or horizontal) while ignoring loss of field of view in orthogonal directions. In another example, the lookup table 204 can perform rectilinear viewing, which includes distortion correction along two orthogonal axes but also a reduction in field of view along those axes, where any reduction in field of view is compensated for by generating multiple rectilinear view centers relative to different regions of the original image.
坐标映射205还可以包括图像处理操作,例如旋转操作和缩放操作(改变焦距)。Coordinate mapping 205 may also include image processing operations, such as rotation operations and zoom operations (changing focal length).
坐标映射205是例如由坐标映射产生器1000(图10)所产生,坐标映射产生器1000可执行成像透镜112的校准以及执行每个坐标映射205中的透视和失真校正,然后将坐标映射205于图像转换和多视图输出系统100的查找表204中进行使用。The coordinate maps 205 are generated, for example, by the coordinate map generator 1000 ( FIG. 10 ), which may perform calibration of the imaging lens 112 and perspective and distortion correction in each coordinate map 205 , and then use the coordinate maps 205 in the lookup table 204 of the image conversion and multi-view output system 100 .
在一个实施例中,逆映射器206采用最近相邻算法以将输出视图像素强度值设定到位于坐标(xm,yn)的像素的原始图像像素强度,其中(xm,yn)是最接近被映射原始图像坐标(xraw,yraw)的坐标。其他实施例中,可采用能接近被映射原始图像坐标强度的更准确方法。例如,多个相邻内插算法,其包含最接近被映射原始图像坐标(xraw,yraw)的三、四或N个像素的强度。这些方法包括但不限于:例如双线性插值和双三次插值等内插算法。In one embodiment, the inverse mapper 206 uses a nearest neighbor algorithm to set the output view pixel intensity value to the original image pixel intensity of the pixel at coordinates (x m , yn ), where (x m , yn ) is the coordinate closest to the mapped original image coordinates (x raw , y raw ). In other embodiments, more accurate methods that approximate the intensity of the mapped original image coordinates may be used. For example, a multiple neighbor interpolation algorithm may be used, which includes the intensities of the three, four, or N pixels closest to the mapped original image coordinates (x raw , y raw ). These methods include, but are not limited to, interpolation algorithms such as bilinear interpolation and bicubic interpolation.
在一实施例中,内插算法的结果是预先计算并储存在查找表204中的坐标映射205中。例如,坐标映射205中的每个元素可包括可识别相应于原始图像像素位置与每一位置权重值的阵列。逆映射器206根据所识别像素的位置与储存在坐标映射205中的权重值,而计算像素强度的加权平均值。In one embodiment, the results of the interpolation algorithm are pre-calculated and stored in a coordinate map 205 in the lookup table 204. For example, each element in the coordinate map 205 may include an array identifying a pixel location corresponding to the original image and a weight value for each location. The inverse mapper 206 calculates a weighted average of the pixel intensities based on the identified pixel locations and the weight values stored in the coordinate map 205.
图3至图6显示图1、2的系统100操作实例。图3至图6最佳配合以下描述加以观看。Figures 3 through 6 illustrate an example of the operation of the system 100 of Figures 1 and 2. Figures 3 through 6 are best viewed in conjunction with the following description.
图3显示一个示例性线栅300,其由图1的摄影机110加以成像,且由图像转换和多视图输出系统100进行处理。为了更佳地说明图像转换和多视图输出系统100的功能,因此以一个具有由水平线301与垂直线302相交形成的8×8正方形网格的平面作为线栅300,水平线301(4)和垂直线302(4)于交叉点315交叉,且水平线301(2)和302(4)于交叉点317交叉。FIG3 shows an exemplary wire grid 300 that is imaged by the camera 110 of FIG1 and processed by the image conversion and multi-view output system 100. To better illustrate the functionality of the image conversion and multi-view output system 100, a plane having an 8×8 square grid formed by the intersection of horizontal lines 301 and vertical lines 302 is used as the wire grid 300. The horizontal line 301(4) and the vertical line 302(4) intersect at an intersection 315, and the horizontal lines 301(2) and 302(4) intersect at an intersection 317.
图4显示成像配置400,于此摄像机110捕捉被显示为沿着线434横截面的线栅300的原始图像数据117。摄影机110经定位而使得成像透镜112的光轴432与线栅300在交叉点315相交,且摄影机110是垂直于线栅300的平面。借此,成像透镜112将线栅300成像至图像传感器116,而将原始图像数据117加以捕捉。在右手坐标轴430中,y轴是垂直于xz平面。FIG4 shows an imaging configuration 400 in which the camera 110 captures raw image data 117 of the wire grid 300, shown as a cross-section along line 434. The camera 110 is positioned such that the optical axis 432 of the imaging lens 112 intersects the wire grid 300 at intersection 315, and the camera 110 is perpendicular to the plane of the wire grid 300. Thus, the imaging lens 112 images the wire grid 300 onto the image sensor 116, capturing the raw image data 117. In the right-hand coordinate axis 430, the y-axis is perpendicular to the xz plane.
图5显示当线栅300是如图4所显示的配置时,由线栅300的摄影机110所捕捉到的原始图像数据117。右手坐标轴534是将坐标轴430往x轴旋转90°,使得坐标轴534的z轴垂直于x-y平面。坐标轴534显示出原始图像512相对于摄影机110和线栅300的方位。FIG5 shows the raw image data 117 captured by the camera 110 of the wire grid 300 when the wire grid 300 is configured as shown in FIG4 . The right-hand coordinate axis 534 represents a 90° rotation of the coordinate axis 430 about the x-axis, such that the z-axis of the coordinate axis 534 is perpendicular to the x-y plane. The coordinate axis 534 shows the orientation of the raw image 512 relative to the camera 110 and the wire grid 300.
在原始图像数据117中,垂直线502(4)是中心垂直线302(4)的镜像,且水平线501(4)是水平线301(4)的镜像。原始图像数据117所具有桶形失真是通常使用广角镜头所拍摄图像所一般具有者,其造成水平线301(0)-(3)、301(5)-(8)的弯曲以及垂直线502(0)-(3)、502(5)-(8)的弯曲。垂直线302(4)和水平线301(4)在原始图像数据117的中心交叉点515交叉,因为在原始图像数据117中在此位置的桶形失真为最小,所以能维持相对直的状态。交点515是交叉点315的镜像,且交叉点517是交叉点317的镜像。如图4所示,从线栅300中心的主光线沿着成像透镜112的光轴432行进。In the original image data 117, the vertical line 502(4) is a mirror image of the center vertical line 302(4), and the horizontal line 501(4) is a mirror image of the horizontal line 301(4). The barrel distortion of the original image data 117 is a common feature of images captured using a wide-angle lens, which causes the horizontal lines 301(0)-(3) and 301(5)-(8) to bend, and the vertical lines 502(0)-(3) and 502(5)-(8) to bend. The vertical line 302(4) and the horizontal line 301(4) intersect at the center intersection 515 of the original image data 117, and because the barrel distortion at this location is minimal in the original image data 117, they can remain relatively straight. The intersection 515 is a mirror image of the intersection 315, and the intersection 517 is a mirror image of the intersection 317. As shown in FIG. 4 , the principal ray from the center of the wire grid 300 travels along the optical axis 432 of the imaging lens 112.
在图3-6的实例中,输出视图数据121是以线栅300的交叉点317为中心,因而产生坐标映射205,借以映射输出视图数据121至由原始图像数据117的虚线所限定的区域516。In the example of FIGS. 3-6 , the output view data 121 is centered at the intersection 317 of the line grid 300 , thereby generating a coordinate map 205 that maps the output view data 121 to the region 516 defined by the dashed lines of the original image data 117 .
图6显示一输出视图123,其对应于区域516,其由图像转换和多视图输出系统100所产生。在输出视图123中,垂直线602(4)对应于线栅300的垂直线302(4),且水平线601(4)对应于线栅300的水平线301(2)。水平线601(4)和垂直线602(4)的交叉点617因而对应于线栅300的交叉点317。由于交叉点317不位于摄影机110的光轴432,主光线从交点317向摄影机110的方向具有至光轴432的非零视角角度436。因此,坐标映射205包括透视和失真校正,使得逆映射器206从具有透视和失真校正的原始图像数据117的区域516产生输出视图数据121。如图所示,输出视图数据121的线601(2)和602(4)实质上是直的。应注意的是,当输出视图数据121是直线型时,原始图像数据117中的区域516不必是直的。6 shows an output view 123 corresponding to region 516 generated by the image conversion and multi-view output system 100. In the output view 123, vertical line 602(4) corresponds to vertical line 302(4) of the wire grid 300, and horizontal line 601(4) corresponds to horizontal line 301(2) of the wire grid 300. The intersection 617 of horizontal line 601(4) and vertical line 602(4) thus corresponds to intersection 317 of the wire grid 300. Since intersection 317 is not located on the optical axis 432 of the camera 110, the principal ray from intersection 317 to the camera 110 has a non-zero viewing angle 436 to the optical axis 432. Thus, the coordinate mapping 205 includes perspective and distortion correction, so that the inverse mapper 206 generates the output view data 121 from the region 516 of the original image data 117 with perspective and distortion correction. As shown, lines 601(2) and 602(4) of the output view data 121 are substantially straight. It should be noted that when the output view data 121 is rectilinear, the region 516 in the original image data 117 is not necessarily straight.
为了产生输出视图数据121,逆映射器206使用查找表204将输出视图数据121的像素坐标映射至原始图像数据117中的位置。例如,显示交叉点617的像素被逆映射到原始图像数据117中交叉点517的位置。同样的,显示水平线601(4)和垂直线602(4)的像素被映射到原始图像数据117中的弯曲水平线501(2)和弯曲垂直线502(4)内相应的位置。To generate the output view data 121, the inverse mapper 206 uses the lookup table 204 to map the pixel coordinates of the output view data 121 to locations in the original image data 117. For example, the pixels representing the intersection 617 are inverse mapped to the location of the intersection 517 in the original image data 117. Similarly, the pixels representing the horizontal line 601(4) and the vertical line 602(4) are mapped to corresponding locations within the curved horizontal line 501(2) and the curved vertical line 502(4) in the original image data 117.
图7显示经由使用图2的查找表204供从原始图像数据117产生图1的输出视图数据121的示例性图像转换和多视图输出方法700。举例而言,方法700是,在图像转换和多视图输出系统100中的逆映射器206中加以执行。步骤701是可选的。如果包括,在步骤701中,方法700会决定输出视图的选择。在步骤701的一个实例中,多视图选择模块208决定将来自多视图选择开关122的输出视图数据121加以选择,借以选择查找表204中的坐标映射205。在步骤702中,方法700将原始图像数据加以接收。在步骤702的一个实例中,图像转换和多视图输出系统100接收来自图像传感器116的原始图像数据117。FIG7 illustrates an exemplary image conversion and multi-view output method 700 for generating the output view data 121 of FIG1 from the raw image data 117 using the lookup table 204 of FIG2 . For example, the method 700 is performed in the inverse mapper 206 of the image conversion and multi-view output system 100 . Step 701 is optional. If included, in step 701, the method 700 determines the selection of an output view. In one example of step 701, the multi-view selection module 208 determines the selection of the output view data 121 from the multi-view selection switch 122, thereby selecting the coordinate mapping 205 in the lookup table 204. In step 702, the method 700 receives the raw image data. In one example of step 702, the image conversion and multi-view output system 100 receives the raw image data 117 from the image sensor 116 .
在步骤706中,方法700将每个输出像素逆映射至原始图像数据中的位置。在步骤706的实例中,逆映射器206使用查找表204而将输出视图数据121的输出像素逆映射到原始图像数据117中的位置。在步骤708中,方法700根据位于映射位置的原始图像数据决定对于输出视图像素的像素强度值。在步骤708的实例中,逆映射器206的强度设定模块216使用像素内插法而借此接近原始图像数据117中的映射位置,以决定对应输出视图数据121中像素的值。如虚线轮廓704所指示的,重复进行步骤706和708,直到输出视图数据121的所有像素都被映射且被分配到一个值为止。每个输出像素可根据逆映射器206的执行程序,按顺序地或并行地进行映射。In step 706, method 700 de-maps each output pixel to a location in the original image data. In the example of step 706, de-mapper 206 de-maps the output pixel of output view data 121 to a location in original image data 117 using lookup table 204. In step 708, method 700 determines a pixel intensity value for the output view pixel based on the original image data at the mapped location. In the example of step 708, intensity setting module 216 of de-mapper 206 uses pixel interpolation to approximate the mapped location in original image data 117 to determine the value for the corresponding pixel in output view data 121. As indicated by dashed outline 704, steps 706 and 708 are repeated until all pixels of output view data 121 are mapped and assigned a value. Each output pixel can be mapped sequentially or in parallel, depending on the execution of de-mapper 206.
在步骤710中,方法700将输出视图数据加以输出。在步骤710的一个实例中,图像转换和多视图输出系统100将输出视图数据121发送至显示器120。当应用于视频图框的处理时,对每个接收到的原始图像数据(视频图框)重复进行方法700的步骤。In step 710, method 700 outputs the output view data. In one example of step 710, image conversion and multi-view output system 100 sends output view data 121 to display 120. When applied to the processing of video frames, the steps of method 700 are repeated for each received raw image data (video frame).
图8显示一示例性的原始图像802中,其表示原始图像数据117,以及三个示例性输出视图804、806和808,其皆由图像转换和多视图输出系统100所产生。在图8的实例中,输出视图806形成两个示例性的子视图810(1)和810(2),其是使用单个坐标映射205所产生的。输出视图804、806和808是例如使用图7的方法700借由图1的图像转换和多视图输出系统100从原始图像802所产生的。输出视图804和输出视图806的每个子视图810(1)和810(2)分别显示原始图像802的中心、左和右视图的直线校正。输出图808显示原始图像802的垂直校正,其中在原始图像802中只有校正垂直失真的部分,同时维持几乎完整的水平视角。FIG8 shows an exemplary original image 802, which represents the original image data 117, and three exemplary output views 804, 806, and 808, all generated by the image conversion and multi-view output system 100. In the example of FIG8, the output view 806 is formed into two exemplary sub-views 810(1) and 810(2), which are generated using a single coordinate mapping 205. The output views 804, 806, and 808 are generated from the original image 802 by the image conversion and multi-view output system 100 of FIG1, for example, using the method 700 of FIG7. Each sub-view 810(1) and 810(2) of the output view 804 and the output view 806 respectively shows a rectilinear correction of the center, left, and right views of the original image 802. The output view 808 shows a vertical correction of the original image 802, wherein only the vertical distortion in the original image 802 is corrected while maintaining a nearly complete horizontal viewing angle.
图9显示借由使用查找表204中的透视和失真校正且根据图7的方法700,由图像转换和多视图输出系统100所产生的扭曲图像904和输出视图902。扭曲图像904代表图1的原始图像数据图117,且输出视图902代表输出视图数据121。借由使用方法700,系统100将相对应输出视图902的球体908的像素,逆映射至相对应扭曲图像904中球体906的位置。FIG9 shows a warped image 904 and an output view 902 generated by the image conversion and multi-view output system 100 using perspective and distortion correction in the lookup table 204 and according to the method 700 of FIG7 . The warped image 904 represents the original image data 117 of FIG1 , and the output view 902 represents the output view data 121. Using the method 700, the system 100 inversely maps the pixels corresponding to the sphere 908 in the output view 902 to the positions of the sphere 906 in the warped image 904.
扭曲图像904展现出桶形失真,即如天花板线909自图像中心弯曲远离所显示者。坐标映射205将透视和/或失真校正加以结合,使得在输出视图902中,天花板线907是直的。虽然只展示桶形失真,坐标映射205也可在不悖离本发明的范围下,应用于其它类型的失真校正。例如,坐标映射205可以应用于枕形失真校正,且可校正桶形和枕形失真的任意组合(即复合失真)。Distorted image 904 exhibits barrel distortion, as seen in the image where ceiling line 909 curves away from the center of the image. Coordinate mapping 205 combines perspective and/or distortion correction so that in output view 902, ceiling line 907 appears straight. While only barrel distortion is shown, coordinate mapping 205 can also be applied to other types of distortion correction without departing from the scope of the present invention. For example, coordinate mapping 205 can be applied to correct for pincushion distortion, and any combination of barrel and pincushion distortion (i.e., compound distortion) can be corrected.
图10是显示一个用于产生供图2查找表204中使用的坐标映射205的示例性坐标映射产生器1000的示意图。坐标映射产生器1000例如是一计算机,其包括处理器1002和将软件1020加以储存的内存1010,前述软件包括透视校正算法1014。内存1010表示本领域习知的挥发性和非挥发性内存中的一者或两者。软件1020具有由处理器1002所执行且机器可读的指令,借以执行如下所述坐标映射产生器1000的功能。内存1010还示出了储存成像透镜数据1012的功能,其包括成像透镜112(图1)的失真曲线1030和失真中心1032的一者或两者。成像透镜数据1012还可决定成像透镜112的视野(例如:视野113)。FIG10 is a schematic diagram illustrating an exemplary coordinate map generator 1000 for generating the coordinate map 205 for use in the lookup table 204 of FIG2 . The coordinate map generator 1000 is, for example, a computer and includes a processor 1002 and a memory 1010 storing software 1020, including a perspective correction algorithm 1014. Memory 1010 represents one or both of volatile and non-volatile memory as is known in the art. Software 1020 includes machine-readable instructions executed by processor 1002 to perform the functions of the coordinate map generator 1000 as described below. Memory 1010 also illustrates the function of storing imaging lens data 1012, including one or both of a distortion curve 1030 and a distortion center 1032 of the imaging lens 112 ( FIG1 ). The imaging lens data 1012 may also determine the field of view (e.g., field of view 113) of the imaging lens 112.
内存1010还储存有原始图像数据参数1038,其定义原始图像数据117和输出视图参数1040的特征,输出视图参数1040则定义输出视图数据121的特征。例如,原始图像数据参数1038包括对应于图像传感器116像素阵列的原始图像数据117的像素阵列维度,输出视图参数1040定义输出视图123的像素阵列尺寸。Memory 1010 also stores raw image data parameters 1038 that define characteristics of raw image data 117 and output view parameters 1040 that define characteristics of output view data 121. For example, raw image data parameters 1038 include pixel array dimensions of raw image data 117 corresponding to the pixel array of image sensor 116, and output view parameters 1040 define the pixel array dimensions of output view 123.
输出视图参数1040还可包括输出视图尺寸,即,关于原始图像区域的数字变焦。几何形状的部分,是借由横跨子视图516的垂直线502(图5)部分在x-z平面上的角度范围436(图4)与跨越子视图516中弯曲水平线501(2)部分所对应y-z平面角度的范围而定义。Output view parameters 1040 may also include the output view size, i.e., the digital zoom relative to the original image area. The geometric shape is defined by the angular range 436 ( FIG. 4 ) of the portion of vertical line 502 ( FIG. 5 ) across subview 516 in the x-z plane and the angular range of the portion of curved horizontal line 501 ( 2 ) across subview 516 in the y-z plane.
举例而言,透视角度1016为,使用对应于相对摄影机110光轴432所需输出视图123的延着x轴旋转(pitch)、延着y轴旋转(yaw)和延着z轴旋转(roll)旋转而加以定义。经由使用者输入设备1018而由使用者提供成像透镜数据1012和透视角度1016中的一者或两者。成像透镜数据1012可经由成像透镜112的量测来决定。如图4所示,延着x轴旋转、延着y轴旋转和延着z轴旋转是分别围绕着x轴、y轴和z轴进行旋转。For example, perspective angle 1016 is defined using x-axis pitch, y-axis yaw, and z-axis roll rotations corresponding to a desired output view 123 relative to optical axis 432 of camera 110. One or both of imaging lens data 1012 and perspective angle 1016 are provided by a user via user input device 1018. Imaging lens data 1012 may be determined via measurements of imaging lens 112. As shown in FIG4 , x-axis pitch, y-axis yaw, and z-axis roll are rotations about the x-axis, y-axis, and z-axis, respectively.
子视图810(1)和810(2)(图8)显示输出视图123的透视视角。每个子视图810(1)和810(2)中的垂直透视视角(pitch)是零,因为它们与原始图像802的垂直透视并无不同。子视图810(1)和810(2)的水平透视视角(yaw)两者彼此并不同,且此两者也与原始图像802的水平透视视角(yaw)也不同。Subviews 810(1) and 810(2) ( FIG. 8 ) show the perspective of output view 123. The vertical perspective (pitch) in each of subviews 810(1) and 810(2) is zero because it does not differ from the vertical perspective of original image 802. The horizontal perspective (yaw) of subviews 810(1) and 810(2) differs from each other and from the horizontal perspective (yaw) of original image 802.
透视校正算法1014,当由处理器1002执行时,是根据原始图像数据参数1038和透视视角1016中的一者或多者,在输出视图参数1040上执行数学逆透视校正,借以在内存1010中产生中间映射数据1050。然后,由处理器1002执行失真校正算法1015,而根据中间映射数据1050、原始图像数据参数1038;和失真曲线1030与失真中心1032中的一者或两者,将坐标映射205产生。坐标映射205因而包含透视校正和失真校正,以将输出视图数据121的像素坐标逆映射至原始图像数据117。The perspective correction algorithm 1014, when executed by the processor 1002, performs a mathematical inverse perspective correction on the output view parameters 1040 based on one or more of the original image data parameters 1038 and the perspective viewing angle 1016, thereby generating intermediate mapping data 1050 in the memory 1010. The processor 1002 then executes a distortion correction algorithm 1015 to generate the coordinate map 205 based on the intermediate mapping data 1050, the original image data parameters 1038, and one or both of the distortion curve 1030 and the distortion center 1032. The coordinate map 205 thus includes perspective correction and distortion correction to inversely map pixel coordinates of the output view data 121 to the original image data 117.
图11是说明供于查找表204中使用用于产生坐标映射205的示例性方法1100的流程图。举例而言,方法1100是,在图10的软件1020中执行,以根据成像透镜112和原始图像数据117的特征,产生对一或多个所需输出视图123中的每一者的坐标映射205。11 is a flow chart illustrating an exemplary method 1100 for generating the coordinate mapping 205 for use in the lookup table 204. For example, the method 1100 is executed in the software 1020 of FIG. 10 to generate the coordinate mapping 205 for each of the one or more desired output views 123 based on characteristics of the imaging lens 112 and the raw image data 117.
在步骤1101中,方法1100将成像透镜参数加以接收。在步骤1101的实例中,坐标映射产生器1000从使用者接收指示成像透镜112视野的输入。In step 1101 , the method 1100 receives imaging lens parameters. In an example of step 1101 , the coordinate map generator 1000 receives input from a user indicating a field of view of the imaging lens 112 .
在步骤1102中,方法1100将原始图像数据的参数加以接收。在步骤1102的一个实例中,坐标映射产生器1000将来自用户指示原始图像数据117属性的输入加以接收,例如像素阵列维度、像素数目与像素间距。In step 1102, method 1100 receives parameters of the raw image data. In one example of step 1102, coordinate map generator 1000 receives input from a user indicating attributes of raw image data 117, such as pixel array dimensions, number of pixels, and pixel pitch.
在步骤1103中,方法1100决定透镜的失真曲线。在步骤1103的实例中,坐标映射产生器1000控制和/或指示校准设备,借以测量成像透镜112的失真曲线1030。在步骤1103的另一实例中,坐标映射产生器1000是从第三方接收失真曲线1030,如经由成像透镜112的制造商所提供的用户输入数据。In step 1103, method 1100 determines a distortion curve for the lens. In one example of step 1103, coordinate map generator 1000 controls and/or instructs a calibration device to measure distortion curve 1030 for imaging lens 112. In another example of step 1103, coordinate map generator 1000 receives distortion curve 1030 from a third party, such as user input data provided by the manufacturer of imaging lens 112.
在步骤1104中,方法1100决定对应于透镜的失真中心。在步骤1104的一个实例中,坐标映射产生器1000控制和/或指示校准设备,借以测量成像透镜112的失真中心1032而产生所述失真中心。在步骤1104的另一实例中,坐标映射产生器1000从第三方接收失真中心1032,如经由成像透镜112的制造商所提供的用户输入数据。In step 1104, method 1100 determines a distortion center corresponding to the lens. In one example of step 1104, coordinate map generator 1000 controls and/or instructs a calibration device to measure and generate the distortion center 1032 of imaging lens 112. In another example of step 1104, coordinate map generator 1000 receives the distortion center 1032 from a third party, such as via user input data provided by the manufacturer of imaging lens 112.
在步骤1106中,方法1100接收用于产生输出视图中的至少一透视角度。至少一透视角度的每一者是代表成像透镜视野中的角度。在步骤1106的一实例中,坐标映射产生器1000自使用者接收一指示,其代表经延着x轴旋转、延着z轴旋转和延着y轴旋转的透视角度。在步骤1106的一个实例中,坐标映射产生器1000自使用者接收一指示,其代表透视角度经延着x轴旋转、延着z轴旋转和延着y轴旋转的一者或两者的指定値,其中未被指定的透视角度被设置为零。In step 1106, method 1100 receives at least one perspective angle for use in generating an output view. Each of the at least one perspective angle represents an angle within the field of view of an imaging lens. In one example of step 1106, coordinate map generator 1000 receives an indication from a user representing perspective angles rotated about the x-axis, about the z-axis, and about the y-axis. In another example of step 1106, coordinate map generator 1000 receives an indication from a user representing specified values for one or both of the perspective angles rotated about the x-axis, about the z-axis, and about the y-axis, wherein unspecified perspective angles are set to zero.
在步骤1107,方法1100将输出视图尺寸加以接收。在步骤1107的实例中,输出视图尺寸被定义,且由使用者借由在正交平面、相对于步骤1106中接收的透视角度所定义的轴的两个视野角度而加以输入。At step 1107, method 1100 receives an output view size. In the example of step 1107, the output view size is defined and input by the user as two viewing angles in orthogonal planes relative to the axes defined by the perspective angle received in step 1106.
在步骤1106和1107所提供的信息定义成像透镜112视野的子视野,其中子视野是由系统100转换为输出视图123。The information provided in steps 1106 and 1107 defines a sub-field of view of imaging lens 112 , where the sub-field of view is converted into output view 123 by system 100 .
在步骤1108中,方法1100使用根据由步骤1106所接收的至少一透视角度的数学计算,而借由被选择的输出视图数据的逆映射像素坐标(例如像素坐标xout,yout)将透视校正应用于中间映射数据。在步骤1108的一实例中,处理器1002根据输出视图参数1040而执行透视校正算法1014的指令,借以产生中间映射数据1050。In step 1108, method 1100 applies perspective correction to the intermediate mapping data using inverse-mapped pixel coordinates (e.g., pixel coordinates x out , y out ) of the selected output view data using mathematical calculations based on the at least one perspective angle received in step 1106. In one example of step 1108, processor 1002 executes instructions of perspective correction algorithm 1014 based on output view parameters 1040 to generate intermediate mapping data 1050.
在步骤1112中,方法1100使用失真曲线和/或失真中心,借由将在步骤1108所产生的中间映射数据加以逆映射,将失真校正应用于原始图像数据位置。在步骤1112中的实例中,坐标映射产生器1000的失真校正算法1015将中间映射数据1050进行处理,借以将失真曲线1030和失真中心1032中的一者或两者加以结合,此分别在步骤1103和1104加以决定。在步骤1114中,方法1100将坐标映射输出。在步骤1114的实例中,坐标映射产生器1000将坐标映射205输出而供查找表204中使用。例如,在此图像转换和多视图输出系统100是被用作为单一封装(如,一个单一集成电路),坐标映射产生器1000可将坐标映射205写入图像转换多视图输出系统100的内存202。In step 1112, method 1100 applies distortion correction to the original image data locations by inverse-mapping the intermediate map data generated in step 1108 using the distortion curves and/or distortion centers. In the example of step 1112, the distortion correction algorithm 1015 of the coordinate map generator 1000 processes the intermediate map data 1050 to combine one or both of the distortion curves 1030 and the distortion centers 1032, as determined in steps 1103 and 1104, respectively. In step 1114, method 1100 outputs the coordinate map. In the example of step 1114, the coordinate map generator 1000 outputs the coordinate map 205 for use in the lookup table 204. For example, where the image conversion and multi-view output system 100 is implemented as a single package (e.g., a single integrated circuit), the coordinate map generator 1000 may write the coordinate map 205 to the memory 202 of the image conversion and multi-view output system 100.
重复步骤1106到步骤1114,如虚线轮廓1105所示,借以产生用于每个输出视图的坐标映射205。例如,为了产生一个对应每个输出视图804、806和808的坐标映射205,将步骤1106至1114重复进行三次:首先,产生对应于输出视图804的坐标映射205;第二,产生对应于输出视图806的坐标映射205;以及第三,产生对应于输出视图808的坐标映射205。对于第二次重复,坐标映射205将原始图像802转换成子视图810(1)和810(2),步骤1106至1112可以对每个子视图810重复进行,且步骤1114将多个坐标映射205结合而产生单一的坐标映射205,以供于查找表204中使用。Steps 1106 through 1114 are repeated, as indicated by dashed outline 1105, to generate a coordinate map 205 for each output view. For example, to generate a coordinate map 205 corresponding to each output view 804, 806, and 808, steps 1106 through 1114 are repeated three times: first, a coordinate map 205 corresponding to output view 804 is generated; second, a coordinate map 205 corresponding to output view 806 is generated; and third, a coordinate map 205 corresponding to output view 808 is generated. For the second iteration, coordinate map 205 converts original image 802 into subviews 810(1) and 810(2), steps 1106 through 1112 are repeated for each subview 810, and step 1114 combines the multiple coordinate maps 205 to generate a single coordinate map 205 for use in lookup table 204.
方法1100中的步骤顺序可以在不脱离本发明的范围下加以改变。例如,步骤1104可以在步骤1103之前,且步骤1107可以在步骤1106之前。The order of the steps in method 1100 may be changed without departing from the scope of the present invention. For example, step 1104 may precede step 1103, and step 1107 may precede step 1106.
可将以上方法和系统进行改变而不脱离本发明的范畴。因此应注意,以上描述中所含有及随附图式中所展示之内容应被解读为说明性而非限制性的。以上权利要求意欲涵盖本文所描述之所有一般及特定的特征,以及本发明的方法及系统范畴的所有陈述,其以语言角度可被视为若入其间范围内。The above methods and systems may be modified without departing from the scope of the present invention. It should be noted that the above description and the accompanying drawings are to be interpreted as illustrative and not restrictive. The following claims are intended to cover all generic and specific features described herein, as well as all statements of the scope of the methods and systems of the present invention, which, by definition, may be construed as falling within the scope thereof.
Claims (24)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/203,016 | 2014-03-10 | ||
| US14/203,016 US9196022B2 (en) | 2014-03-10 | 2014-03-10 | Image transformation and multi-view output systems and methods |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1209541A1 HK1209541A1 (en) | 2016-04-01 |
| HK1209541B true HK1209541B (en) | 2020-05-08 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI524306B (en) | Image transformation and multi-view output systems and methods | |
| CN109618090B (en) | Method and system for image distortion correction of images captured using wide angle lenses | |
| TWI423659B (en) | Image corretion method and related image corretion system thereof | |
| US8855441B2 (en) | Method and apparatus for transforming a non-linear lens-distorted image | |
| CN103283214B (en) | Camera, distortion correction device and distortion correction method | |
| CN108805807B (en) | Splicing method and system for ring scene images | |
| KR101521008B1 (en) | Correction method of distortion image obtained by using fisheye lens and image display system implementing thereof | |
| EP2820593A1 (en) | Method and system for adaptive perspective correction of ultra wide-angle lens images | |
| CN102479379A (en) | Image Correction Method and Related Image Correction System | |
| WO2014208230A1 (en) | Coordinate computation device and method, and image processing device and method | |
| WO2012060269A1 (en) | Image processing method, image processing device, and imaging device | |
| US20210090220A1 (en) | Image de-warping system | |
| CN103379344B (en) | Semiconductor equipment, electronic installation and image processing method | |
| US10440267B2 (en) | System and method for image stitching | |
| JP2019504414A (en) | Method and device for displaying a front view around a vehicle and each vehicle | |
| KR20070004202A (en) | How to Correct Image Distortion by Lens in Digital Camera | |
| US10713757B2 (en) | Image processing apparatus, control method thereof, and storage medium | |
| JP5682473B2 (en) | Image processing method having wide-angle distortion correction processing, image processing apparatus, and imaging apparatus | |
| JP2009123131A (en) | Imaging apparatus | |
| JP2017017672A (en) | Image processing apparatus, image processing method, and image processing program | |
| WO2011158344A1 (en) | Image processing method, program, image processing device, and imaging device | |
| HK1209541B (en) | Image transformation and multi-view output systems and methods | |
| JPWO2011161746A1 (en) | Image processing method, program, image processing apparatus, and imaging apparatus | |
| JP4664259B2 (en) | Image correction apparatus and image correction method | |
| JP2015128263A (en) | Image processing apparatus, image processing method, image processing program, and imaging apparatus |