CN117642766A - 基于显著性的超分辨率 - Google Patents
基于显著性的超分辨率 Download PDFInfo
- Publication number
- CN117642766A CN117642766A CN202180100316.6A CN202180100316A CN117642766A CN 117642766 A CN117642766 A CN 117642766A CN 202180100316 A CN202180100316 A CN 202180100316A CN 117642766 A CN117642766 A CN 117642766A
- Authority
- CN
- China
- Prior art keywords
- region
- input image
- resolution
- blocks
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 252
- 230000008569 process Effects 0.000 claims abstract description 156
- 238000012545 processing Methods 0.000 claims abstract description 57
- 238000013527 convolutional neural network Methods 0.000 claims description 17
- 238000010801 machine learning Methods 0.000 abstract description 114
- 238000003384 imaging method Methods 0.000 abstract description 113
- 238000012549 training Methods 0.000 abstract description 6
- 238000013528 artificial neural network Methods 0.000 description 74
- 238000004891 communication Methods 0.000 description 34
- 230000007246 mechanism Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 23
- 230000011664 signaling Effects 0.000 description 18
- 238000012706 support-vector machine Methods 0.000 description 15
- 241000282693 Cercopithecidae Species 0.000 description 10
- 244000025254 Cannabis sativa Species 0.000 description 8
- 238000007637 random forest analysis Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000579895 Chlorostilbon Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 229910052876 emerald Inorganic materials 0.000 description 1
- 239000010976 emerald Substances 0.000 description 1
- 210000000744 eyelid Anatomy 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 235000020280 flat white Nutrition 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
描述了用于图像处理的系统和技术。例如,成像系统可以获得具有第一区域和第二区域的输入图像,二者都处于第一分辨率。成像系统可以确定第一区域比第二区域更显著(例如,基于将显著性值映射到输入图像的像素的显著性图)。成像系统可以使用第一过程(例如,使用诸如机器学习超分辨率系统的训练网络)来修改第一区域以将第一分辨率增加至第二分辨率。成像系统可以使用第二过程(例如,基于内插过程)来修改第二区域,以将第二区域的第一分辨率增加至第二分辨率。成像系统可以生成和/或输出包括经修改的第一区域和经修改的第二区域的输出图像。
Description
技术领域
概括地说,本公开内容涉及图像处理。例如,本公开内容的各方面包括用于处理图像数据以基于显著性生成超分辨率图像的系统和技术。
背景技术
超分辨率成像是指增加图像分辨率的技术。在一些示例中,超分辨率成像技术可以包括基于内插的放大技术,例如最近邻内插或双线性内插。然而,基于内插的传统超分辨率成像技术通常产生模糊和/或块状的图像,因此不能准确地再现精细细节。
在成像中,图像中像素的显著性是指该像素与图像的其他像素相比的独特程度。在一些情况下,图像的重要视觉元素(例如人或动物的描绘)可以比图像的背景元素具有更高的显著性值。
发明内容
在一些示例中,描述了用于处理图像数据以基于显著性生成超分辨率图像的系统和技术。成像系统例如从成像系统的图像传感器或从外部发送器设备获得输入图像。输入图像具有第一分辨率,其可以是低分辨率。输入图像至少包括第一区域和第二区域,二者都具有第一分辨率。成像系统可以确定输入图像的第一区域比输入图像的第二区域更显著。例如,成像系统可以生成显著性图,该显著性图将相应的显著性值映射到输入图像的每个像素,并且将第一区域识别为比第二区域更显著。在一些示例中,成像系统可以通过将机器学习(ML)显著性映射系统应用于输入图像来生成输入图像的每个像素的每个显著性值。在一些示例中,成像系统可以将输入图像分割成多个块,例如分割成块的网格或格子。成像系统使用ML超分辨率系统来修改输入图像的第一区域,以将第一区域的第一分辨率增加至第二分辨率。第二分辨率大于第一分辨率。在成像系统将输入图像分割成块的示例中,修改第一区域可以包括:将与第一区域(例如,包括第一区域的至少一部分)相对应的块的第一子集中的每个块从第一分辨率修改为第二分辨率。成像系统使用内插来修改输入图像的第二区域,以将第二区域的第一分辨率增加至第二分辨率。内插可以包括例如最近邻内插、双线性内插、双三次内插、本文标识的其他类型的内插或其组合。在成像系统将输入图像分割成块的示例中,修改第二区域可以包括:将与第二区域(例如,包括第二区域的至少一部分)相对应的块的第二子集中的每个块从第一分辨率修改为第二分辨率。成像系统生成和/或输出包括经修改的第一区域和经修改的第二区域的输出图像。在成像系统将输入图像分割成块的示例中,成像系统可以至少部分地通过在修改多个块中的每个块之后合并多个块来生成输出图像。成像系统可以将去块滤波器应用于输出图像,以减少块边缘处的视觉伪影。
在另一示例中,提供了一种用于对图像数据进行处理的装置。该装置包括至少一个存储器以及耦合至所述存储器的一个或多个处理器(例如,在电路中实现)。所述一个或多个处理器被配置为并且可以:获得包括第一区域和第二区域的输入图像,所述第一区域和所述第二区域具有第一分辨率;确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著;使用第一过程修改所述输入图像的所述第一区域以将所述第一区域的所述第一分辨率增加至第二分辨率;使用第二过程修改所述输入图像的所述第二区域,以将所述第二区域的所述第一分辨率增加至所述第二分辨率,其中,所述第二过程不同于所述第一过程;以及输出包括经修改的第一区域和经修改的第二区域的输出图像。
在另一示例中,提供了一种处理图像数据的方法。所述方法包括:获得包括第一区域和第二区域的输入图像,所述第一区域和所述第二区域具有第一分辨率;确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著;使用第一过程修改所述输入图像的所述第一区域以将所述第一区域的所述第一分辨率增加至第二分辨率;使用第二过程修改所述输入图像的所述第二区域,以将所述第二区域的所述第一分辨率增加至所述第二分辨率,其中,所述第二过程不同于所述第一过程;以及输出包括经修改的第一区域和经修改的第二区域的输出图像。
在另一示例中,提供了一种非暂时性计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,所述指令使所述一个或多个处理器:获得包括第一区域和第二区域的输入图像,所述第一区域和所述第二区域具有第一分辨率;确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著;使用第一过程修改所述输入图像的所述第一区域以将所述第一区域的所述第一分辨率增加至第二分辨率;使用第二过程修改所述输入图像的所述第二区域,以将所述第二区域的所述第一分辨率增加至所述第二分辨率,其中,所述第二过程不同于所述第一过程;以及输出包括经修改的第一区域和经修改的第二区域的输出图像。
在另一示例中,提供了一种用于对图像数据进行处理的装置。所述装置包括:用于获得包括第一区域和第二区域的输入图像的单元,所述第一区域和所述第二区域具有第一分辨率;用于确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著的单元;用于使用第一过程修改所述输入图像的所述第一区域以将所述第一区域的所述第一分辨率增加至第二分辨率的单元;用于使用第二过程修改所述输入图像的所述第二区域,以将所述第二区域的所述第一分辨率增加至所述第二分辨率的单元,其中,所述第二过程不同于所述第一过程;以及用于输出包括经修改的第一区域和经修改的第二区域的输出图像的单元。
在一些方面,基于确定第一区域比第二区域更显著,使用第一过程来修改输入图像的第一区域。
在一些方面,其中第一过程是基于经训练网络的超分辨率过程。例如,为了使用第一过程修改输入图像的第一区域,上述方法、装置和计算机可读介质可以包括使用经训练网络执行超分辨率过程。在一些情况下,经训练网络包括一个或多个经训练卷积神经网络。
在一些方面,第二过程是内插过程。例如,为了使用第二过程修改输入图像的第二区域,上述方法、装置和计算机可读介质可以包括执行内插过程。在一些情况下,内插过程包括下列至少一项:最近邻内插、线性内插、双线性内插、三线性内插、三次内插、双三次内插、三三次内插、样条内插、lanczos内插、sinc内插、基于傅立叶的内插以及边缘定向内插。
在一些方面,上述方法、装置和计算机可读介质可以包括:基于显著性图确定输入图像的第一区域比输入图像的第二区域更显著。例如,显著性图可以包括将第一区域识别为比第二区域更显著的一个或多个显著性值。
在一些方面,上述方法、装置和计算机可读介质可以包括:至少部分地通过针对输入图像的每个像素生成一个或多个显著性值中的相应显著性值来基于输入图像生成显著性图。
在一些方面,多个像素中的一个像素的显著性图的显著性值基于像素与多个像素中的其他像素之间的距离。
在一些方面,为了生成显著性图,上述方法、装置和计算机可读介质可以包括:将额外经训练网络应用于输入图像。在一些情况下,额外经训练网络包括一个或多个经训练卷积神经网络。
在一些方面,上述方法、装置和计算机可读介质可以包括:将输入图像分割成多个块。在一些情况下,多个块中的每个块具有与多个块中的其他块相同的形状和相同数量的像素。在一些情况下,多个块包括第一多个块和第二多个块,第一多个块中的每个块具有第一形状和第一数量的像素,并且第二多个块中的每个块具有第二形状和第二数量的像素。在一些方面,第一多个块基于像素数量和形状中的至少一项而不同于第二多个块。
在一些方面,为了修改输入图像的第一区域,上述方法、装置和计算机可读介质可以包括:使用第一过程将与输入图像的第一区域相对应的多个块的第一子集从第一分辨率修改为第二分辨率。
在一些方面,为了修改输入图像的第二区域,上述方法、装置和计算机可读介质可以包括:使用第二过程修改与输入图像的第二区域相对应的多个块的第二子集。
在一些方面,为了修改输入图像的第一区域并修改输入图像的第二区域,上述方法、装置和计算机可读介质可以包括:修改多个块中的每个块以将多个块中的每个块的第一分辨率增加至第二分辨率。
在一些方面,上述方法、装置和计算机可读介质可以包括:至少部分地通过在修改多个块中的每个块之后合并多个块来生成输出图像。
在一些方面,上述方法、装置和计算机可读介质可以包括:至少部分地通过对输出图像应用去块滤波器来修改输出图像。
在一些方面,第二分辨率基于显示器的分辨率。在一些情况下,上述方法、装置和计算机可读介质可以包括:在显示器上显示输出图像。
在一些方面,为了输出输出图像,上述方法、装置和计算机可读介质可以包括:使输出图像显示在显示器上。例如,方法可以包括在显示器上显示输出图像。在一些情况下,装置可以包括显示器。
在一些方面,为了获得输入图像,上述方法、装置和计算机可读介质可以包括:从被配置为捕获输入图像的图像传感器接收输入图像。例如,装置可以包括图像传感器。
在一些方面,上述方法、装置和计算机可读介质可以包括:接收至少一个用户输入;以及基于至少一个用户输入修改第一区域和第二区域中的至少一个。
在一些方面,为了获得输入图像,上述方法、装置和计算机可读介质可以包括:经由通信接收机从发送器设备接收输入图像。例如,该装置可以包括通信接收机。
在一些方面,为了输出该输出图像,上述方法、装置和计算机可读介质可以包括:经由通信发射机将输出图像发送到接收方设备。例如,该装置可以包括通信发射机。
在一些方面,输出图像作为视频帧序列的一部分被输出。在一些情况下,输出图像显示在预览流中(例如,与视频帧序列一起)。
在一些方面,一个或多个上述装置是下列各项、下列各项的一部分和/或包括下列各项:移动设备(例如,移动电话或所谓的“智能电话”或其他移动设备)、可穿戴设备、扩展现实设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)、相机、个人计算机、膝上型计算机、服务器计算机、车辆或车辆的计算设备或组件,或者其他设备。在一些方面,该装置包括用于捕获一幅或多幅图像的图像传感器或多个图像传感器(例如,一个或多个相机)。在一些方面,该装置附加地或替代地包括用于显示一个或多个图像、通知和/或其他可显示数据的显示器。在一些方面,上述装置可以包括一个或多个传感器(例如,一个或多个惯性测量单元(IMU),例如一个或多个陀螺仪、一个或多个加速度计、它们的任意组合和/或其他传感器)。
该发明内容既不旨在标识所要求保护的主题的关键或必要特征,也不旨在单独用于确定所要求保护的主题的范围。应当通过参考本专利的整个说明书的适当部分、任何或全部附图以及每个权利要求来理解该主题。
参考以下说明书、权利要求和附图,前述内容连同其它特征和实施例将变得更加显而易见。
附图说明
下面参考以下附图详细描述本申请的说明性实施例:
图1是示出根据一些示例的图像捕获和处理系统的示例架构的框图;
图2是示出根据一些示例的使用显著性映射器基于输入图像生成显著性图的成像系统的框图;
图3是示出根据一些示例的成像系统的框图,该成像系统基于使用基于机器学习(ML)的超分辨率引擎增加高显著性块的分辨率并且使用基于内插的超分辨率引擎增加低显著性块的分辨率来从输入图像生成超分辨率输出图像;
图4A是示出根据一些示例的包括标记为P0到P63的多个像素的输入图像的示例的概念图;
图4B是示出根据一些示例的映射对应于图4A的输入图像的像素中的每个像素的空间变化显著性值的显著性图的示例的概念图;
图5是示出根据一些示例的可以由成像系统用于生成显著性图和/或用于机器学习(ML)超分辨率引擎的神经网络的示例的框图;
图6A是示出根据一些示例的可以由成像系统的机器学习(ML)显著性映射器引擎使用以生成显著性图的经训练神经网络的神经网络架构的示例的框图;
图6B是示出根据一些示例的可以由成像系统的机器学习(ML)超分辨率引擎使用以生成输出块的经训练神经网络的神经网络架构的示例的框图;
图7是示出根据一些示例的将图像划分成大块、中块和小块的块点阵的概念图;
图8是示出根据一些示例的用于处理图像数据的操作的流程图;以及
图9是示出用于实现本文描述的某些方面的计算系统的示例的图。
具体实施方式
以下提供本公开内容的某些方面和实施例。这些方面和实施例中的一些方面和实施例可以独立地应用,并且它们中的一些方面和实施例可以组合地应用,如对于本领域技术人员来说将显而易见的。在下面的描述中,为了便于解释起见,阐述了特定的细节以便提供对本申请的实施例的透彻理解。但是,显而易见的是,可以在不具有这些特定细节的情况下实践各个实施例。附图和描述不旨在是限制性的。
随后的描述仅提供了示例性实施例,并且无意于限制本公开内容的保护范围、适用性或配置。相反,对示例性实施例的以下描述将为本领域技术人员提供用于实现示例性实施例的使能描述。应当理解的是,在不脱离如在所附的权利要求中阐述的本申请的精神和范围的情况下,可以对元素的功能和布置进行各种改变。
相机是一种接收光线并且使用图像传感器捕获图像帧(诸如静态图像或视频帧)的设备。术语“图像”、“图像帧”和“帧”在本文中可互换地使用。相机可以被配置各种图像捕获和图像处理设置。不同的设置导致具有不同外观的图像。一些相机设置是在捕获一个或多个图像帧之前或期间确定和应用的,诸如ISO、曝光时间、光圈大小、f/stop、快门速度、焦点和增益。例如,设置或参数可以被应用于图像传感器以捕获一个或多个图像帧。其它相机设置可以配置对一个或多个图像帧的后处理,诸如关于对比度、亮度、饱和度、锐度、级别、曲线或色彩的更改。例如,设置或参数可以被应用于处理器(例如,图像信号处理器或ISP)以处理由图像传感器捕获的一个或多个图像帧。
超分辨率成像是指增加图像分辨率的技术。在一些示例中,超分辨率成像技术可以包括基于内插的放大技术,例如最近邻内插、双线性内插。基于内插的超分辨率技术可以使用内插来增加输入图像的分辨率以输出具有比输入图像更高分辨率的输出图像。然而,基于内插的超分辨率成像技术通常产生模糊和/或块状的图像,因此通常不能准确地再现精细细节,例如面部、字母数字字符、纹理和/或复杂的设计。
在一些情况下,超分辨率成像可以使用一个或多个经训练机器学习(ML)模型来执行,例如一个或多个经训练神经网络(NN)、一个或多个经训练支持向量机(SVM)、一个或多个经训练随机森林或其组合。基于ML的超分辨率技术可将输入图像输入到一个或多个ML模型中,该ML模型可输出具有比输入图像更高分辨率的输出图像。然而,完全基于机器学习的超分辨率技术可能太慢而无法在某些应用中使用,例如扩展现实(XR)上下文中的直通视频。XR可以指虚拟现实(VR)、增强现实(AR)、混合现实(MR)或其组合。此外,对于电池电量和/或计算资源有限的设备(例如便携式设备)来说,完全基于ML的超分辨率技术可能过于耗电和/或处理密集,无法在较长时间内持续使用。
在成像中,图像中像素的显著性是指该像素与图像的其他像素相比的独特程度。在一些情况下,图像的重要视觉元素(例如人或动物的描绘)可以比图像的背景元素具有更高的显著性值。在一些情况下,图像的给定像素的显著值可以被计算为该像素的像素值与图像的其他像素的一组其他像素值中的每个像素值之间的一组差值的和。在一些情况下,图像的给定像素的显著性值可以使用一个或多个经训练机器学习(ML)模型来确定,例如一个或多个经训练神经网络(NN)、一个或多个经训练支持向量机(SVM)、一个或多个经训练随机森林或其组合。可以使用这些方法中的任一种或这些方法的组合来生成显著性图。显著性图可以将输入图像的每个像素映射到相应的显著值。
描述了用于处理输入图像的图像数据以基于输入图像的显著性图中的显著值生成并输出超分辨率图像的系统和技术。成像系统例如从成像系统的图像传感器或从外部发送器设备获得输入图像。输入图像具有第一分辨率,其可以是低分辨率。输入图像至少包括第一区域和第二区域,二者都具有第一分辨率。成像系统可以确定输入图像的第一区域比输入图像的第二区域更显著。例如,成像系统可以生成显著性图,该显著性图将相应的显著性值映射到输入图像的每个像素,并且将第一区域识别为比第二区域更显著。成像系统可以通过对输入图像的每个像素与输入图像的其他像素之间的像素距离求和来生成输入图像的每个像素的每个显著值。成像系统可以通过将机器学习(ML)显著性映射系统应用于输入图像来生成输入图像的每个像素的每个显著性值。ML显著性映射系统可以包括一个或多个经训练神经网络(NN)、一个或多个经训练卷积神经网络(CNN)、一个或多个经训练支持向量机(SVM)、一个或多个经训练随机森林或其组合。在一些示例中,成像系统可以将输入图像分割成多个块,例如分割成块的网格或格子。在一些示例中,每个块可以具有相同的尺寸和形状。在一些示例中,一些块可以比其他块更大(例如,包括更多像素)。在一些示例中,一些块可以具有与其他块不同的形状(例如,包括不同的高度与长度的比率)。
成像系统使用ML超分辨率系统来修改输入图像的第一区域,以将第一区域的第一分辨率增加至第二分辨率。第二分辨率大于第一分辨率。ML超分辨率系统可以包括一个或多个经训练神经网络(NN)、一个或多个经训练卷积神经网络(CNN)、一个或多个经训练支持向量机(SVM)、一个或多个经训练随机森林或其组合。在成像系统将输入图像分割成块的示例中,修改第一区域可以包括:将与第一区域(例如,包括第一区域的至少一部分)相对应的块的第一子集中的每个块从第一分辨率修改为第二分辨率。
成像系统使用内插来修改输入图像的第二区域,以将第二区域的第一分辨率增加至第二分辨率。内插可以包括,例如,最近邻内插、线性内插、双线性内插、三线性内插、三次内插、双三次内插、三三次内插、样条内插、lanczos内插、sinc内插、基于傅立叶的内插、边缘定向内插或其组合。在成像系统将输入图像分割成块的示例中,修改第二区域可以包括:将与第二区域(例如,包括第二区域的至少一部分)相对应的块的第二子集中的每个块从第一分辨率修改为第二分辨率。
成像系统生成和/或输出包括经修改的第一区域和经修改的第二区域的输出图像。在成像系统将输入图像分割成块的示例中,成像系统可以至少部分地通过在修改多个块中的每个块之后合并多个块来生成输出图像。成像系统可以将去块滤波器应用于输出图像,以减少块边缘处的视觉伪影。
该成像系统通过为诸如边缘、图案、纹理、梯度、颜色、精细细节或其组合等特征提供更准确的分辨率增加,提供了相对于完全基于内插的超分辨率技术和系统的技术改进。例如,成像系统通过提供更准确的面部分辨率增加,对完全基于内插的超分辨率技术和系统进行了技术改进。该成像系统通过保留高显著区域(例如,可能包括精细细节)的分辨率的精确增加,同时提供处理时间、电池功耗、使用的处理能力、使用的处理带宽或其组合的减少,提供了相对于完全基于机器学习的超分辨率技术和系统的技术改进。
图1是示出图像捕获和处理系统100的架构的方框图。图像捕获和处理系统100包括用于捕获和处理场景的图像(例如,场景110的图像)的各种部件。图像捕获和处理系统100可以捕获独立的图像(或照片)和/或可以捕获以特定顺序包括多个图像(或视频帧)的视频。系统100的透镜115面向场景110并接收来自场景110的光。镜头115使光朝向图像传感器130弯曲。由镜头115接收的光穿过由一个或多个控制机构120控制的光圈且由图像传感器130接收。
一个或多个控制机构120可基于来自图像传感器130的信息和/或基于来自图像处理器150的信息来控制曝光、聚焦和/或变焦。一个或多个控制机构120可以包括多个机构和部件;例如,控制机构120可以包括一个或多个曝光控制机构125A、一个或多个聚焦控制机构125B和/或一个或多个变焦控制机构125C。一个或多个控制机构120还可以包括除了所示的那些之外的附加控制机构,诸如控制模拟增益、闪光、HDR、景深和/或其他图像捕获属性的控制机构。
控制机构120的聚焦控制机构125B可以获得聚焦设置。在一些示例中,聚焦控制机构125B将焦点设置存储在存储器寄存器中。基于聚焦设置,聚焦控制机构125B可相对于图像传感器130的位置调整镜头115的位置。例如,基于聚焦设置,聚焦控制机构125B可以通过驱动电动机或伺服装置来使镜头115更靠近图像传感器130或更远离图像传感器130,从而调整聚焦。在一些情况下,在系统100中可包括附加镜头,例如图像传感器130的每个光电二极管上方的一个或多个微透镜,所述微透镜各自在从镜头115接收的光到达光电二极管之前使所述光朝向对应光电二极管弯曲。聚焦设置可以经由对比度检测自动聚焦(CDAF)、相位检测自动聚焦(PDAF)或其某种组合来确定。可以使用控制机构120、图像传感器130和/或图像处理器150来确定聚焦设置。聚焦设置可以被称为图像捕获设置和/或图像处理设置。
控制机构120的曝光控制机构125A可以获得曝光设置。在一些情况下,曝光控制机构125A将曝光设置存储在存储器寄存器中。基于此曝光设置,曝光控制机构125A可控制光圈的大小(例如,光圈大小或f/光圈)、光圈打开的持续时间(例如,曝光时间或快门速度)、图像传感器130的灵敏度(例如,ISO速度或胶片速度)、由图像传感器130施加的模拟增益,或其任何组合。曝光设置可以被称为图像捕获设置和/或图像处理设置。
控制机构120的变焦控制机构125C可以获得变焦设置。在一些示例中,变焦控制机构125C将变焦设置存储在存储器寄存器中。基于变焦设置,变焦控制机构125C可以控制包括镜头115和一个或多个附加镜头的镜头元件组件(镜头组件)的焦距。例如,变焦控制机构125C可以通过驱使一个或多个电动机或伺服装置以使这些镜头中的一者或多者相对于彼此移动来控制镜头总成的焦长。变焦设置可以被称为图像捕获设置和/或图像处理设置。在一些示例中,镜头组件可以包括齐焦变焦镜头或变焦变焦镜头。在一些示例中,镜头组件可包括聚焦镜头(其在一些情况下可以是镜头115),所述聚焦镜头首先从场景110接收光,光接着在光到达图像传感器130之前穿过聚焦镜头(例如,镜头115)与图像传感器130之间的无焦变焦系统。在一些情况下,无焦变焦系统可以包括具有相等或相似的焦长(例如,在门限差内)的两个正(例如,会聚的、凸)透镜,在它们之间具有负(例如,发散的、凹)透镜。在一些情况下,变焦控制机构125C移动无焦变焦系统中的一个或多个透镜,例如负透镜和一个或两个正透镜。
图像传感器130包括光电二极管或其他光敏元件的一个或多个阵列。每个光电二极管测量最终与由图像传感器130产生的图像中的特定像素相对应的光量。在一些情况下,不同的光电二极管可以被不同的滤色器覆盖,并且因此可以测量与覆盖光电二极管的滤色器的颜色匹配的光。例如,拜耳滤色器包括红色滤色器、蓝色滤色器和绿色滤色器,其中,基于来自在红色滤色器中覆盖的至少一个光电二极管的红光数据、来自在蓝色滤色器中覆盖的至少一个光电二极管的蓝光数据和来自在绿色滤色器中覆盖的至少一个光电二极管的绿光数据来生成图像的每个像素。其他类型的滤色器可以使用黄色、品红色和/或青色(也称为“祖母绿”)滤色器来代替红色、蓝色和/或绿色滤色器或者除了红色、蓝色和/或绿色滤色器之外还使用黄色、品红色和/或青色(也称为“祖母绿”)滤色器。一些图像传感器可以完全缺少滤色器,以及可以替代地遍及像素阵列来使用不同的光电二极管(在一些情况下是垂直地堆叠的)。遍及像素阵列的不同光电二极管可以具有不同的光谱灵敏度曲线,从而对不同波长的光进行响应。单色图像传感器也可以缺少滤色器,并且因此缺少色彩深度。
在一些情况下,图像传感器130可替代地或附加地包括不透明和/或反射掩模,其阻挡光在某些时间和/或从某些角度到达某些光电二极管或某些光电二极管的部分,其可用于相位检测自动聚焦(PDAF)。图像传感器130还可包括用于放大由光电二极管输出的模拟信号的模拟增益放大器和/或用于将光电二极管的模拟信号输出(和/或经过模拟增益放大器放大)转换成数字信号的模数转换器(ADC)。在一些情况下,针对一个或多个控制机构120讨论的某些部件或功能可替代地或附加地被包括在图像传感器130中。图像传感器130可以是电荷耦合器件(CCD)传感器、电子倍增CCD(EMCCD)传感器、有源像素传感器(APS)、互补金属氧化物半导体(CMOS)、N型金属氧化物半导体(NMOS)、混合式CCD/CMOS传感器(例如,sCMOS),或其某个其他组合。
图像处理器150可以包括一个或多个处理器,例如一个或多个图像信号处理器(ISP)(包括ISP 154)、一个或多个主机处理器(包括主机处理器152)和/或针对计算系统900讨论的任何其他类型的处理器910中的一种或多种。主机处理器152可以是数字信号处理器(DSP)和/或其它类型的处理器。在一些实施方式中,图像处理器150是包括主机处理器152和ISP 154的单个集成电路或芯片(例如,被称为片上系统或SoC)。在一些情况下,芯片还可以包括一个或多个输入/输出端口(例如,输入/输出(I/O)端口156)、中央处理单元(CPU)、图形处理单元(GPU)、宽带调制解调器(例如,3G、4G或LTE、5G等)、存储器、连接部件(例如,蓝牙TM、全球定位系统(GPS)等)、其任何组合和/或其他部件。I/O端口156可以包括根据一个或多个协议或规范的任何合适的输入/输出端口或接口,这些协议或规范诸如为:内置集成电路2(I2C)接口、内置集成电路3(I3C)接口、串行外围接口(SPI)接口、串行通用输入/输出(GPIO)接口、移动工业处理器接口(MIPI)(诸如MIPI CSI-2物理(PHY)层端口或接口、高级高性能总线(AHB)总线、其任何组合)和/或其他输入/输出端口。在一个说明性示例中,主机处理器152可使用I2C端口与图像传感器130通信,且ISP 154可使用MIPI端口与图像传感器130通信。
图像处理器150可以执行多个任务,例如去马赛克、颜色空间转换、图像帧下采样、像素内插、自动曝光(AE)控制、自动增益控制(AGC)、CDAF、PDAF、自动白平衡、合并图像帧以形成HDR图像、图像识别、对象识别、特征识别、接收输入、管理输出、管理存储器或其某个组合。图像处理器150可以将图像帧和/或经处理的图像存储在随机存取存储器(RAM)140和/或920、只读存储器(ROM)145和/或925、高速缓存、存储器单元、另一存储设备或其某个组合中。
各种输入/输出(I/O)设备160可以连接到图像处理器150。I/O设备160可以包括显示屏、键盘、小键盘、触摸屏、触控板、触敏表面、打印机、任何其他输出设备935、任何其他输入设备945或其某个组合。在一些情况下,可以通过I/O设备160的物理键盘或小键盘或者通过I/O设备160的触摸屏的虚拟键盘或小键盘将字幕输入到图像处理设备105B中。I/O 160可以包括实现系统100与一个或多个外围设备之间的有线连接的一个或多个端口、插孔或其他连接器,系统100可以通过这些端口、插孔或其他连接器从一个或多个外围设备接收数据和/或将数据传送到一个或多个外围设备。I/O 160可以包括一个或多个无线收发机,其实现系统100与一个或多个外围设备之间的无线连接,系统100可以通过所述无线连接从一个或多个外围设备接收数据和/或将数据传送到一个或多个外围设备。外围设备可以包括任何先前讨论的类型的I/O设备160,并且一旦它们耦合到端口、插孔、无线收发机或其他有线和/或无线连接器,它们本身就可以被认为是I/O设备160。
在一些情况下,图像捕获和处理系统100可以是单个设备。在一些情况下,图像捕获和处理系统100可以是两个或更多个单独的设备,包括图像捕获设备105A(例如,相机)和图像处理设备105B(例如,耦合到相机的计算设备)。在一些实现中,图像捕获设备105A和图像处理设备105B可以例如经由一个或多个导线、电缆或其它电连接器耦合在一起,和/或经由一个或多个无线收发机无线地耦合在一起。在一些实施方式中,图像捕获设备105A和图像处理设备105B可彼此断开。
如图1所示,垂直虚线将图1的图像捕获和处理系统100划分为两个部分,其分别表示图像捕获设备105A和图像处理设备105B。图像捕获设备105A包括镜头115、控制机构120和图像传感器130。图像处理设备105B包括图像处理器150(包括ISP 154和主机处理器152)、RAM 140、ROM 145和I/O 160。在一些情况下,图像捕获设备105A中所示的某些部件(例如ISP 154和/或主机处理器152)可以被包括在图像捕获设备105A中。
图像捕获和处理系统100可以包括电子设备,诸如移动或固定电话手机(例如,智能电话、蜂窝电话等)、台式计算机、膝上型或笔记本计算机、平板计算机、机顶盒、电视、相机、显示设备、数字媒体播放器、视频游戏机、视频流设备、网际协议(IP)相机或任何其他合适的电子设备。在一些示例中,图像捕获和处理系统100可以包括用于无线通信(诸如蜂窝网络通信、802.11Wi-Fi通信、无线局域网(WLAN)通信或其某个组合)的一个或多个无线收发机。在一些实施方式中,图像捕获设备105A和图像处理设备105B可以是不同设备。例如,图像捕获设备105A可以包括相机设备,并且图像处理设备105B可以包括计算设备,诸如移动手机、台式计算机或其他计算设备。
虽然图像捕获和处理系统100被示出为包括某些部件,但是普通技术人员将理解,图像捕获和处理系统100可以包括比图1中所示的部件更多的部件。图像捕获和处理系统100的部件可以包括软件、硬件、或软件和硬件的一个或多个组合。例如,在一些实施方式中,图像捕获和处理系统100的部件可以包括电子电路或其他电子硬件和/或可以使用电子电路或其他电子硬件来实现,电子电路或其他电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、GPU、DSP、CPU和/或其他合适的电子电路),和/或可以包括计算机软件、固件或其任何组合和/或使用计算机软件、固件或其任何组合来实现,以执行本文描述的各种操作。软件和/或固件可以包括存储在计算机可读存储介质上并且可由实现图像捕获和处理系统100的电子设备的一个或多个处理器执行的一个或多个指令。
图2是示出使用显著性映射器210基于输入图像205生成显著性图215的成像系统200的框图。图2的输入图像205描绘了五个人在被栅栏包围的场地上踢足球,背景中有建筑物。这五个人中的两个被描绘在输入图像205的前景中,位于输入图像205中的其他三个人的前面。输入图像205的前景中的两个人在输入图像205中比输入图像205中的其他三个人更大且更突出。
在成像中,图像中像素的显著性值是指该像素与图像的其他像素相比的独特程度。在一些情况下,图像的重要视觉元素(例如人或动物的描绘)可以比图像的背景元素具有更高的显著性值。显著性图将显著性值映射到图像中的每个像素。可以视觉地描绘显著性图,例如通过在显著性图中以白色和浅灰色阴影表示高显著性值(例如,高于显著性值阈值),以及通过在显著性图中以黑色和深灰色阴影表示低显著性值(例如,低于显著性值阈值),或反之亦然。
由显著性映射器210生成的显著性图215将输入图像205的具有高显著性值的像素与显著性图215中的白色或浅灰色像素一起识别。由显著性映射器210生成的显著性图215将输入图像205的具有低显著性值的像素与显著性图215中的黑色或深灰色像素一起识别。输入图像205中描绘输入图像205的前景中的两个人的像素以及描绘在输入图像205的前景中的两个人之一的正后方的第三人的一部分根据显著性图215具有高显著性值(例如,高于显著性值阈值),并且因此在显著性图215中以白色和浅灰色阴影表示。根据显著性图215,输入图像205的剩余像素(例如,描绘草、栅栏、建筑物和剩余三个人)具有低显著性值(例如,低于显著性值阈值),并且因此在显著性图215中以黑色和深灰色阴影表示。
成像系统200的显著性映射器210可以包括机器学习(ML)显著性映射器引擎220、像素距离和引擎225或这二者。像素距离总和引擎225可以计算输入图像205的每个像素的相应显著性值,作为(或基于)输入图像205的该像素与其他像素之间的多个像素距离的总和。例如,输入图像205的像素k的显著值可以由像素距离求和引擎225使用公式来确定,其中,Ii是像素i的像素值,Ik是像素k的像素值,并且N是输入图像205中的像素总数。像素值Ii和Ik例如可以是位于0(黑色)和255(白色)之间的范围内的数值。像素值Ii和Ik可以包括多组数值,每组数值都在0和255之间的范围内,例如每组数值对应于不同的颜色通道(例如,红色、绿色、蓝色)。像素值Ii和Ik可以是例如位于000000(黑色)和FFFFFF(白色)之间的范围内的十六进制颜色代码(例如,HTML颜色代码)。|Ik-Ii|的值可以表示与像素k相对应的一组一个或多个像素值以及与像素i相对应的一组一个或多个像素值之间的距离(例如,欧几里得(Euclidean)距离、曼哈顿(Manhattan)距离、马哈拉诺比斯(Mahalanobis)距离、明可夫斯基(Minkowski)距离或其组合)。在一些情况下,该距离可以是多维颜色空间中的距离,例如不同颜色通道(例如,红色、绿色、蓝色)沿多维颜色空间中的不同轴改变,其中色调和亮度在多维色彩空间中沿不同轴变化,或其组合。在一些示例中,可以将乘数m引入到显著性公式中,使得公式/>在一些示例中,输入图像205中的多个像素可以具有相同的像素值,在这种情况下可以使用经修改的显著性公式:saliency(k)=∑Fn·|Ik-In|,其中Fn表示像素值In出现在输入图像205中的不同像素n中的频率。显著性图215是可以由像素距离和引擎225生成的显著性图的示例。像素距离和引擎225可以被称为像素距离和系统。
成像系统200的显著性映射器210可以包括机器学习(ML)显著性映射器引擎220。ML显著性映射器引擎220可以包括一个或多个经训练机器学习(ML)模型,例如一个或多个经训练神经网络(NN)、一个或多个经训练支持向量机(SVM)、一个或多个经训练随机森林或其组合。ML显著性映射器引擎220可以将输入图像205和/或与输入图像205相关联的元数据提供给一个或多个经训练ML模型作为一个或多个经训练ML模型的输入。ML显著性映射器引擎220因此可以将一个或多个经训练ML模型应用到输入图像205和/或应用到与输入图像205相关联的元数据。ML显著性映射器引擎220的一个或多个经训练ML模型可以输出显著性图215,或者可以由显著性映射器210使用来生成显著性图210的信息(例如,仅显著性值高于阈值的像素的位置,或仅显著性值低于阈值的像素的位置)。在一些示例中,ML显著性映射器引擎220的一个或多个经训练ML模型是使用监督学习、无监督学习、深度学习或其组合来训练的。在一些示例中,ML显著性映射器引擎220的一个或多个经训练ML模型是使用训练数据来训练的,训练数据包括使用像素距离和引擎225或类似系统生成的图像和相应显著性图。图5的神经网络500可以是用作ML显著性映射器引擎220的一部分的神经网络的示例。图6A的神经网络架构600及其经训练神经网络620可以是用作ML显著性映射器引擎220的一部分的神经网络架构的示例。ML显著性映射器引擎220可以被称为ML显著性映射器系统、ML引擎、ML系统或其组合。
图3是示出成像系统300的框图,成像系统300基于使用基于机器学习(ML)的超分辨率引擎350增加高显著性块330的分辨率以及使用基于内插的超分辨率引擎355来增加低显著性块335的分辨率来从输入图像305生成超分辨率输出图像380。成像系统300例如从成像系统300的图像传感器或从与成像系统300通信的外部发送器设备获得输入图像305。图3所示的输入图像305描绘了坐在草地上的猴子。输入图像305具有第一分辨率,其可以是低分辨率。
成像系统300包括成像系统200的显著性映射器210。如在成像系统200中,成像系统300的显著性映射器210可以包括机器学习(ML)显著性映射器引擎220、像素距离和引擎225或这二者。成像系统300的显著性映射器210基于输入图像305生成显著性图315。由显著性映射器210生成的显著性图315将输入图像305的具有高显著性值的像素与显著性图315中的白色或浅灰色像素一起识别。由显著性映射器210生成的显著性图315将输入图像305的具有低显著性值的像素与显著性图315中的黑色或深灰色像素一起识别。根据显著性图315,描绘输入图像305的前景中的猴子的输入图像305的像素具有高显著性值(例如,高于显著性值阈值),并且因此在显著性图315中以白色和浅灰色阴影表示。根据显著性图315,输入图像305的剩余像素(例如,描绘猴子后面的背景)具有低显著性值(例如,低于显著性值阈值),并且因此在显著性图315中以黑色和深灰色阴影表示。显著性映射器210可以使用ML显著性映射器引擎220、像素距离和引擎225或其组合从输入图像305生成显著性图315。
成像系统300包括块分割器320。块分割器320将输入图像分割成布置在块格子325中的多个块。块格子325可以被称为块格子。图3的块格子325的块在输入图像305的副本上以黑色勾勒出轮廓。图3的块格子325包括12个高度块和22个宽度块,总共264个块。块格子325中的块全部共享相同的尺寸(并且因此共享相同数量的像素)并且全部共享相同的形状(正方形)。在一些示例中,块分割器320可以将图像分割成不同尺寸(并且因此不同数量的像素)的块,例如图7的块格子750的三种尺寸。在一些示例中,块分割器320可以将图像分割成不同形状的块。例如,一些块可以是正方形,而其他块可以是长方形(例如,两个或更多个相邻的正方形块可以连接在一起以形成长方形)。块可以是四边形。块不必是四边形,并且可以例如是三角形、五边形、六边形、七边形、八边形、九边形、十边形、另一种多边形形状或其组合。在一些示例中,块可以包括一个或多个弯曲侧面。在一些示例中,块是正多面体,和/或块格子325是正多面体格子。
成像系统300包括块分类器327,其基于显著性图315将块格子325中的每个块分类为高显著性块330或低显著性块335。在图3所示的示例中,块分类器327将块格子325中包括高显著性区域的任何部分的任何块分类为高显著性块330之一,即使块中包括的高显著性区域的部分很小。在图3所示的示例中,块分类器327将块格子325中的任何剩余块(例如,不包括高显著性区域的部分)分类为低显著性块335之一。这样的块分类器327在将块过度包括到高显著性块集合330中以及将块不足包括到低显著性块集合335中方面犯错误。以这种方式对块进行分类增加了使用ML超分辨率引擎350而不是内插超分辨率引擎355来增强描绘图像中更重要元素的块的可能性,并且可以产生更高质量的输出图像380。
在一些示例中,块分类器327反而可能犯错误,即将块过度包括到低显著性块集合335中,以及将块不足包括到高显著性块集合330中。例如,块分类器327可以将块格子325中包括低显著性区域的任何部分的任何块分类为低显著性块335之一,即使块中包括的低显著性区域的部分很小。块分类器327可以将块格子325中的任何剩余块(例如,不包括低显著性区域的部分)分类为高显著性块330之一。以这种方式对块进行分类可以增加使用内插超分辨率引擎355而不是ML超分辨率引擎350来增强块的可能性,这可以提供处理时间、电池功耗、使用的处理功率、使用的处理带宽或其组合的额外减少。
在一些示例中,块分类器327可将块中出现的高显著性区域的量与阈值进行比较,以确定将该块分类为高显著性块330之一还是低显著性块335之一。例如,如果块中出现的高显著性区域的数量超过阈值,则块分类器327可以将该块分类为高显著性块330之一。如果块中出现的高显著性区域的数量小于阈值,则块分类器327可以将该块分类为低显著性块335之一。阈值可以是0%、10%、20%、30%、40%、50%、60%、70%、80%、90%、100%、或者先前列出的值中的任意两个之间的值。阈值越高,块分类器327在将块过度包括到高显著性块集合330中以及将块不足包括到低显著性块集合335中方面犯的错误越多。阈值越低,块分类器327在将块过度包括到低显著性块集合335中以及将块不足包括到高显著性块集合330中方面犯的错误越多。
高显著性块330的集合在图3中被示出为块格子325的副本,其中高显著性块330如块格子325中所示被保留,而低显著性块335被涂黑。因此,高显著性块330的集合在图3中被示为包括描绘猴子的块,而所有其他块(例如,描绘草)被涂黑为低显著性块335。描绘猴眼的示例块在放大块中突出显示,示出猴眼在输入图像305中显得模糊。
低显著性块335的集合在图3中被示出为块格子325的副本,其中低显著性块335如块格子325中所示被保留,而高显著性块330被涂黑。因此,低显著性块330的集合在图3中被示为包括描绘草的块,而所有其他块(例如,描绘猴子)被涂黑为高显著性块330。描绘明亮的草地的示例块在放大的块中被突出显示,示出了明亮的草地在输入图像305中显得模糊。
高显著性块330用作ML超分辨率引擎350的输入块340,ML超分辨率引擎350执行基于ML的超分辨率成像以将每个输入块340的分辨率从第一分辨率增加至比第一分辨率更高的第二分辨率,从而产生输出块360。ML超分辨率引擎350可以包括一个或多个经训练机器学习(ML)模型390,例如一个或多个经训练神经网络(NN)、一个或多个经训练支持向量机(SVM)、一个或多个经训练随机森林或其组合。ML超分辨率引擎350可以将输入块340和/或与输入块340和/或输入图像305相关联的元数据提供给一个或多个经训练ML模型390作为一个或多个经训练ML模型390的输入。因此,ML超分辨率引擎350可以将一个或多个经训练ML模型390应用到输入块340和/或与输入块340和/或输入图像305相关联的元数据。ML超分辨率引擎350的一个或多个经训练的ML模型390可以输出输出块360。在一些示例中,ML超分辨率引擎350的一个或多个经训练ML模型390是使用监督学习、无监督学习、深度学习或其组合来训练的。在一些示例中,ML超分辨率引擎350的一个或多个经训练ML模型390是使用包括高分辨率图像和高分辨率图像的相应缩小的(并且因此低分辨率)版本的训练数据来训练的。图5的神经网络500可以是用作ML超分辨率引擎350的一部分的神经网络的示例,例如用作一个或多个经训练ML模型390之一。图6B的神经网络架构650及其经训练神经网络670可以是用作ML超分辨率引擎350的一部分的神经网络架构的示例,例如作为一个或多个经训练ML模型390之一。ML超分辨率引擎350可以被称为ML超分辨率系统、ML引擎、ML系统或其组合。图3中示出了输入块340和输出块360的示例,其中诸如猴眼周围的眼睑之类的细节在输出块360中比在输入块340中显得明显更锐利和更清晰,在输入块340中这些细节是模糊的。
低显著性块335用作内插超分辨率引擎355的输入块345,内插超分辨率引擎350执行基于内插的超分辨率成像以将每个输入块345的分辨率从第一分辨率增加至比第一分辨率更高的第二分辨率,从而产生输出块365。内插超分辨率引擎355可以使用一种或多种内插技术将每个输入块345的分辨率从第一分辨率增加至第二分辨率,例如最近邻内插、线性内插、双线性内插、三线性内插、三次内插、双三次内插、三三次内插、样条内插、lanczos内插、sinc内插、基于傅立叶的内插、边缘定向内插或其组合。内插超分辨率引擎355可以被称为内插超分辨率系统、内插引擎、内插系统或其组合。输入块345和输出块365的示例在图3中示出,草丛中的细节在输入块345和输出块365中具有相似水平的细节、锐度和清晰度。
成像系统300包括合并器370,其将由ML超分辨率引擎350产生的输出块360(基于高显著性块330生成)与由内插超分辨率引擎355产生的输出块365(基于低显著性块330生成)合并。合并器370将每个输出块360定位到块格子325中,其中输入块340中对应的一个最初是作为一组高显著性块330的一部分。合并器370将每个输出块365定位到块格子325中,其中输入块345中对应的一个最初是作为一组低显著性块335的一部分。因此,合并器370通过对被布置为块格子325中的相应输入块340和输入块345的输出块360和输出块365进行合并来生成超分辨率输出图像380。在一些示例中,合并器370可以包括去块滤波器375,合并器370可以将去块滤波器375应用于超分辨率输出图像380以减少超分辨率输出图像380中的块的边缘处的视觉伪影。去块滤波器375可以使用输入图像305作为参考帧。在一些示例中,去块滤波器375可以沿其中成块伪影在超分辨率输出图像380中出现而没有在输入图像305中出现的块的边缘应用模糊,例如高斯模糊。在一些示例中,去块滤波器375可以沿其中成块伪影在超分辨率输出图像380中出现而没有在输入图像305中出现的块的边缘,从输入图像305导入图像数据(例如,通过内插超分辨率引擎355应用内插超分辨率成像)。成块伪影可以包括例如颜色、色调、饱和度、亮度或其组合的明显的差异(例如,大于阈值)。
在一些示例中,可以使用ML去块引擎(未示出)来应用去块滤波器375,ML去块引擎可以包括一种或多种经训练ML模型,例如一个或多个经训练NN、一个或多个经训练SVM、一个或多个经训练随机森林或其组合。ML去块引擎可以使用合并的超分辨率输出图像380(尚未应用去块滤波器375)作为ML去块引擎的一个或多个经训练ML模型的输入。在一些示例中,输入图像305和/或与输入图像相关联的元数据也可以被输入到ML去块引擎的一个或多个经训练ML模型。ML去块引擎的一个或多个经训练ML模型可以在尚未应用去块滤波器375的情况下应用于合并的超分辨率输出图像380,以生成应用了去块滤波器375的超分辨率输出图像380。图5的神经网络500可以是用作ML去块引擎的一部分的神经网络的示例。ML去块引擎可以使用类似于神经网络架构600、神经网络架构650或其组合的神经网络架构。
超分辨率输出图像380被示为具有覆盖的黑线格子,表示输出块360的边界和输出块365的边界。描绘超分辨率输出图像380中的猴眼的示例块在放大块中被突出显示,示出了猴眼在超分辨率输出图像380中显得锐利、清晰和详细。描绘超分辨率输出图像380中的亮草块的示例块在放大块中被突出显示,示出了明亮的草地在超分辨率输出图像380中看起来具有与输入图像305中相似的细节水平、锐度和清晰度。
在一些示例中,可以基于显示器的分辨率来选择输出块360/365以及超分辨率输出图像380的分辨率。例如,可以选择输出块360/365以及超分辨率输出图像380的分辨率,使得显示器的宽度具有与超分辨率输出图像380的宽度相同数量的像素,使得显示器的高度具有与超分辨率输出图像380的高度相同数量的像素,或者这二者。成像系统可以通过在显示器上显示超分辨率输出图像380来至少部分输出超分辨率输出图像380。成像系统可以至少部分地通过使用通信发射机将超分辨率输出图像380发送到接收方设备来输出超分辨率输出图像380。接收方设备然后可以在接收方设备的显示器上显示超分辨率输出图像380。
在一些示例中,成像系统300不包括或不使用块分割器320。相反,成像系统300可以基于显著性图315提取输入图像305的高显著性区域(例如,高显著性区域仅包括输入图像305的显著性值超过显著性值阈值的那些像素,如显著性图315中所指示的),并将该高显著性区域馈送到ML超分辨率引擎350以产生高显著性区域的超分辨率版本。成像系统300可以基于显著性图315提取输入图像305的低显著性区域(例如,低显著性区域仅包括输入图像305的显著性值小于显著性值阈值的那些像素,如显著性图315中所指示的),并将该低显著性区域馈送到内插超分辨率引擎355以产生低显著性区域的超分辨率版本。在一些示例中,高显著性区域可以被提取为具有与输入图像305的低显著性区域相对应的阿尔法透明度的图像。在一些示例中,低显著性区域可以被提取为具有与输入图像305的高显著性区域相对应的阿尔法透明度的图像。在一些示例中,高显著区域的超分辨率版本和低分辨率区域的超分辨率版本可以保留该透明度。在这样的示例中,合并器370可以将高显著区域的超分辨率版本覆盖在低分辨率区域的超分辨率版本上,或者反之亦然,以生成超分辨率输出图像380。在一些示例中,例如,对于不包括阿尔法透明通道的设备或图像编解码器,或者通过不对阿尔法透明通道进行编码来节省存储空间,可以选择特定颜色(例如,输入图像305中未另外使用的颜色)来用作这种透明区域的替代。
图4A是示出包括标记为P0至P63的多个像素的输入图像410的示例的概念图。输入图像410的宽度为9个像素,高度为9个像素。每行中的像素从左到右按顺序编号为P0到P63,从顶行开始向底行递增。
图4B是示出映射与图4A的输入图像410的每个像素相对应的空间变化的显著性值的显著性图420的示例的概念图。空间变化的显著性值包括被标记为V0至V63的多个值。空间变化的显著性值被示为9个单元(像素)宽和9个单元(像素)高的调谐图420。每行中的单元格从左到右按顺序编号为V0到V63,从顶行开始向底行递增。
显著性图420的每个单元中的每个显著值对应于输入图像410中的像素。例如,调整图420中的值V0对应于输入图像410中的像素P0。显著性映射420中的值用于指示使用显著性映射器210确定的输入图像410中其对应像素的显著性值。像素的显著性值控制该像素是处于显著性图420中的高显著性区域(例如,在显著性图215和315中描绘为白色或浅灰色)还是低显著性区域(例如,在显著性图215和315中描绘为黑色或深灰色)。像素的显著性值与分割成块格子(例如,块格子325)的块一起控制该像素是处于高显著性块(例如,高显著性块330)还是低显著性块(例如,低显著性块335)。
图5是示出神经网络500的示例的框图,神经网络500可以被成像系统(例如,成像系统200或成像系统300)用来生成显著性图(例如,显著性图215、显著性图315、显著性图420或显著性图615)和/或用于机器学习(ML)超分辨率引擎350。神经网络500可以包括任何类型的深度网络,例如卷积神经网络(CNN)、自动编码器、深度置信网络(DBN)、循环神经网络(RNN)、生成式对抗网络(GAN)、以及/或其他类型的神经网络。神经网络500可以是例如ML超分辨率引擎350的一个或多个经训练ML模型390之一。神经网络500可以是例如经训练神经网络620。神经网络500可以是例如经训练神经网络670。
神经网络500的输入层510包括输入数据。输入层510的输入数据可以包括表示输入图像帧的像素的数据。在说明性示例中,输入层510的输入数据可以包括表示图像数据的像素的数据(例如,输入图像205、输入图像305、输入图像410、输入图像605、输入块340、输入块655或其组合)和/或与图像数据相对应的元数据(例如,元数据610、元数据660或其组合)。在一个说明性示例中,输入层510的输入数据可以包括输入图像205、输入图像305、输入图像410、输入图像605和/或元数据610。在另一说明性示例中,输入层510的输入数据可以包括输入块340、输入块655和/或元数据660。图像可以包括来自图像传感器的图像数据,该图像数据包括原始像素数据(包括例如基于拜耳滤波器的每个像素的单一颜色)或经处理像素值(例如RGB图像的RGB像素)。神经网络500包括多个隐藏层512a、512b至512n。隐藏层512a、512b至512n包括“n”个隐藏层,其中“n”是大于或等于1的整数。隐藏层的数量可以根据给定应用的需要包含尽可能多的层。神经网络500还包括输出层514,其提供由隐藏层512a、512b至512n执行的处理产生的输出。在一些示例中,输出层514可以提供显著性图,例如显著性图215、显著性图315、显著性图420和/或显著性图615。在一些示例中,输出层514可以提供输出块,例如输出块360和/或输出块665。
神经网络500是互连滤波器的多层神经网络。每个滤波器都可以被训练以学习代表输入数据的特征。与滤波器相关联的信息在不同层之间共享,并且每个层在信息被处理时保留信息。在一些情况下,神经网络500可以包括前馈网络,在这种情况下不存在网络的输出被反馈回自身的反馈连接。在一些情况下,网络500可以包括递归神经网络,其可以具有允许在读入输入时跨节点携带信息的循环。
在一些情况下,信息可以通过各层之间的节点到节点互连在层之间交换。在一些情况下,网络可以包括卷积神经网络,其可以不将一层中的每个节点链接到下一层中的每个其他节点。在层之间交换信息的网络中,输入层510的节点可以激活第一隐藏层512a中的一组节点。例如,如图所示,输入层510的每个输入节点可以连接到第一隐藏层512a的每个节点。隐藏层的节点可以通过对信息应用激活函数(例如滤波器)来转换每个输入节点的信息。从转换中导出的信息然后可以被传递到并且可以激活下一个隐藏层512b的节点,这些节点可以执行它们自己的指定的功能。示例函数包括卷积函数、缩小函数、放大函数、数据变换和/或任何其他合适的函数。隐藏层512b的输出然后可以激活下一个隐藏层的节点,等等。最后隐藏层512n的输出可以激活输出层514的一个或多个节点,其提供经处理的输出图像。在一些情况下,虽然神经网络500中的节点(例如,节点516)被示为具有多条输出线,一个节点具有单个输出,并且被示为从一个节点输出的所有线表示相同的输出值。
在一些情况下,每个节点或节点之间的互连可以具有权重,该权重是从神经网络500的训练导出的一组参数。例如,节点之间的互连可以表示所了解到的关于互连节点的一条信息。互连可以具有可以被调节的可调数值权重(例如,基于训练数据集),从而允许神经网络500适应输入并且能够随着越来越多的数据被处理而进行学习。
神经网络500被预先训练以使用不同的隐藏层512a、512b至512n来处理来自输入层510中的数据的特征,以便通过输出层514提供输出。
图6A是示出经训练神经网络620的神经网络架构600的示例的框图,该经训练神经网络620可以由成像系统(例如,成像系统200或成像系统300)的机器学习(ML)显著性映射器引擎220使用来生成显著性图615。显著性图615的示例包括显著性图215、显著性图315和/或显著性图420。例如,成像系统可以是成像系统200,在这种情况下显著性图可以是显著性图215。成像系统可以是成像系统300,在这种情况下显著性图可以是显著性图315。
经训练神经网络620可以是ML显著性映射器引擎220的一个或多个经训练的ML模型之一的示例。神经网络架构600接收输入图像605和元数据610作为其输入。输入图像605可以包括原始图像数据(例如,具有单独的颜色分量)或经处理(例如,经去马赛克的)图像数据。输入图像605的示例包括输入图像205或输入图像305。元数据610可以包括关于输入图像605的信息,例如用于捕获输入图像605的图像捕获设置、捕获输入图像605的日期和/或时间、捕获输入图像605的位置、捕获输入图像605的方位(例如,俯仰、偏航和/或滚动)或其组合。
经训练神经网络620例如以将输入图像605的每个像素映射到相应的显著值的一个或多个显著性图615的形式输出与输入图像605的像素相对应的显著值。一个或多个显著性图615的示例包括显著性图215、显著性图315和/或显著性图420。经训练神经网络620可以将一个或多个显著性图615输出为图像,例如具有表示不同显著性值的不同亮度(例如,如显著性图215和显著性图315中所示)。经训练神经网络620可以将一个或多个显著性图615输出为单独的显著性值的集合,其可以被布置在列表、矩阵、网格、表格、数据库、另一数据结构或其组合中。
图例630标识由经训练NN 620执行的、用于基于输入图像605和/或元数据610生成显著性图615的不同NN操作。例如,具有3x3滤波器和步幅为1的卷积由向右指示的黑色粗箭头表示。具有2x2滤波器和步幅为2的卷积由向下指示的粗黑色箭头表示。上采样(例如,双线性上采样)由向上的粗黑色箭头指示。
图6B是示出可由成像系统300的机器学习(ML)超分辨率引擎350用来生成输出块665的经训练神经网络670的神经网络架构650的示例的框图。输出块665的示例包括由ML超分辨率引擎350生成的输出块360。
经训练神经网络670可以是ML超分辨率引擎350的一个或多个训练的ML模型390之一的示例。神经网络架构650接收一个或多个输入块665和/或元数据660作为其输入。一个或多个输入块665的示例包括图3的输入块340。输入块665可以包括原始图像数据(例如,具有单独的颜色分量)或经处理(例如,去马赛克的)图像数据。元数据660可以包括关于从其提取输入块665的输入图像(例如,输入图像605)的信息,例如用于捕获输入图像的图像捕获设置、捕获输入图像的日期和/或时间、捕获输入图像的位置、捕获输入图像的方位(例如,俯仰、偏航和/或滚动)或其组合。元数据660可以包括关于从输入图像中的何处提取输入块665的信息(例如,沿着输入图像的二维平面的坐标)。
经训练神经网络670输出表示输入块655的增强变体的一个或多个输出块665,其中每个输入块655的分辨率从第一(低)分辨率增加至第二(高)分辨率。第二分辨率大于第一分辨率。一个或多个输出块665的示例包括输出块360。
图6A的图例630也在图6B中再现,并且标识由经训练NN 670执行的用于基于输入块655和/或元数据660生成输出块665的不同NN操作。
图7是示出将图像730分割为大块、中等块和小块的块格子750的概念图700。图像730描绘了在平坦的白色背景前方的前景中的女人。图像730可以是视频的视频帧。图例790示出了水平X轴和垂直于水平X轴的垂直Y轴。图像730被示出在横跨X轴和Y轴的平面上。
大块的示例包括大块705A-705B。中等块的示例包括中等块710A-710B。小块的示例包括小块715A和715B。这些块可以是不同尺寸的正方形,例如128个正方形像素(128x128像素)、64个正方形像素(64x64个像素)、32个正方形像素(32x32个像素)、16个正方形像素(16x16个像素)、8个正方形像素(8x8个像素),或4个正方形像素(4x4个像素)。在图7所示的示例中,大块是32×32个像素,中等块是16×16个像素,小块是8×8个像素。
图7中所示的图像730的示例性块格子750产生各种尺寸的块。例如,尺寸为32个正方形像素的第一大块705A被示出在图像的最左上角。第一大块705A沿Y轴位于图像730的最顶部,并且沿X轴位于图像730的最左侧。第一大块705A位于平坦区域720内,该平坦区域720描绘了图像730中所描绘的女性后面的背景。第一大块705A位于距离图像730中的女性的描绘相对较远的位置。尺寸为16个正方形像素的第一中等块710A被示为沿Y轴靠近图像730的顶部,沿图像730的X轴位于水平中心的左侧。第一中等块710A位于平坦区域720内,该平坦区域720描绘了图像730中所描绘的女性后面的背景。第一中等块710A接近于图像730中的女性的描绘,因为沿X轴第一中等块710A右侧的下一个块描绘了背景与女性头发的一部分之间的边缘。尺寸为8个正方形像素的第一小块715A被示为沿Y轴靠近图像730的顶部,沿图像730的X轴位于水平中心的右侧。第一个小块715A描绘了背景和女性头发的一部分之间的边缘。女人的头发是纹理区域725。
在一些情况下,较小的块尺寸(例如,16x16、8x8、4x4)最好用在图像730的更复杂的区域中,例如描绘对象的边缘或纹理内容的区域。因此,第一小块715A描绘了平坦区域720(背景)和纹理区域725(女人的头发)之间的边缘。第一中等块710A位于类似边缘附近。另一方面,在一些情况下,较大的块尺寸(例如,128x128、64x64、32x32、16x16)最好用在相对简单和/或平坦和/或缺乏复杂性(例如纹理和/或边缘)的图像或视频帧区域中。因此,第一大块705A描绘平坦区域720(背景)。第一中等块710A同样描绘了平坦区域720(背景),尽管其位于平坦区域720(背景)和纹理区域725(女人的头发)之间的边缘附近。
在一些情况下,较大块尺寸(例如,128x128、64x64、32x32、16x16)在图像730的复杂区域(例如纹理区域725)中可能是最佳的。例如,第二大块705B描绘了纹理区域725(女人的头发)和几个边缘,包括纹理区域725(女人的头发)和女人的脸之间的边缘、边缘纹理区域725(女人的头发)和女人的耳朵之间的边缘、以及描绘女人耳朵的不同部分的多个边缘。同样,在一些情况下,较小的块尺寸(例如,16x16、8x8、4x4)在图像730的平坦且简单且缺乏复杂性的区域中可能是最佳的。例如,第二小块705B描绘平坦区域720(背景)并且定位成距离图像730中的女性的描绘相对较远。第二中等块710B描绘了图像730中的女性手上的相对平坦且简单的皮肤区域。
在一些情况下,块分割器320可以基于与图像压缩、视频压缩或其组合相关的因素来生成块格子750。例如,图像730可以是正在经历压缩的图像或者正在经历压缩的视频的帧,在这种情况下,可以执行用于生成块格子750的块分割作为这些压缩过程的一部分,并且成像系统可以使用与成像系统300的块格子325相同的块格子750。例如,块分割器320可以基于率失真优化(RDO)或RDO的估计来生成块格子750。在压缩上下文中,块格子750中的块可以被称为编码单元(CU)、编码树单元(CTU)、最大编码单元(LCU)或其组合。
图8是示出用于处理图像数据的过程800的示例的流程图。过程800的操作可以由成像系统执行。在一些示例中,执行过程800的操作的成像系统可以是成像系统300。在一些示例中,执行过程800的操作的成像系统可以包括例如图像捕获和处理系统100、图像捕获设备105A、图像处理设备105B、图像处理器150、ISP 154、主处理器152、成像系统200、成像系统300、神经网络500、神经网络架构600、经训练神经网络620、神经网络架构650、经训练神经网络670、计算系统900,或其组合。
在操作805处,过程800包括:获得(例如,通过成像系统)包括第一区域和第二区域的输入图像。第一区域和第二区域具有第一分辨率。输入图像的一个说明性示例包括图3的输入图像305。在一些示例中,为了获得输入图像,过程800可以包括:从被配置为捕获输入图像的图像传感器(例如,装置或计算设备的图像传感器,例如执行过程800的装置或计算设备)接收输入图像。在一些示例中,为了获得输入图像,过程800可以包括:经由(例如,装置或计算设备的通信接收机,如执行过程800的装置或计算设备)从发送器设备接收输入图像。
在操作810处,过程800包括(例如,通过成像系统)确定输入图像的第一区域比输入图像的第二区域更显著。在一些示例中,过程800可以包括基于显著性图确定(例如,通过成像系统)输入图像的第一区域比输入图像的第二区域更显著。例如,显著性图可以包括将第一区域识别为比第二区域更显著的一个或多个显著性值。
在一些方面,过程800可以包括:至少部分地通过针对输入图像的每个像素生成一个或多个显著性值中的相应显著性值来基于输入图像生成(例如,通过成像系统)显著性图。在一个示例中,图2和图3的显著性映射器210可用于生成显著性图。在一些情况下,(显著性图中的)多个像素中的一个像素的显著性图的显著性值基于该像素与多个像素中的其他像素之间的距离。在一个说明性示例中,如上所述,成像系统200的显著性映射器210可以包括像素距离和引擎225,像素距离总和引擎225可以计算输入图像205的每个像素的相应显著性值,作为(或基于)输入图像205的该像素与其他像素之间的多个像素距离的总和。本文针对图2和图3提供了各种说明性示例。在一些方面,为了生成显著性图,过程800可以将额外的经训练网络(例如,一个或多个经训练卷积神经网络)应用于输入图像。在一个说明性示例中,额外的经训练网络可以包括图2和图3的ML显著映射器引擎220,其可以包括一个或多个经训练ML模型,例如一个或多个经训练神经网络(NN)、一个或多个经训练支持向量机(SVM)、一个或多个经训练随机森林、其任意组合和/或其他经训练ML模型。
在操作815处,过程800包括:使用第一过程修改(例如,通过成像系统)输入图像的第一区域,以将第一区域的第一分辨率增加至第二分辨率。在一些情况下,基于确定第一区域比第二区域更显著,使用第一过程来修改输入图像的第一区域。在一些示例中,第一过程是基于经训练网络的超分辨率过程。例如,为了使用第一过程来修改输入图像的第一区域,过程800(例如,使用成像系统)可以使用经训练网络来执行超分辨率过程。在一些情况下,经训练网络包括一个或多个经训练卷积神经网络。在一个说明性示例中,经训练网络可以包括图3的基于ML的超分辨率引擎350。
在操作820处,过程800包括:使用第二过程修改(例如,通过成像系统)输入图像的第二区域以将第二区域的第一分辨率增加至第二分辨率。第二过程不同于第一过程。在一些示例中,第二过程是与第一过程不同的内插过程(其在一些情况下可以使用经训练网络来执行,如上所述)。例如,为了使用第二过程修改输入图像的第二区域,过程800可以包括执行内插过程。在一个说明性示例中,内插过程可以由图3的基于内插的超分辨率引擎355执行。在一些情况下,内插过程包括下列至少一项:最近邻内插、线性内插、双线性内插、三线性内插、三次内插、双三次内插、三三次内插、样条内插、lanczos内插、sinc内插、基于傅立叶的内插、边缘定向内插,它们的任何组合和/或其他内插过程。
在一些方面,过程800可以包括将输入图像分割成多个块。在一个说明性示例中,图3的块分割器320可以将输入图像305分割成多个块,如图3所示。在一些情况下,多个块中的每个块具有与多个块中的其他块相同的形状和相同数量的像素。在一些情况下,多个块包括第一多个块和第二多个块,其中第一多个块中的每个块具有第一形状和第一数量的像素,并且其中第二多个块中的每个块具有第二形状和第二数量的像素。在一些示例中,第一多个块基于像素数量和/或基于形状而不同于第二多个块。在一个示例中,在一些情况下,一些块可以比其他块更大(例如,包括更多像素)。在另一示例中,一些块可以具有与其他块不同的形状(例如,包括不同的高度与长度的比率)。在另一示例中,一些块可以比其他块更大(例如,包括更多像素)并且可以具有不同的形状(例如,包括不同的高度与长度的比率)。
在一些情况下,为了修改输入图像的第一区域,过程800可以包括:使用第一过程(例如,经训练网络,如图3的基于ML的超分辨率引擎350)将与输入图像的第一区域相对应的多个块的第一子集从第一分辨率修改为第二分辨率。附加地或替代地,在一些情况下,为了修改输入图像的第二区域,过程800可以包括:使用第二过程(例如,内插过程,如使用图3的基于内插的超分辨率引擎355)来修改与输入图像的第二区域相对应的多个块的第二子集。附加地或替代地,在一些示例中,为了修改输入图像的第一区域并修改输入图像的第二区域,过程800可以包括:修改多个块中的每个块(例如,所有块)以将多个块中的每个块的第一分辨率增加至第二分辨率。
在操作825处,过程800包括:输出(例如,通过成像系统)包括经修改的第一区域和经修改的第二区域的输出图像。如上所述,在一些情况下,过程800可以将输入图像分割成多个块。在这些情况下,过程800可以包括:至少部分地通过在修改多个块中的每个块之后合并多个块来生成输出图像。在一些方面,过程800可以包括:至少部分地通过对输出图像应用去块滤波器来修改输出图像。
在一些实施方式中,本文描述的超分辨率系统和技术可以响应于接收用户输入而被执行。例如,用户可以提供用户输入(例如,触摸输入、手势输入、语音输入、物理或虚拟按钮的按压等)来选择导致过程800和/或本文描述的其他操作或过程被执行的超分辨率设置。在一个说明性示例中,可以基于用户输入来执行过程800。例如,过程800可以包括接收至少一个用户输入(例如,经由输入设备,如触摸屏、图像传感器、麦克风、物理或虚拟按钮等)。基于至少一个用户输入,过程800可以包括下列一项或多项:确定输入图像的第一区域比输入图像的第二区域更显著、修改第一区域和第二区域中的至少一个,和/或输出该输出图像。
在一些示例中,第二分辨率基于装置或计算设备(例如,执行过程800的装置或计算设备)的显示器的分辨率。在一些情况下,过程800可以包括:在显示器上显示输出图像(或者使输出图像显示在显示器上)。在一些方面,为了输出该输出图像,过程800可以包括使输出图像显示在显示器上。在一些方面,为了输出该输出图像,过程800可以包括:经由装置或计算设备(例如,执行过程800的装置或计算设备)的通信发射机将输出图像发送到接收方设备。在一些示例中,输出图像作为视频帧序列的一部分被输出。在一些情况下,输出图像显示在预览流中(例如,与视频帧序列一起)。
在一些方面,成像系统可以包括用于获得包括第一区域和第二区域的输入图像的单元。在一些示例中,用于获得的单元可以包括图2和/或图3的显著性映射器210、图3的块分割器320、图9的通信接口940、图9的处理器910、和/或被配置为获取输入图像的其他组件。在一些方面,成像系统可以包括用于确定输入图像的第一区域比输入图像的第二区域更显著的单元。在一些示例中,用于确定的单元可以包括图2和/或图3的显著性映射器210、图3的块分类器327、图9的处理器910和/或被配置为获得输入图像的其他组件。
在一些方面,成像系统可以包括:用于使用第一过程修改输入图像的第一区域以将第一区域的第一分辨率增加至第二分辨率的单元。在一些示例中,用于修改第一区域的单元可以包括图3的基于ML的超分辨率引擎350、图9的处理器910和/或被配置为获得输入图像的其他组件。在一些方面,成像系统可以包括:用于使用第二过程修改输入图像的第二区域以将第二区域的第一分辨率增加至第二分辨率的单元。在一些示例中,用于修改第二区域的单元可以包括图3的基于内插的超分辨率引擎355、图9的处理器910和/或被配置为获得输入图像的其他组件。
在一些方面,成像系统可以包括:用于输出包括经修改的第一区域和经修改的第二区域的输出图像的单元。在一些示例中,用于输出该输出图像的单元可以包括图3的合并器370、图9的处理器910、图9的通信接口940、图9的输出设备935、显示器,和/或被配置为获取输入图像的其他组件。
在一些示例中,本文描述的过程(例如,过程800和/或本文描述的其他过程)可由计算设备或装置执行。在一些示例中,过程800的操作可以由成像系统200和/或成像系统300执行。在一些示例中,过程800的操作可以由具有图9所示的计算系统900的计算设备来执行。例如,具有图9所示的计算系统900的计算设备可以包括成像系统200和/或成像系统300的至少一些组件,和/或可以实现图8的过程800的操作。
计算设备可以包括任何适当的设备,诸如移动设备(例如,移动电话)、台式计算设备、平板计算设备、可穿戴设备(例如,VR头戴式设备、AR头戴式设备、AR眼镜、网络连接的手表或智能手表、或其它可穿戴设备)、服务器计算机、车辆(例如,自主车辆或人类驾驶车辆)或车辆的计算设备、机器人设备、电视机和/或具有执行本文描述的过程(包括过程1400的操作)的资源能力的任何其它计算设备。在一些情况下,计算设备或装置可以包括各种组件,诸如一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一台或多个微型计算机、一个或多个相机、一个或多个传感器和/或被配置为执行本文描述的过程的步骤的其它组件。在一些示例中,计算设备可以包括显示器、被配置为传送和/或接收数据的网络接口、其任何组合和/或其它组件。网络接口可以被配置为传送和/或接收基于互联网协议(IP)的数据或其它类型的数据。
计算设备的组件可以被实现在电路系统中。例如,组件可以包括电子电路或其它电子硬件,和/或者可以使用电子电路或其它电子硬件来实施,所述电子电路或其它电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)、和/或其它合适的电子电路),和/或者组件可以包括用于执行本文中描述的各种操作的计算机软件、固件或其组合和/或者可以使用用于执行本文中描述的各种操作的计算机软件、固件或其组合来实现。
过程800被示为逻辑流程图,逻辑流程图的操作表示可以用硬件、计算机指令或其组合来实现的操作序列。在计算机指令的背景下,操作表示被存储在一个或多个计算机可读存储介质上的计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时执行所记载的操作。通常,计算机可执行指令包括执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构、等等。操作以其描述的顺序不旨在被解释为限制,并且任何数量个所描述的操作可以以任何顺序和/或并行地组合以实施所述过程。
另外,过程800和/或本文描述的其它过程的操作可以在被配置有可执行指令的一个或多个计算机系统的控制下执行,以及可以作为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用)来实现,通过硬件来实现,或其组合。如上文所提到,代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时性的。
图9是示出用于实施本技术的某些方面的系统的示例的示意图。具体地,图9示出了计算系统900的示例,其可以是例如构成内部计算系统、远程计算系统、相机或其任何部件的任何计算设备,其中系统的各组件使用连接905彼此通信。连接905可以是使用总线的物理连接,也可以是到处理器910内的直接连接(例如,在芯片组架构中)。连接905还可以是虚拟连接、联网连接、或逻辑连接。
在一些实施例中,计算系统900是分布式系统,其中本公开内容中描述的各功能可以分布在数据中心、多个数据中心、对等网络等等中。在一些实施例中,所描述的系统组件中的一个或多个组件代表许多这样的组件,每个组件都执行所述组件的部分或全部功能。在一些实施例中,部件可以是物理设备或虚拟设备。
示例系统900包括至少一个处理单元(CPU或处理器)910、以及将包括系统存储器915(例如,只读存储器(ROM)920和随机存取存储器(RAM)925)的各种系统组件耦合到处理器910的连接905。计算系统900可以包括高速存储器的高速缓存912,高速缓存1512与处理器910直接连接、接近处理器1510或被集成为处理器1510的一部分。
处理器910可以包括任何通用处理器以及被配置为控制处理器910的硬件服务或软件服务(诸如被存储在存储设备930中的服务932、934和936)、以及其中软件指令被并入实际处理器设计中的专用处理器。处理器910基本上可以是完全自含式的计算系统,包含多个内核或处理器、总线、存储器控制器、高速缓存、等等。多核处理器可以是对称的或不对称的。
为了实现用户交互,计算系统900包括输入设备945,其可以表示任意数量的输入机制,诸如,用于语音的麦克风、用于手势或图形输入的触敏屏幕、小键盘、鼠标、运动输入、语音、等等。计算系统900还可以包括输出设备935,其可以是多个输出机制中的一个或多个。在一些实例中,多模态系统可以使用户能够提供多种类型的输入/输出,以便与计算系统900进行通信。计算系统900可以包括通信接口940,其中通信接口840通常可以管理和控制用户输入和系统输出。通信接口可以使用有线和/或无线收发器执行或促进接收和/或传输有线或无线通信,包括使用音频插孔/插头、麦克风插孔/插头、通用串行总线(USB)端口/插头、端口/插头、以太网端口/插头、光纤端口/插头、专有有线端口/插头、无线信号传输、/>低功耗(BLE)无线信号传输、/>无线信号传输、射频识别(RFID)无线信号传输、近场通信(NFC)无线信号传输、专用短程通信(DSRC)无线信号传输、802.11Wi-Fi无线信号传输、无线局域网(WLAN)信号传输、可见光通信(VLC)、全球微波接入互操作性(WiMAX)、红外(IR)通信无线信号传输、公共交换电话网(PSTN)信号传输、综合业务数字网(ISDN)信号传输、3G/4G/5G/LTE蜂窝数据网络无线信号传输、自组(ad-hoc)网络信号传输、无线电波信号传输、微波信号传输、红外信号传输、可见光信号传输、紫外光信号传输、沿电磁波谱的无线信号传输或它们的某种组合的有线和/或无线收发器。通信接口940还可以包括一个或多个全球导航卫星系统(GNSS)接收机或收发机,其用于基于从与一个或更多个GNSS系统相关联的一个或多个卫星接收到的一个或多个信号来确定计算系统900的位置。GNSS系统包括但不限于:基于美国的全球定位系统(GPS)、基于俄罗斯的全球导航卫星系统(GLONASS)、基于中国的北斗导航卫星系统(BDS)以及基于欧洲的伽利略(Galileo)GNSS。对于任何特定硬件布置的操作都没有限制,因此可以很容易地使用开发的改进的硬件或固件布置来取代这里的基本特征。
存储设备930可以是非易失性和/或非临时和/或计算机可读存储设备,并且可以是硬盘或者存储计算机可访问的数据的其它类型的计算机可读介质,例如盒式磁带、闪存卡、固态存储设备、数字通用光盘、磁带、软盘、灵活磁盘、硬盘、磁带、磁条/条带、任何其它磁存储介质、闪存、忆阻器存储器、任何其它固态存储器、紧致碟只读存储器(CD-ROM)光盘、可重写紧致碟(CD)光盘、数字视频光盘(DVD)光盘、蓝光光盘(BDD)光盘、全息光盘、另一种光学介质、安全数字(SD)卡、微安全数字(microSD)卡、卡、智能卡芯片、EMV芯片、用户识别模块(SIM)卡、迷你/微型/纳米/微微SIM卡、另一种集成电路(IC)芯片/卡、随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪速EPROM(FLASHEPROM)、高速缓冲存储器(L1/L2/L3/L4/L5/L#)、电阻式随机存取存储器(RRAM/ReRAM)、相变存储器(PCM)、自旋转移力矩RAM(STT-RAM)、另一种存储器芯片或盒式磁带、和/或它们的组合。
存储设备930可以包括软件服务、服务器、服务等等,当定义这种软件的代码由处理器910执行时,它使系统执行功能。在一些实施例中,执行特定功能的硬件服务可以包括存储在计算机可读介质中的软件部件,其与必要的硬件部件(诸如处理器910、连接905、输出设备935等)连接以执行所述功能。
如本文中所使用,术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备以及能够存储、含有或携载指令和/或数据的各种其他介质。计算机可读介质可以包括可存储数据的非临时介质,而不包括无线传输或通过有线连接传输的载波和/或临时电子信号。非临时性介质的例子可以包括但不限于:磁盘或磁带、光盘存储介质(如,压缩光盘(CD)或数字多用途光盘(DVD))、闪存、存储器或存储设备。计算机可读介质可以存储代码和/或机器可执行指令,这些指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类、或指令、数据结构或程序语句的任何组合。通过传递和/或接收信息、数据、自变量、参数或存储器内容,代码段可以耦合到另一代码段或硬件电路。信息、自变量、参数数据等可以使用包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的手段来传递、转发或发送。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等等的电缆或无线信号。但是,当提及时,非临时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身之类的介质。
在上述描述中提供了特定的细节,以提供对本文所提供的实施例和示例的透彻理解。然而,本领域普通技术人员应当理解,可以在没有这些特定细节的情况下实施这些实施例。为了解释清楚,在一些情况下,本文的技术可以被呈现为包括包含如下的功能块的单独的功能块,这些功能块包括设备、设备组件、以软件体现的方法中的步骤或例程、或者硬件和软件的组合。除附图中所示和/或本文所述的组件之外,还可以使用其它组件。例如,电路、系统、网络、过程和其它组件可以以框图形式被示为组件,以便不会在不必要的细节上模糊这些实施例。在其它情况下,公知的电路、过程、算法、结构和技术可以被示为不具有不必要的细节,以便避免模糊这些实施例。
上文可以将各个实施例描述为过程或方法,该过程或方法被描绘为流程图、流程示意图、数据流程图、结构图或框图。尽管使用流程图将操作描述成了一个顺序处理过程,但很多操作可以是并行或同时进行。附加地,可以对这些操作的顺序进行重新布置。当这些操作结束时,处理过程也就终结了,但其可以具有附图中没有包括的其它步骤。过程可以对应于方法、函数、过程、子程序、子程序等。当过程对应于函数时,它的终止可以对应于函数返回到调用函数或主函数。
根据上述示例的过程和方法可以使用被存储在计算机可读介质中或以其它方式可从计算机可读介质获取的计算机可执行指令来实施。例如,这样的指令可以包括引起或配置通用计算机、专用计算机或处理设备执行特定功能或功能组的指令和数据。可以通过网络访问使用的计算机资源部分。计算机可执行指令可以是例如二进制文件、诸如汇编语言的中间格式指令、固件、源代码等。可用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、具有非易失性存储器的USB设备、联网存储设备、等等。
实现根据这些公开内容的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,以及可以采用多种形状因子中的任何一种。当实施在软件、固件、中间件或微代码中时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以被存储在计算机可读或机器可读介质中。一个(或多个)处理器可以执行必要的任务。形状因子的典型示例包括膝上型计算机、智能电话、移动电话、平板设备或其它小型形状因子的个人计算机、个人数字助理、机架式设备、独立设备等。本文所描述的功能还可以体现在外围设备或附加卡中。通过进一步的示例,这样的功能也可以被实施在电路板上在不同芯片或在单个设备中执行的不同过程之间。
指令、用于传送这样的指令的介质、用于执行它们的计算资源、以及用于支持这样的计算资源的其它结构,是用于提供本公开内容中描述的功能的示例性装置。
在前面的描述中,参考本申请的特定实施例描述了本申请的各方面,但是本领域普通技术人员应当认识到,本申请并不受此限制。因此,尽管在本文中已经详细描述了本申请的说明性实施例,但是应当理解,这些发明构思可以用其他方式被不同地体现和采用,并且所附权利要求旨在被解释为包括这样的变型,除了现有技术所限制的以外。上述应用的各种特征和方面可以单独地或联合地使用。此外,在不脱离本说明书的更广泛的精神和保护范围的情况下,可以在本文所述之外的任何数量的环境和应用中使用实施例。因此,说明书和附图应被认为是说明性的而不是限制性的。为了说明起见,以特定顺序描述了方法。应当认识到的是,在替代实施例中,可以以与所描述的次序不同的次序来执行所述方法。
本领域普通技术人员将理解,在不脱离本说明书的范围的情况下,本文所使用的小于(“<”)和大于(“>”)符号或术语可以分别由小于或等于(“≤”)和大于或等于(“≥”)符号代替。
在将组件描述为“被配置为”执行某些操作的情况下,可以例如通过以下方式来实现这种配置:设计电子电路或其它硬件以执行该操作,通过对可编程电子电路(例如,微处理器或其它适当的电子电路)进行编程以执行该操作,或其任意组合。
短语“耦合到”指代直接或间接地物理连接到另一组件的任何组件、和/或直接或间接地与另一组件通信的任何组件(例如,通过有线或无线连接和/或其它适当的通信接口而连接到另一组件)。
引用一个集合中的“至少一个”和/或一个集合中的“一个或多个”的声明语言或其它语言,指示该集合中的一个成员或该集合中的多个成员(具有任何组合)满足权利要求。例如,记载"A和B中的至少一个"的权利要求语言是指A、B,或A和B。在另一个示例中,记载"A、B和C中的至少一个"的权利要求语言是指A、B、C,或A和B,或A和C,或B和C,或A和B和C。语言集合“中的至少一个”和/或集合“中的一个或多个”不限制在该集合中列出的项目的集合。例如,引用“A和B中的至少一个”的声明语言意味着A、B、或A和B,并且可以另外地包括A和B的集合中没有列出的项。
结合本文所公开实施例描述的各种示例性的逻辑框、模块、引擎、电路和算法步骤均可以实现成电子硬件、计算机软件、固件或者其组合。为了清楚地说明硬件和软件的这种可互换性,上文已经对各种说明性的组件、方块、模块、电路和步骤围绕其功能进行了总体描述。至于这样的功能是被实现为硬件还是软件,取决于特定的应用以及施加在整个系统上的设计约束。技术人员可以针对每个特定应用以不同的方式来实现所描述的功能,但是这样的实现决策不应当被解释为导致脱离本申请的范围。
本文中描述的技术还可以被实施在电子硬件、计算机软件、固件或其任何组合中。这样的技术可以被实施在多种设备中的任何设备中,多种设备诸如通用计算机、无线通信设备手持设备、或具有多种用途的集成电路设备,多种用途包括在无线通信设备手持设备和其它设备中的应用。描述为模块或组件的任何特征可以一起实施在集成逻辑器件中,或者单独实现为分立但可互操作的逻辑器件。如果在软件中实现,则所述技术可以至少部分地由计算机可读数据存储介质来实现,计算机可读数据存储介质包括程序代码,程序代码包括在被执行时执行上述方法中的一种或多种方法的指令。计算机可读数据存储介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括封装材料。计算机可读介质可以包括存储器或数据存储介质,例如随机存取存储器(RAM)(诸如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、FLASH存储器、磁或光数据存储介质等。附加地或可替代地,技术可以至少部分地由计算机可读通信介质来实施,该计算机可读通信介质携带或传送指令或数据结构形式的且可由计算机存取、读取和/或执行的程序代码,诸如传播的信号或波。
程序代码可以由处理器执行,该处理器可以包括一个或多个处理器,例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或者其它等效的集成逻辑电路或离散逻辑电路。这种处理器可以被配置为执行本公开内容中描述的任何技术。通用处理器可以是微处理器,但是,该处理器也可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或者任何其它这样的配置。因此,如本文中所使用的术语“处理器”可以指前述结构中的任何结构、前述结构的任何组合或适合于实施本文中所描述的技术的任何其它结构或装置。此外,在一些方面,本文中描述的功能可以在被配置用于编码和解码的专用软件和/或硬件模块之内提供,或者并入组合视频编解码器(CODEC)。
本公开内容的说明性方面包括:
方面1:一种用于对图像数据进行处理的装置,所述装置包括:存储器;以及一个或多个处理器,其耦合到所述存储器,所述一个或多个处理器被配置为:获得包括第一区域和第二区域的输入图像,所述第一区域和所述第二区域具有第一分辨率;确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著;使用第一过程修改所述输入图像的所述第一区域以将所述第一区域的所述第一分辨率增加至第二分辨率;使用第二过程修改所述输入图像的所述第二区域,以将所述第二区域的所述第一分辨率增加至所述第二分辨率,其中,所述第二过程不同于所述第一过程;以及输出包括经修改的第一区域和经修改的第二区域的输出图像。
方面2:根据方面1所述的装置,其中,为了使用所述第一过程来修改所述输入图像的所述第一区域,所述一个或多个处理器被配置为使用经训练网络来执行超分辨率过程。
方面3:根据方面2所述的装置,其中,所述经训练网络包括一个或多个经训练卷积神经网络。
方面4:根据方面1至3中任一项所述的装置,其中,为了使用所述第二过程修改所述输入图像的第二区域,所述一个或多个处理器被配置为执行内插过程。
方面5:根据方面4所述的装置,其中,所述内插过程包括下列至少一项:最近邻内插、线性内插、双线性内插、三线性内插、三次内插、双三次内插、三三次内插、样条内插、lanczos内插、sinc内插、基于傅立叶的内插以及边缘定向内插。
方面6:根据方面1至5中任一项所述的装置,其中,所述一个或多个处理器被配置为:基于显著性图确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著,所述显著性图包括将所述第一区域标识为比所述第二区域更显著的一个或多个显著性值。
方面7:根据方面6所述的装置,其中,所述一个或多个处理器被配置为:至少部分地通过针对所述输入图像的每个像素生成所述一个或多个显著性值中的相应显著性值来基于所述输入图像生成所述显著性图。
方面8:根据方面6或7中任一项所述的装置,其中,所述显著性图的针对多个像素中的像素的显著性值是基于所述像素与所述多个像素中的其他像素之间的距离的。
方面9:根据方面6至8中任一项所述的装置,其中,为了生成所述显著性图,所述一个或多个处理器被配置为:将额外经训练网络应用于所述输入图像。
方面10:根据方面9所述的装置,其中,所述额外经训练网络包括一个或多个经训练卷积神经网络。
方面11:根据方面1至10中任一项所述的装置,其中,所述一个或多个处理器被配置为:将所述输入图像分割为多个块。
方面12:根据方面11所述的装置,其中,所述多个块中的每个块具有与所述多个块中的其他块相同的形状和相同数量的像素。
方面13:根据方面11所述的装置,其中,所述多个块包括第一多个块和第二多个块,所述第一多个块中的每个块具有第一形状和第一数量的像素,所述第二多个块中的每个块具有第二形状和第二数量的像素,其中,所述第一多个块基于像素数量和形状中的至少一项而不同于所述第二多个块。
方面14:根据方面11至13中任一项所述的装置,其中,为了修改所述输入图像的所述第一区域,所述一个或多个处理器被配置为:使用所述第一过程将与所述输入图像的所述第一区域相对应的所述多个块的第一子集从所述第一分辨率修改为所述第二分辨率。
方面15:根据方面11至14中任一项所述的装置,其中,为了修改所述输入图像的所述第二区域,所述一个或多个处理器被配置为:使用所述第二过程来修改与所述输入图像的所述第二区域相对应的所述多个块的第二子集。
方面16:根据方面11至15中任一项所述的装置,其中,为了修改所述输入图像的所述第一区域并修改所述输入图像的所述第二区域,所述一个或多个处理器被配置为:修改所述多个块中的每个块以将所述多个块中的每个块的所述第一分辨率增加至所述第二分辨率。
方面17:根据方面11至16中任一项所述的装置,其中,所述一个或多个处理器被配置为:至少部分地通过在修改所述多个块中的每个块之后合并所述多个块来生成所述输出图像。
方面18:根据方面1至17中任一项所述的装置,其中,所述一个或多个处理器被配置为:至少部分地通过将解块滤波器应用于所述输出图像来修改所述输出图像。
方面19:根据方面1至18中任一项所述的装置,其中,所述第二分辨率基于显示器的分辨率,并且其中,所述一个或多个处理器被配置为在所述显示器上显示所述输出图像。
方面20:根据方面1至19中任一项所述的装置,还包括:显示器,其中,为了输出所述输出图像,所述一个或多个处理器被配置为使所述输出图像显示在所述显示器上。
方面21:根据方面1至20中任一项所述的装置,还包括:图像传感器,其被配置为:捕获所述输入图像,其中,为了获得所述输入图像,所述一个或多个处理器被配置为从所述图像传感器接收所述输入图像。
方面22:根据方面1至21中任一项所述的装置,其中,所述一个或多个处理器被配置为:接收至少一个用户输入;以及基于所述至少一个用户输入修改所述第一区域和所述第二区域中的至少一个。
方面23:根据方面1至22中任一项所述的装置,还包括:通信接收机,其中,为了获得所述输入图像,所述一个或多个处理器被配置为经由所述通信接收机接收来自发送方设备的所述输入图像。
方面24:根据方面1至23中任一项所述的装置,还包括:通信发送机,其中,为了输出所述输出图像,所述一个或多个处理器被配置为经由所述通信发送机向接收方设备发送所述输出图像。
方面25:根据方面1至24中任一项所述的装置,其中,所述输出图像被输出作为视频帧序列的一部分。
方面26:根据方面25所述的装置,其中,所述输出图像显示在预览流中。
方面27:根据方面1至26中任一项所述的装置,其中,基于确定所述第一区域比所述第二区域更显著,使用所述第一过程来修改所述输入图像的所述第一区域。
方面28:一种用于处理图像数据的方法,包括:获得包括第一区域和第二区域的输入图像,所述第一区域和所述第二区域具有第一分辨率;确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著;使用第一过程修改所述输入图像的所述第一区域以将所述第一区域的所述第一分辨率增加至第二分辨率;使用第二过程修改所述输入图像的所述第二区域,以将所述第二区域的所述第一分辨率增加至所述第二分辨率,其中,所述第二过程不同于所述第一过程;以及输出包括经修改的第一区域和经修改的第二区域的输出图像。
方面29:根据方面28所述的方法,其中,使用所述第一过程来修改所述输入图像的所述第一区域包括:使用经训练网络来执行超分辨率过程。
方面30:根据方面29所述的方法,其中,所述经训练网络包括一个或多个经训练卷积神经网络。
方面31:根据方面28至30中任一项所述的方法,其中,使用所述第二过程来修改所述输入图像的所述第二区域包括:执行内插过程。
方面32:根据方面31所述的方法,其中,所述内插过程包括下列至少一项:最近邻内插、线性内插、双线性内插、三线性内插、三次内插、双三次内插、三三次内插、样条内插、lanczos内插、sinc内插、基于傅立叶的内插以及边缘定向内插。
方面33:根据方面28至32中任一项所述的方法,其中,基于显著性图确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著,所述显著性图包括将所述第一区域标识为比所述第二区域更显著的一个或多个显著性值。
方面34:根据方面33所述的方法,还包括:至少部分地通过针对所述输入图像的每个像素生成所述一个或多个显著性值中的相应显著性值来基于所述输入图像生成所述显著性图。
方面35:根据方面33或34中任一项所述的方法,其中,所述显著性图的针对多个像素中的像素的显著性值是基于所述像素与所述多个像素中的其他像素之间的距离的。
方面36:根据方面33至35中任一项所述的方法,其中,生成所述显著性图包括将额外经训练网络应用于所述输入图像。
方面37:根据方面36所述的方法,其中,所述额外经训练网络包括一个或多个经训练卷积神经网络。
方面38:根据方面28至37中任一项所述的方法,还包括:将所述输入图像分割为多个块。
方面39:根据方面38所述的方法,其中,所述多个块中的每个块具有与所述多个块中的其他块相同的形状和相同数量的像素。
方面40:根据方面38所述的方法,其中,所述多个块包括第一多个块和第二多个块,所述第一多个块中的每个块具有第一形状和第一数量的像素,所述第二多个块中的每个块具有第二形状和第二数量的像素,其中,所述第一多个块基于像素数量和形状中的至少一项而不同于所述第二多个块。
方面41:根据方面38至40中的任一项所述的方法,其中,修改所述输入图像的所述第一区域包括:使用所述第一过程将与所述输入图像的所述第一区域相对应的所述多个块的第一子集从所述第一分辨率修改为所述第二分辨率。
方面42:根据方面38至41中的任一项所述的方法,其中,修改所述输入图像的所述第二区域包括:使用所述第二过程来修改与所述输入图像的所述第二区域相对应的所述多个块的第二子集。
方面43:根据方面38至42中任一项所述的方法,其中,修改所述输入图像的所述第一区域并修改所述输入图像的所述第二区域包括修改所述多个块中的每个块以将所述多个块中的每个块的所述第一分辨率增加至所述第二分辨率。
方面44:根据方面38至43中任一项所述的方法,还包括:至少部分地通过在修改所述多个块中的每个块之后合并所述多个块来生成所述输出图像。
方面45:根据方面28至44中任一项所述的方法,还包括:至少部分地通过将解块滤波器应用于所述输出图像来修改所述输出图像。
方面46:根据方面28至45中任一项所述的方法,其中,所述第二分辨率基于显示器的分辨率,并且还包括在所述显示器上显示所述输出图像。
方面47:根据方面28至46中任一项所述的方法,其中,输出所述输出图像包括使所述输出图象显示在显示器上。
方面48:根据方面28至47中任一项所述的方法,其中,获得所述输入图像包括从图像传感器接收所述输入图像。
方面49:根据方面28至48中任一项所述的方法,还包括:接收至少一个用户输入;以及基于所述至少一个用户输入来修改所述第一区域和所述第二区域中的至少一个。
方面50:根据方面28至49中任一项所述的方法,其中,获得所述输入图像包括经由通信接收机接收来自发送方设备的所述输入图像。
方面51:根据方面28至50中任一项所述的方法,其中,输出所述输出图像包括经由所述通信发送机向接收方设备发送所述输出图像。
方面52:根据方面28至51中任一项所述的方法,其中,所述输出图像被输出作为视频帧序列的一部分。
方面53:根据方面52所述的方法,其中,所述输出图像显示在预览流中。
方面54:根据方面28至53中任一项所述的方法,其中,基于确定所述第一区域比所述第二区域更显著,使用所述第一过程来修改所述输入图像的所述第一区域。
方面55:一种计算机可读存储介质,其存储指令,当所述指令由一个或多个处理器执行时,使所述一个或多个处理器执行根据方面1至54中任一项所述的操作。
方面56:一种装置,其包括用于执行根据方面1至54中任一项所述的操作的单元。
Claims (30)
1.一种用于对图像数据进行处理的装置,所述装置包括:
存储器;以及
一个或多个处理器,其耦合到所述存储器,所述一个或多个处理器被配置为:
获得包括第一区域和第二区域的输入图像,所述第一区域和所述第二区域具有第一分辨率;
确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著;
使用第一过程修改所述输入图像的所述第一区域以将所述第一区域的所述第一分辨率增加至第二分辨率;
使用第二过程修改所述输入图像的所述第二区域,以将所述第二区域的所述第一分辨率增加至所述第二分辨率,其中,所述第二过程不同于所述第一过程;以及
输出包括经修改的第一区域和经修改的第二区域的输出图像。
2.根据权利要求1所述的装置,其中,为了使用所述第一过程来修改所述输入图像的所述第一区域,所述一个或多个处理器被配置为使用经训练网络来执行超分辨率过程。
3.根据权利要求2所述的装置,其中,所述经训练网络包括一个或多个经训练卷积神经网络。
4.根据权利要求1至3中任一项所述的装置,其中,所述第二过程是内插过程。
5.根据权利要求4所述的装置,其中,所述内插过程包括下列至少一项:最近邻内插、线性内插、双线性内插、三线性内插、三次内插、双三次内插、三三次内插、样条内插、lanczos内插、sinc内插、基于傅立叶的内插以及边缘定向内插。
6.根据权利要求1至5中任一项所述的装置,其中,所述一个或多个处理器被配置为:基于显著性图确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著,所述显著性图包括将所述第一区域标识为比所述第二区域更显著的一个或多个显著性值。
7.根据权利要求6所述的装置,其中,所述一个或多个处理器被配置为:
至少部分地通过针对所述输入图像的每个像素生成所述一个或多个显著性值中的相应显著性值来基于所述输入图像生成所述显著性图。
8.根据权利要求6或7中任一项所述的装置,其中,所述显著性图的针对多个像素中的像素的显著性值是基于所述像素与所述多个像素中的其他像素之间的距离的。
9.根据权利要求6至8中任一项所述的装置,其中,为了生成所述显著性图,所述一个或多个处理器被配置为:
将额外经训练网络应用于所述输入图像。
10.根据权利要求9所述的装置,其中,所述额外经训练网络包括一个或多个经训练卷积神经网络。
11.根据权利要求1至10中任一项所述的装置,其中,所述一个或多个处理器被配置为:
将所述输入图像分割为多个块。
12.根据权利要求11所述的装置,其中,所述多个块中的每个块具有与所述多个块中的其他块相同的形状和相同数量的像素。
13.根据权利要求11所述的装置,其中,所述多个块包括第一多个块和第二多个块,所述第一多个块中的每个块具有第一形状和第一数量的像素,所述第二多个块中的每个块具有第二形状和第二数量的像素,其中,所述第一多个块基于像素数量和形状中的至少一项而不同于所述第二多个块。
14.根据权利要求11至13中任一项所述的装置,其中,为了修改所述输入图像的所述第一区域,所述一个或多个处理器被配置为:使用所述第一过程将与所述输入图像的所述第一区域相对应的所述多个块的第一子集从所述第一分辨率修改为所述第二分辨率。
15.根据权利要求11至14中任一项所述的装置,其中,为了修改所述输入图像的所述第二区域,所述一个或多个处理器被配置为:使用所述第二过程来修改与所述输入图像的所述第二区域相对应的所述多个块的第二子集。
16.根据权利要求11至15中任一项所述的装置,其中,为了修改所述输入图像的所述第一区域并修改所述输入图像的所述第二区域,所述一个或多个处理器被配置为:
修改所述多个块中的每个块以将所述多个块中的每个块的所述第一分辨率增加至所述第二分辨率。
17.根据权利要求1至16中任一项所述的装置,其中,所述第二分辨率基于显示器的分辨率,并且其中,所述一个或多个处理器被配置为在所述显示器上显示所述输出图像。
18.根据权利要求1至17中任一项所述的装置,还包括:
显示器,其中,为了输出所述输出图像,所述一个或多个处理器被配置为使所述输出图像显示在所述显示器上。
19.根据权利要求1至18中任一项所述的装置,还包括:
图像传感器,其被配置为:捕获所述输入图像,其中,为了获得所述输入图像,所述一个或多个处理器被配置为从所述图像传感器接收所述输入图像。
20.根据权利要求1至19中任一项所述的装置,其中,所述一个或多个处理器被配置为:
接收至少一个用户输入;以及
基于所述至少一个用户输入修改所述第一区域和所述第二区域中的至少一个。
21.根据权利要求1至20中任一项所述的装置,其中,所述输出图像被输出作为视频帧序列的一部分。
22.根据权利要求21所述的装置,其中,所述输出图像显示在预览流中。
23.一种对图像数据进行处理的方法,包括:
获得包括第一区域和第二区域的输入图像,所述第一区域和所述第二区域具有第一分辨率;
确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著;
使用第一过程修改所述输入图像的所述第一区域以将所述第一区域的所述第一分辨率增加至第二分辨率;
使用第二过程修改所述输入图像的所述第二区域,以将所述第二区域的所述第一分辨率增加至所述第二分辨率,其中,所述第二过程不同于所述第一过程;以及
输出包括经修改的第一区域和经修改的第二区域的输出图像。
24.根据权利要求23所述的方法,其中,使用所述第一过程来修改所述输入图像的所述第一区域包括:使用经训练网络来执行超分辨率过程。
25.根据权利要求23或24中任一项所述的方法,其中,使用所述第二过程来修改所述输入图像的所述第二区域包括:执行内插过程。
26.根据权利要求23至25中任一项所述的方法,其中,基于显著性图确定所述输入图像的所述第一区域比所述输入图像的所述第二区域更显著,所述显著性图包括将所述第一区域标识为比所述第二区域更显著的一个或多个显著性值。
27.根据权利要求26所述的方法,还包括:
至少部分地通过针对所述输入图像的每个像素生成所述一个或多个显著性值中的相应显著性值来基于所述输入图像生成所述显著性图。
28.根据权利要求23至27中任意一项所述的方法,还包括:
将所述输入图像分割为多个块,其中,所述多个块中的每个块具有与所述多个块中的其他块相同的形状和相同数量的像素。
29.根据权利要求23至27中任意一项所述的方法,还包括:
将所述输入图像分割为第一多个块和第二多个块,所述第一多个块中的每个块具有第一形状和第一数量的像素,所述第二多个块中的每个块具有第二形状和第二数量的像素,其中,所述第一多个块基于像素数量和形状中的至少一项而不同于所述第二多个块。
30.根据权利要求23至27中任意一项所述的方法,还包括:
将所述输入图像分割为多个块;
其中,修改所述输入图像的所述第一区域包括:使用所述第一过程将与所述输入图像的所述第一区域相对应的所述多个块的第一子集从所述第一分辨率修改为所述第二分辨率;并且
其中,修改所述输入图像的所述第二区域包括:使用所述第二过程来修改与所述输入图像的所述第二区域相对应的所述多个块的第二子集。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/106384 WO2023283855A1 (en) | 2021-07-15 | 2021-07-15 | Super resolution based on saliency |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117642766A true CN117642766A (zh) | 2024-03-01 |
Family
ID=84918919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180100316.6A Pending CN117642766A (zh) | 2021-07-15 | 2021-07-15 | 基于显著性的超分辨率 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240242309A1 (zh) |
EP (1) | EP4371057A1 (zh) |
KR (1) | KR20240035992A (zh) |
CN (1) | CN117642766A (zh) |
WO (1) | WO2023283855A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11244195B2 (en) * | 2018-05-01 | 2022-02-08 | Adobe Inc. | Iteratively applying neural networks to automatically identify pixels of salient objects portrayed in digital images |
CN110310229B (zh) * | 2019-06-28 | 2023-04-18 | Oppo广东移动通信有限公司 | 图像处理方法、图像处理装置、终端设备及可读存储介质 |
KR20210019835A (ko) * | 2019-08-13 | 2021-02-23 | 한국전자통신연구원 | 방향 적응형 병렬 신경망을 이용한 초해상도 영상 생성 장치 및 방법 |
KR102624027B1 (ko) * | 2019-10-17 | 2024-01-11 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
-
2021
- 2021-07-15 US US18/558,611 patent/US20240242309A1/en active Pending
- 2021-07-15 KR KR1020247000603A patent/KR20240035992A/ko unknown
- 2021-07-15 WO PCT/CN2021/106384 patent/WO2023283855A1/en active Application Filing
- 2021-07-15 EP EP21949644.5A patent/EP4371057A1/en active Pending
- 2021-07-15 CN CN202180100316.6A patent/CN117642766A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20240035992A (ko) | 2024-03-19 |
WO2023283855A1 (en) | 2023-01-19 |
US20240242309A1 (en) | 2024-07-18 |
EP4371057A1 (en) | 2024-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11983846B2 (en) | Machine learning based image adjustment | |
US20210390747A1 (en) | Image fusion for image capture and processing systems | |
US11895409B2 (en) | Image processing based on object categorization | |
US11810256B2 (en) | Image modification techniques | |
CN116569213A (zh) | 图像区域的语义细化 | |
US11863729B2 (en) | Systems and methods for generating synthetic depth of field effects | |
US20230239553A1 (en) | Multi-sensor imaging color correction | |
WO2024091783A1 (en) | Image enhancement for image regions of interest | |
US20230388623A1 (en) | Composite image signal processor | |
WO2023140979A1 (en) | Motion based exposure control for high dynamic range imaging | |
WO2023283855A1 (en) | Super resolution based on saliency | |
US11363209B1 (en) | Systems and methods for camera zoom | |
TW202422469A (zh) | 利用多域運動校正的高動態範圍(hdr)圖像產生 | |
TW202418218A (zh) | 圖像中的物件移除 | |
WO2023163799A1 (en) | Foveated sensing | |
TW202416719A (zh) | 用於產生組合圖像的圖像壓縮 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |