CN116112813B - 虚化方法和装置 - Google Patents
虚化方法和装置 Download PDFInfo
- Publication number
- CN116112813B CN116112813B CN202211064849.6A CN202211064849A CN116112813B CN 116112813 B CN116112813 B CN 116112813B CN 202211064849 A CN202211064849 A CN 202211064849A CN 116112813 B CN116112813 B CN 116112813B
- Authority
- CN
- China
- Prior art keywords
- image
- camera
- terminal device
- exposure time
- terminal equipment
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 238000012545 processing Methods 0.000 claims abstract description 126
- 239000011159 matrix material Substances 0.000 claims description 80
- 230000008569 process Effects 0.000 claims description 75
- 230000009466 transformation Effects 0.000 claims description 50
- 238000007781 pre-processing Methods 0.000 claims description 40
- 230000015654 memory Effects 0.000 claims description 30
- 238000003860 storage Methods 0.000 claims description 29
- 230000001133 acceleration Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 2
- 230000033001 locomotion Effects 0.000 abstract description 13
- 238000004364 calculation method Methods 0.000 abstract description 9
- 230000001360 synchronised effect Effects 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 4
- 238000012937 correction Methods 0.000 description 32
- 230000006870 function Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 20
- 239000010410 layer Substances 0.000 description 18
- 230000003287 optical effect Effects 0.000 description 15
- 238000012805 post-processing Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 238000003672 processing method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 238000003705 background correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000000750 progressive effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000002146 bilateral effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000011946 reduction process Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 239000003381 stabilizer Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005355 Hall effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
本申请实施例提供一种虚化方法和装置,方法包括:当检测到终端设备抖动时,终端设备获取终端设备的抖动量;终端设备基于抖动量以及目标焦距,确定目标距离;终端设备将第一摄像头以及第二摄像头均在同方向移动目标距离;终端设备利用移动后的第一摄像头拍摄得到第一图像,以及利用移动后的第二摄像头拍摄得到第二图像;终端设备基于第一图像以及第二图像,对第一图像进行虚化处理。这样,使得终端设备可以根据抖动量以及任一摄像头的有效焦距确定目标距离,并基于目标距离保证主路摄像头以及辅路摄像头的同步移动,减少两个摄像头之间的相对位置发生变化时对主路图像数据以及辅路图像数据之间的相差影响,提高深度计算的准确性以及虚化效果。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种虚化方法和装置。
背景技术
随着互联网的普及和发展,人们对于终端设备的功能需求也越发多样化。例如在拍摄或者视频录制过程中,终端设备可以对拍摄得到的照片、录制的视频或者预览画面进行虚化处理,以获得较好的空间感和电影感。
通常情况下,终端设备可以利用光学图像稳定器(optical imagestabilization,OIS),补偿由于终端设备的抖动带来的影响,并基于补偿后于双目摄像头(包括主路摄像头以及辅路摄像头)获取主路图像数据以及辅路图像数据,利用主路图像数据以及辅路图像数据计算得到深度图像,进而利用深度图像对主路图像数据进行虚化处理,得到虚化处理结果。
然而,上述虚化方法的准确性较低。
发明内容
本申请实施例提供一种虚化方法,使得终端设备在进行OIS防抖过程中,根据抖动量以及任一摄像头的有效焦距确定目标距离,并基于目标距离保证主路摄像头以及辅路摄像头的同步移动,减少两个摄像头之间的相对位置发生变化时对主路图像数据以及辅路图像数据之间的相差影响,提高场景深度计算的准确性,进而提高虚化结果的准确性。
第一方面,本申请实施例提供一种虚化方法,终端设备包括第一摄像头以及第二摄像头,方法包括:当检测到终端设备抖动时,终端设备获取终端设备的抖动量;终端设备基于抖动量以及目标焦距,确定目标距离;其中,目标焦距为第一摄像头的有效焦距或者第二摄像头的有效焦距中的任一个;终端设备将第一摄像头以及第二摄像头均在同方向移动目标距离;终端设备利用移动后的第一摄像头拍摄得到第一图像,以及利用移动后的第二摄像头拍摄得到第二图像;终端设备基于第一图像以及第二图像,对第一图像进行虚化处理。这样,使得终端设备在进行OIS防抖过程中,根据抖动量以及任一摄像头的有效焦距确定目标距离,并基于目标距离保证主路摄像头以及辅路摄像头的同步移动,减少两个摄像头之间的相对位置发生变化时对主路图像数据以及辅路图像数据之间的相差影响,提高场景深度计算的准确性,进而提高虚化结果的准确性。
其中,第一摄像头可以为本申请实施例中描述的主路摄像头,第一图像可以为本申请实施例中描述的主路图像数据;第二摄像头可以为本申请实施例中描述的辅路摄像头,第二图像可以为本申请实施例中描述的辅路图像数据。
在一种可能的实现方式中,终端设备基于第一图像以及第二图像,对第一图像进行虚化处理,包括:终端设备根据目标曝光时间处理第二图像,或者根据目标曝光时间处理第一图像和第二图像,其中,处理后的第一图像为按照目标曝光时间进行曝光的图像,处理后的第二图像为按照目标曝光时间进行曝光的图像;目标曝光时间为第一图像的曝光时间或第二图像的曝光时间中的任一个曝光时间;终端设备基于处理后的第二图像,或者基于处理后的第一图像以及处理后的第二图像,对第一图像进行虚化处理。这样,终端设备可以基于第一图像的曝光时间以及第二图像的曝光时间确定目标曝光时间,并使得第一图像以及第二图像在目标曝光时间处对齐,减少曝光时间不同对于第一图像以及第二图像之间相差的影响,提高深度计算的准确度,进而提高虚化处理的准确性。
在一种可能的实现方式中,终端设备根据目标曝光时间处理第二图像,或者根据目标曝光时间处理第一图像和第二图像,包括:终端设备获取第一变换矩阵以及第二变换矩阵;其中,第一变换矩阵用于将第一图像中的任一行像素点对齐到目标曝光时间对应的位置处;第二变换矩阵用于将第二图像中的任一行像素点对齐到目标曝光时间对应的位置处;终端设备利用第一变换矩阵处理第一图像,以及利用第二变换矩阵处理第二图像。这样,由于第一图像在逐行曝光时交错曝光的时间与第二图像在逐行曝光时交错曝光的时间不一致,使得两路图像数据的相差变化较大,因此终端设备可以通过分别获取对齐到目标曝光时间时对应的第一变换矩阵对第一图像进行矫正,以及基于对齐到目标曝光时间时对应的第二变换矩阵对第二图像分别进行校正,减少不同曝光时间带来的相差影响。
在一种可能的实现方式中,所述终端设备基于处理后的所述第二图像,或者基于处理后的所述第一图像以及处理后的所述第二图像,对所述第一图像进行虚化处理,包括:所述终端设备基于处理后的所述第一图像以及处理后的所述第二图像,确定第一深度图像;终端设备基于第一变换矩阵对应的逆矩阵对第一深度图像进行矫正,得到第二深度图像;终端设备基于第二深度图像,对第一图像进行虚化处理。这样,由于通常情况下终端设备是基于第一摄像头对应的图像进行虚化处理的,因此可以将第一深度图像校正为与第一摄像头相关的深度图像,便于对第一摄像头对应的图像进行虚化处理。
在一种可能的实现方式中,终端设备根据目标曝光时间处理第二图像,或者根据目标曝光时间处理第一图像和第二图像,包括:终端设备获取第一变换矩阵以及第二变换矩阵;其中,第一变换矩阵用于将第一图像中的任一行像素点对齐到目标曝光时间对应的位置处;第二变换矩阵用于将第二图像中的任一行像素点对齐到目标曝光时间对应的位置处;终端设备根据第一变换矩阵对应的逆矩阵以及第二变换矩阵,处理第二图像;其中,处理后的第二图像的曝光时间与第一图像的曝光时间相同。这样,使得终端设备可以利用第一变换矩阵对应的逆矩阵以及第二变换矩阵,模拟出与第一图像的曝光时间相同的图像,减少曝光时间不同对于第一图像以及处理后的第二图像之间的相差影响;并且,简化利用第一变换矩阵以及第二变换矩阵对图像数据进行矫正并确定深度图像的步骤,节省内存占用,并提高深度图像计算以及生成虚化图像的速度。
在一种可能的实现方式中,终端设备获取终端设备的抖动量,包括:终端设备获取角加速度数据;角加速度数据为终端设备中的陀螺仪传感器检测得到的;终端设备基于角加速度数据确定抖动量。这样,终端设备可以基于角加速度数据对抖动量进行精准计算。
在一种可能的实现方式中,终端设备基于第一图像以及第二图像,对第一图像进行虚化处理,包括:终端设备对第一图像以及第二图像进行图像前处理,得到图像前处理后的第一图像以及图像前处理后的第二图像;终端设备基于图像前处理后的第一图像以及图像前处理后的第二图像,对图像前处理后的第一图像进行虚化处理。这样,终端设备可以通过图像前处理,将RAW格式的图像转化为YUV格式的图像,节省虚化过程处理时的内存占用。
第二方面,本申请实施例提供一种虚化装置,当检测到终端设备抖动时,获取单元,用于获取终端设备的抖动量;处理单元,用于基于抖动量以及目标焦距,确定目标距离;其中,目标焦距为第一摄像头的有效焦距或者第二摄像头的有效焦距中的任一个;处理单元,还用于将第一摄像头以及第二摄像头均在同方向移动目标距离;处理单元,还用于利用移动后的第一摄像头拍摄得到第一图像,以及利用移动后的第二摄像头拍摄得到第二图像;处理单元,还用于基于第一图像以及第二图像,对第一图像进行虚化处理。
在一种可能的实现方式中,处理单元,具体用于:根据目标曝光时间处理第二图像,或者根据目标曝光时间处理第一图像和第二图像,其中,处理后的第一图像为按照目标曝光时间进行曝光的图像,处理后的第二图像为按照目标曝光时间进行曝光的图像;目标曝光时间为第一图像的曝光时间或第二图像的曝光时间中的任一个曝光时间;基于处理后的第二图像,或者基于处理后的第一图像以及处理后的第二图像,对第一图像进行虚化处理。
在一种可能的实现方式中,获取单元,具体用于获取第一变换矩阵以及第二变换矩阵;其中,第一变换矩阵用于将第一图像中的任一行像素点对齐到目标曝光时间对应的位置处;第二变换矩阵用于将第二图像中的任一行像素点对齐到目标曝光时间对应的位置处;处理单元,具体用于利用第一变换矩阵处理第一图像,以及利用第二变换矩阵处理第二图像。
在一种可能的实现方式中,处理单元,具体用于:基于处理后的第一图像以及处理后的第二图像,确定第一深度图像;基于第一变换矩阵对应的逆矩阵对第一深度图像进行矫正,得到第二深度图像;基于第二深度图像,对第一图像进行虚化处理。
在一种可能的实现方式中,获取单元,具体用于获取第一变换矩阵以及第二变换矩阵;其中,第一变换矩阵用于将第一图像中的任一行像素点对齐到目标曝光时间对应的位置处;第二变换矩阵用于将第二图像中的任一行像素点对齐到目标曝光时间对应的位置处;处理单元,具体用于根据第一变换矩阵对应的逆矩阵以及第二变换矩阵,处理第二图像;其中,处理后的第二图像的曝光时间与第一图像的曝光时间相同。
在一种可能的实现方式中,获取单元,用于获取角加速度数据;角加速度数据为终端设备中的陀螺仪传感器检测得到的;处理单元,具体用于基于角加速度数据确定抖动量。
在一种可能的实现方式中,处理单元,具体用于:对第一图像以及第二图像进行图像前处理,得到图像前处理后的第一图像以及图像前处理后的第二图像;基于图像前处理后的第一图像以及图像前处理后的第二图像,对图像前处理后的第一图像进行虚化处理。
第三方面,本申请实施例提供一种终端设备,包括处理器和存储器,存储器用于存储代码指令;处理器用于运行代码指令,使得终端设备执行如第一方面或第一方面的任一种实现方式中描述的虚化方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令被执行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的虚化方法。
第五方面,一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的虚化方法。
应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种OIS的原理示意图;
图2为本申请实施例提供的一种终端设备的硬件结构示意图;
图3为本申请实施例提供的一种终端设备的软件结构示意图;
图4为本申请实施例提供的一种虚化方法的流程示意图;
图5为本申请实施例提供的一种打开视频录制功能的界面示意图;
图6为本申请实施例提供的一种图像前处理的流程示意图;
图7为本申请实施例提供的一种虚化装置的结构示意图;
图8为本申请实施例提供的另一种终端设备的硬件结构示意图。
具体实施方式
下面对本申请实施例中所描述的词汇进行说明。可以理解,该说明是为更加清楚的解释本申请实施例,并不必然构成对本申请实施例的限定。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一值和第二值仅仅是为了区分不同的值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
本申请实施例中,终端设备中可以设置双目摄像头,该双目摄像头可以模拟人类双目视觉原理感知距离,即从两个点观察一个物体,获取在不同视角下的图像,根据图像之间像素的匹配关系,通过三角测量原理计算出像素之间的相差来获取物体的场景深度;进而,通过场景深度对应的图像,确定虚化处理结果。
然而,当双目摄像头中的其中一个摄像头设置OIS且双目摄像头中的另一个摄像头不设置OIS,和/或,由于终端设备的抖动使得基于OIS补偿该双目摄像头中的至少一个摄像头时两个摄像头之间的相对位置发生变化时,基于该双目摄像头得到的两个图像之间的相差发生变化,导致场景深度计算不准确,并影响基于深度信息得到的虚化处理结果。
有鉴于此,本申请实施例提供一种虚化方法,应用于终端设备,终端设备包括第一摄像头以及第二摄像头,当检测到目标曝光时间终端设备抖动时,目标曝光时间终端设备获取目标曝光时间终端设备的抖动量;目标曝光时间终端设备基于目标曝光时间抖动量以及目标焦距,确定目标距离;其中,目标曝光时间目标焦距为目标曝光时间第一摄像头的有效焦距或者目标曝光时间第二摄像头的有效焦距中的任一个;目标曝光时间终端设备将目标曝光时间第一摄像头以及目标曝光时间第二摄像头均在同方向移动目标曝光时间目标距离;目标曝光时间终端设备利用移动后的目标曝光时间第一摄像头拍摄得到第一图像,以及利用移动后的目标曝光时间第二摄像头拍摄得到第二图像;目标曝光时间终端设备基于目标曝光时间第一图像以及目标曝光时间第二图像,对目标曝光时间第一图像进行虚化处理,这样终端设备可以提高在基于OIS防抖过程中,主路摄像头以及辅路摄像头的同步移动,减少两个摄像头之间的相对位置发生变化时对主路图像数据以及辅路图像数据之间的相差影响,提高场景深度计算的准确性,进而提高基于第一图像以及第二图像得到的虚化处理结果的虚化效果。
其中,第一摄像头可以为本申请实施例中描述的主路摄像头,第一图像可以为本申请实施例中描述的主路图像数据;第二摄像头可以为本申请实施例中描述的辅路摄像头,第二图像可以为本申请实施例中描述的辅路图像数据。
示例性的,图1为本申请实施例提供的一种OIS的原理示意图。如图1所示,终端设备包括:OIS100和图像处理器(image signal processor,ISP)11。OIS100中可以包括:OIS控制器12、陀螺仪传感器13、马达15、以及摄像头16等。
摄像头16包括主路摄像头和辅路摄像头,主路摄像头和辅路摄像头可以并列位于终端设备的前面,也可以并列位于终端设备的背面,排布方式可以为水平排布也可以为竖直排布,主路摄像头以及辅路摄像头均设置有OIS,主路摄像头和辅路摄像头分别具有镜头(图1中未示出)。
陀螺仪传感器13可以理解为基于终端设备在自由空间方位移动的定位系统,用于获取终端设备抖动时的角加速度数据。
OIS控制器12从陀螺仪传感器13获取角加速度数据,并将角加速度数据转换为终端设备的抖动幅度(或也可以称为抖动量),利用抖动量以及主路摄像头或辅路摄像头对应的有效焦距(effective focal length,EFL),确定移动距离(或也可以称为目标距离),并将移动距离作为参考信号发送给马达15。
马达15可以为OIS马达,用于根据移动距离,推动带有OIS的摄像头的镜头移动,以保证图像的清晰度;其中,该移动指在X和/或Y方向移动,Y方向指镜头的光心和焦点的连线的平面内的一个方向,X方向指通过镜头的光心,和Y方向垂直的方向。
OIS控制器12还从主路摄像头和辅路摄像头获取同一时刻采集目标场景分别得到的主路图像数据和辅路图像数据。其中,该OIS控制器也可以称为比例积分微分控制器(proportional integral derivative control,PID)。
ISP 11存储从OIS控制器12获取的主路图像数据以及辅路图像数据。
可能的实现方式中,该OIS100中还可以包括:霍尔传感器14,该霍尔传感器14可以理解为基于霍尔效应进行位移测量的磁场传感器,用于获取带有OIS系统的摄像头的镜头偏移量,即主路摄像头和/或辅路摄像头的镜头偏移量。该镜头偏移量、主路图像数据、以及辅路图像数据可以共同用于进行场景的深度计算。
下面结合图1中各个构成部件,对OIS的工作原理做具体的介绍。
在准备拍摄时,终端设备进行初始化,通常,在准备就绪后,OIS控制器12控制快门获取图像。
在拍摄时,终端设备会发生抖动,OIS控制器12读取陀螺仪传感器13检测的角加速度数据,将角加速度数据转换为终端设备的抖动量,基于抖动量以及主路摄像头(或辅路摄像头)对应的EFL确定移动距离,并将该移动距离作为参考信号发送给OIS马达;OIS马达根据移动距离分别移动带有OIS的摄像头的镜头,避免因为终端设备抖动造成的拍摄图像模糊,保证图像的清晰度。其中,该移动可以是主路摄像头的镜头在X和/或Y方向移动和/或辅路摄像头的镜头在X和/或Y方向移动。OIS控制器12基于移动后的摄像头所在的位置获取主路图像数据以及辅路图像数据,并将主路图像数据以及辅路图像数据发送给ISP 11。ISP11存储摄像头拍摄的主路图像数据和辅路图像数据,并通过对该主路图像数据以及辅路图像数据的图像处理、深度计算、以及虚化处理等,得到虚化处理结果。
可以理解的是,上述终端设备也可以称为终端,(terminal)、用户设备(userequipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以为拥有双目摄像头的手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmentedreality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
因此,为了能够更好地理解本申请实施例,下面对本申请实施例的终端设备的结构进行介绍。示例性的,图2为本申请实施例提供的一种终端设备的结构示意图。
终端设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,指示器192,摄像头193,以及显示屏194等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中还可以设置存储器,用于存储指令和数据。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备充电,也可以用于终端设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块141用于连接充电管理模块140与处理器110。
终端设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备中的天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在终端设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
无线通信模块160可以提供应用在终端设备上的包括无线局域网(wirelesslocalarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM)等无线通信的解决方案。
终端设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,终端设备可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的红绿蓝(red green blue,RGB),YUV(或理解为灰度值、色彩及饱和度)等格式的图像信号。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端设备可以支持一种或多种视频编解码器。这样,终端设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
摄像头193用于捕获静态图像或视频。在一些实施例中,终端设备可以包括1个或N个摄像头193,N为大于1的正整数。本申请实施例中,该摄像头193中可以包括至少两个摄像头,如主路摄像头以及辅路摄像头,该主路摄像头以及辅路摄像头均可移动。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。
终端设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。耳机接口170D用于连接有线耳机。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
传感器模块180可以包括陀螺仪传感器180A。该陀螺仪传感器180A可以用于确定终端设备的运动姿态。在一些实施例中,可以通过陀螺仪传感器180A确定终端设备围绕三个轴(即,x,y和z轴)的角加速度。陀螺仪传感器180A可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180A检测终端设备抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端设备的抖动,实现防抖。
可能的实现方式中,传感器模块180中还可以包括下述一种或多种传感器,例如:压力传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,或骨传导传感器等(图2中未示出)。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备可以接收按键输入,产生与终端设备的用户设置以及功能控制有关的键信号输入。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等,在此不再赘述。
图3为本申请实施例提供的一种终端设备的软件结构示意图。如图3所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图3所示,应用程序包可以包括相机,日历,电话,地图,电话,音乐,设置,邮箱,视频,社交等应用程序。其中,该相机应用可以实现本申请实施例中描述的虚化方法。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,资源管理器,视图系统,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,触摸屏幕,拖拽屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
示例性的,图4为本申请实施例提供的一种虚化方法的流程示意图。在图4对应的实施例中,双目摄像头可以包括主路摄像头以及辅路摄像头。
可能的实现方式中,该双目摄像头可以包括:支持1x-3.5x的主摄像头(或理解为主路摄像头)以及超广角摄像头(或理解为辅路摄像头);或者,该双目摄像头也可以包括:支持3.5x以上的长焦摄像头(或理解为主路摄像头)以及主摄像头(或理解为辅路摄像头)。其中,该主路摄像头以及辅路摄像头均设置有OIS。
可能的实现方式中,终端设备中也可以包括多个摄像头,例如包括3个摄像头,该3个摄像头中的至少2个摄像头可以用于实现上述双目摄像头的功能,本申请实施例中对此不做限定。
如图4所示,虚化方法可以包括如下步骤:
S401、在终端设备接收到打开视频录制功能或拍摄功能的情况下,当检测到终端设备抖动时,终端设备获取基于OIS确定的抖动量。
本申请实施例中,抖动量为基于角加速度数据得到的,角加速度数据为终端设备基于陀螺仪传感器检测得到的。
示例性的,终端设备可以基于陀螺仪传感器确定角加速度数据,并获取该角加速度数据对应的抖动量。其中,该角加速度数据与抖动量之间存在对应关系。
示例性的,图5为本申请实施例提供的一种打开视频录制功能的界面示意图。在图5对应的实施例中,以终端设备为手机为例进行示例说明,该示例并不构成对本申请实施例的限定。
当终端设备接收到用户打开相机应用中的视频录制功能的操作时,终端设备可以在检测到主路摄像头以及辅路摄像头抖动时获取基于OIS确定的抖动量,并基于图4对应的实施例得到虚化处理结果,进而使得终端设备显示如图5中的a所示的界面,该界面可以为视频录制功能对应的界面,实现对于预览画面的虚化处理。
可能的实现方式中,终端设备也可以在接收到用户在图5中的a所示的界面中,针对用于开启视频录制的控件501的触发操作时,基于图4对应的实施例对基于主路摄像头获取的主路图像数据以及辅路摄像头获取的辅路图像数据进行虚化处理,得到虚化处理结果,进而使得终端设备显示如图5中的b所示的界面,实现对于预览画面的虚化处理。
可能的实现方式中,终端设备也可以在接收到用户在图5中的b所示的界面中,针对用于结束录制的控件505的触发操作时,基于图4对应的实施例对基于主路摄像头获取的主路图像数据以及辅路摄像头获取的辅路图像数据进行虚化处理,得到虚化处理结果,并将虚化处理结果存储在终端设备中,生成包括虚化处理结果的视频文件。在此场景中,终端设备可以不对预览画面进行虚化处理,使得该图5中的a(和/或b)所示的界面中无法显示虚化处理结果;或者也可以对视频画面进行虚化处理,使得该图5中的a(和/或b)所示的界面中显示虚化处理结果,本申请实施例中对此不做限定。
如图5中的a所示的界面,该界面中可以包括相机应用的一级菜单中的一个或多个功能控件,例如:光圈控件、夜景控件、人像控件、录像控件(或也可以理解为用于开启视频录制功能的控件)、短视频控件、或用于开启相机应用中的更多功能的更多控件等。该界面中还可以包括下述的一种或多种,例如:基于摄像头实时采集到的画面,例如预览画面503,用于开启视频录制的控件501、用于打开图库的控件、用于切换摄像头的控件、用于对相机应用进行设置的设置控件、或用于调整拍摄倍数的控件、以及用于设置闪光灯开启或关闭的闪光灯控件等。其中,该预览画面503中可以包括:处于前景的用户502、以及处于后景的用户504,该处于后景的用户504可以处于虚化状态。
可以理解的是,如图5中的a所示的界面,本申请实施例可以通过虚线表示目标的虚化状态,通过实线表示目标的非虚化状态或也可以称为正常显示状态。
可能的实现方式中,当终端设备接收到用户针对用于开启视频录制的控件501的触发操作时,终端设备可以显示如图5中的b所示的界面。该界面中可以包括:基于虚化处理得到的预览画面503,用于指示视频录制时间的信息、用于暂停录制的控件、用于拍摄当前画面的控件、用于结束录制的控件505、以及用于调整拍摄倍数的控件等。
可能的实现方式中,终端设备也可以在接收到打开拍摄功能时,基于图4对应的实施例对基于主路摄像头获取的主路图像数据以及辅路摄像头获取的辅路图像数据进行虚化处理,得到虚化处理结果,并在预览画面中显示虚化处理结果和/或基于用户针对拍摄控件的触发操作将虚化处理结果保存在图像文件,虚化方法的触发方式与图5对应的实施例类似,在此不再赘述。
S402、终端设备基于抖动量以及目标焦距,确定目标距离。
本申请实施例中,目标焦距为主路摄像头的EFL或者辅路摄像头的EFL。示例性的,目标距离可以为主路摄像头的EFL(或者辅路摄像头的EFL)与抖动量的乘积。其中,该主路摄像头的EFL以及辅路摄像头的EFL可以为预设的参数。
S403、终端设备利用目标距离移动主路摄像头并拍摄得到主路图像数据,以及利用目标距离移动辅路摄像头并拍摄得到辅路图像数据。
示例性的,终端设备可以指示主路摄像头对应的马达按照目标距离推送主路摄像头,并基于移动位置后的主路摄像头拍摄得到主路图像数据;并且,终端设备也可以同步指示辅路摄像头对应的马达按照目标距离推送辅路摄像头,并基于移动位置后的辅路摄像头拍摄得到辅路图像数据。
可以理解的是,主路摄像头的移动方向以及辅路摄像头的移动方向也可以相同。
其中,该主路图像数据的格式以及辅路图像数据的格式均可以为原生(RAW)格式。RAW格式的图像也可以称为原始图像数据,其可以为图像感应器将捕捉到的光源信号转化为数字信号时的原始数据。RAW文件中记录了摄像头的原始信息,同时记录了由摄像头拍摄所产生的一些元数据,如图像感光度的设置、快门速度、光圈值、白平衡数值等数据。RAW格式是未经处理、且未经压缩的格式。
S404、终端设备分别对主路图像数据以及辅路图像数据进行图像前处理,得到图像前处理后的主路图像数据以及图像前处理后的辅路图像数据。
其中,该图像前处理用于将RAW格式的图像数据处理为YUV格式的图像数据。
示例性的,该图像前处理可以包括下述一种或多种,例如:去坏点校正处理、RAW域降噪处理、黑电平校正处理、光学阴影校正处理/自动白平衡处理、颜色插值处理、色调映射处理、色彩校正处理、Gamma校正处理、以及图像转换处理等,本申请实施例中对该图像前处理的具体过程不做限定。
S405、终端设备分别对图像前处理后的主路图像数据以及图像前处理后的辅路图像数据进行图像后处理,得到图像后处理后的主路图像数据以及图像后处理后的辅路图像数据。
其中,该图像后处理可以包括下述一种或多种:噪声处理、亮度和颜色处理、以及图像缩放处理等,本申请实施例中对该图像后处理的具体方式不做限定。
针对噪声处理,可以用于去除当前图像中的噪声影响。其中,终端设备可以通过低通滤波器、或双边滤波器等去除当前图像中的噪声。
针对亮度和颜色处理,可以用于调整由于光线条件等对于拍摄对象的亮度和颜色的影响。其中,该颜色处理方法可以包括:基于色彩校正矩阵的颜色处理方法等。该亮度处理方法可以包括:局部色调映射方法等。
针对图像缩放处理,可以用于将当前图像从一种分辨率转换为另一种分辨率。其中,该图像缩放处理方法可以包括:最近邻插值、线性插值、区域插值、或三次样条插值等方法。
可以理解的是,该图像矫正和调整处理方法、噪声处理方法、亮度和颜色处理方法、以及图像缩放处理方法均可以根据实际场景包括其他内容,本申请实施例中对此不做限定。
S406、终端设备基于图像后处理后的主路图像数据以及图像后处理后的辅路图像数据,确定深度图像数据。
可以理解的是,终端设备可以确定图像后处理后的主路图像数据以及图像后处理后的辅路图像数据中的任一对像素点对应的相差,并利用相差以及两路摄像头之间的距离,确定该任一对像素点对应的深度,进而得到深度图像数据。
S407、终端设备利用深度图像数据,对图像后处理后的主路图像数据进行虚化处理,得到虚化处理结果。
示例性的,终端设备可以通过高斯模糊处理、以及神经网络模型等方法进行虚化处理,本申请实施例中对该虚化处理方法不做限定。
S408、终端设备将虚化处理结果送显至显示器,并作为预览画面,和/或,终端设备对虚化处理结果进行存储,并作为图像或视频。
基于此,终端设备在进行OIS防抖过程中,可以基于目标距离保证主路摄像头以及辅路摄像头的同步移动,减少两个摄像头之间的相对位置发生变化时对主路图像数据以及辅路图像数据之间的相差影响,提高场景深度计算的准确性。
在图4对应的实施例的基础上,S404之后,还包括:终端设备利用主路图像数据的曝光时间或辅路图像数据的曝光时间确定目标曝光时间;终端设备利用主路图像数据对应的第一变换(warp)矩阵对图像前处理后的主路图像数据进行矫正得到矫正后的主路图像数据,以及利用辅路图像数据对应的第二warp矩阵对图像前处理后的辅路图像数据进行矫正得到矫正后的辅路图像数据。
进一步的,在S405所示的步骤中,对矫正后的主路图像数据以及矫正后的辅路图像数据进行图像后处理;并且在S406之后,终端设备利用第一warp矩阵对应的逆矩阵,对深度图像数据进行处理,得到矫正后的深度图像数据;在S407中终端设备利用矫正后的深度图像数据,对图像前处理后的主路图像数据进行虚化处理,得到虚化处理结果。
本申请实施例中,该目标曝光时间为第一图像的曝光时间或第二图像的曝光时间中的任一个曝光时间。例如,目标曝光时间为对主路图像数据的第一行像素进行曝光的起始曝光时间与对主路图像数据的最后一行像素进行曝光的起始曝光时间之间的中间时间;或者,目标曝光时间为对辅路图像数据的第一行像素进行曝光的起始曝光时间与对主路图像数据的最后一行像素进行曝光的起始曝光时间之间的中间时间。或者,该目标曝光时间也可以为对主路图像数据(或辅路图像数据)的第一行像素进行曝光的起始曝光时间与对主路图像数据(或辅路图像数据)的最后一行像素进行曝光的起始曝光时间之间的任一时间,本申请实施例中对此不做限定。
可以理解的是,由于出图时间以及传感器设置的影响导致两路图像数据的曝光时间不同,而曝光时间不同将影响两路图像数据的相差,使得基于两路图像数据计算得到的深度信息不准确,进而影响虚化。
基于此,终端设备可以利用目标曝光时间,使得两路图像数据在同一时间点处开启曝光,避免不同的曝光起始时间对于相差的影响。
本申请实施例中,第一warp矩阵用于将第一图像中的任一行像素点对齐到目标曝光时间对应的位置处,第二warp矩阵第一变换矩阵用于将第二图像中的任一行像素点对齐到目标曝光时间对应的位置处。其中,该第一warp矩阵(或第二warp矩阵)中的每一个数值可以用于确定,每一行像素点对齐到目标曝光时间点对应的位置时需要移动的距离。
示例性的,终端设备可以通过光学图像稳定器OIS获取角加速度数据,并通过电子防抖处理(electric image stabilization,EIS)获取主路图像数据在目标曝光时间下对应的第一warp矩阵,以及辅路图像数据在目标曝光时间下对应的第二warp矩阵;进一步的,终端设备可以利用第一warp矩阵,对图像前处理后的主路图像进行位置校正,得到校正处理后的主路图像数据,以及利用第二warp矩阵,对图像前处理后的辅路图像进行位置校正,得到校正处理后的辅路图像数据。
可以理解的是,由于主路图像数据在逐行曝光时交错曝光的时间与辅路图像数据在逐行曝光时交错曝光的时间不一致,使得两路图像数据的相差变化较大,因此终端设备可以通过分别获取对齐到目标曝光时间时对应的warp矩阵,对图像数据进行校正,减少不同曝光时间带来的相差影响。
可能的实现方式中,在获取第一warp矩阵以及第二warp矩阵之后,终端设备也可以终端设备获取第一warp矩阵对应的逆矩阵,并计算第一warp矩阵对应的逆矩阵与第二warp矩阵的卷积,得到目标矩阵;终端设备利用该目标矩阵对图像前处理后的辅路图像数据进行矫正,得到位置矫正后的辅路图像数据;基于位置矫正后的辅路图像数据、以及图像前处理后的主路图像数据确定矫正后的深度图像数据;进而基于该矫正后的深度图像数据对图像前处理后的主路图像数据进行虚化处理,得到虚化处理结果。
基于此,使得终端设备可以利用第一变换矩阵对应的逆矩阵以及第二变换矩阵,模拟出与第一图像的曝光时间相同的图像,减少曝光时间不同对于第一图像以及处理后的第二图像之间的相差影响;并且,简化利用第一变换矩阵以及第二变换矩阵对图像数据进行矫正并确定深度图像的步骤,节省内存占用,并提高深度图像计算以及生成虚化图像的速度。
在图4对应的实施例的基础上,一种实现中,终端设备可以将虚化处理结果送显至显示器,并且对虚化处理结果进行实时存储,使得终端设备可以在预览界面中实时显示虚化处理结果,并且也可以在接收到用户结束拍摄或录制的操作时,将存储的虚化处理结果编码为虚化处理的视频内容或图像内容。在此场景中,终端设备不仅可以实现在预览界面中显示虚化处理结果,还可以在接收到用户回放该视频内容或者查看图像内容的操作时,显示虚化处理的视频内容或图像内容。
可以理解的是,终端设备将虚化处理结果送显至显示器,并且对虚化处理结果进行实时存储的处理方法,也可以实现在直播场景、以及通话等存在预览需求以及视频录制需求的场景中,本申请实施例对此不做限定。
另一种实现中,终端设备可以对虚化处理结果进行实时存储,并在接收到用户结束拍摄或录制的操作时,将存储的虚化处理结果编码为虚化处理的内容;或者,终端设备也可以对S403中获取的主路图像数据以及辅路图像数据进行实时存储,并在接收到用户结束拍摄或录制的操作时,将存储的主路图像数据以及辅路图像数据执行如S402-S407所示的步骤,得到虚化处理结果,并编码为虚化处理的内容。在此场景中,终端设备的预览界面中可以不显示虚化处理结果,但在接收到用户回放视频内容或者查看图像内容的操作时,显示虚化处理的视频内容或者图像内容。
可以理解的是,终端设备对虚化处理结果进行实时存储的方法,可以实现用户对于终端设备的视频录制需求以及图像拍摄需求。
可以理解的是,本申请实施例中对该虚化处理结果的后续处理流程不做具体限定。
在图4对应的实施例的基础上,可能的实现方式中,终端设备可以在本设备中执行S401-S407所示的步骤;或者,终端设备可以在服务器中执行虚化方法,例如终端设备在S403中获取主路图像数据以及辅路图像数据后,可以将主路图像数据以及辅路图像数据发送至服务器,使得服务器可以执行S404-S407所示的步骤得到虚化处理结果,服务器可以将虚化处理结果发送至终端设备,使得终端设备可以基于虚化处理结果进行后续存储处理或送显处理。
可以理解的是,本申请实施例中对虚化方法的执行设备,不做具体限定。
在图4对应的实施例的基础上,可能的实现方式中,S404所示的步骤中的图像前处理过程可以参见图6对应的实施例。
示例性的,图6为本申请实施例提供的一种图像前处理的流程示意图。
如图6所示,该图像前处理可以包括下述一种或多种,例如:去坏点校正处理、RAW域降噪处理、黑电平校正处理、光学阴影校正处理/自动白平衡处理、颜色插值处理、色调映射处理、色彩校正处理、Gamma校正处理、以及图像转换处理等,本申请实施例中对该图像前处理的具体过程不做限定。
针对去坏点校正处理,坏点可以为亮度或者色彩与周围其他像素的点有较大的区别的点。例如,终端设备可以通过在全黑环境下检测亮点和彩点,以及在高亮环境下检测黑点和彩点的方法确定坏点。在去坏点校正处理中,终端设备可以通过在亮度域上取周围像素点的均值的方式消除坏点。
针对RAW域降噪处理,噪声可以在图像上表现为引起较强视觉效果的孤立像素点或像素块。在RAW域降噪处理中,终端设备可以通过低通滤波器(low pass filter,LPF)、或双边滤波器(bilateral filtering)等去除RAW域中的噪声。
针对黑电平校正处理,在调试摄像头的过程,把摄像头放入封闭的密封箱中,会发现画面呈现黑色,但是黑色的程度不够黑,这是由于暗电流的影响,使得传感器输出的图像数据并不是我们需要的黑平衡。在黑电平校正处理中,终端设备可以通过找到校正值,并将所有的区域的像素减去此校正值,使得画面呈现纯黑色。
针对光学阴影校正处理,由于镜头本身的物理性质,可能造成画面四周亮度相对中心亮度逐渐降低的情况,同时由于边缘入射角大,会造成相邻像素间串扰,以及角落偏色的情况。在光学阴影校正处理中,终端设备可以根据一定的校正方法计算每个像素对应的亮度校正值,从而补偿周边衰减的亮度。其中,该校正方法可以为二次项校正、或四次项校正等。
针对自动白平衡处理,由于色温的影响,使得一张白纸在低色温下会偏黄,高色温下会偏蓝。在自动白平衡处理中,白平衡可以使得白色物体在任何色温下都可以呈现出白色,避免偏色情况。其中,自动白平衡方法可以包括:灰度世界、或完美反射法等。
针对颜色插值处理,由于每个像素只感知一种颜色分量,因此可以通过颜色插值使每个像素上同时包含RGB三个分量,因此颜色插值处理可以用于将RAW格式的图像数据转化为RGB格式的图像数据。
针对色调映射处理,用于对图像的整体亮度进行调整,使得亮度调整后的画面可以更接近于真实世界中呈现的亮度。
针对色彩校正处理,由于用户眼睛可见光的频谱响应度和半导体传感器频谱响应度之间存在差别,以及受透镜等的影响,使得RGB值颜色会存在偏差。在色彩校正处理中,终端设备需要进行颜色校正,例如终端设备可以利用一个3x3的颜色变化矩阵进行颜色校正。
针对Gamma校正处理,Gamma校正处理用于对输入图像的灰度值进行的非线性操作,使得输出图像的灰度值与输入图像的灰度值呈指数关系。
针对图像转换处理,可以用于将红绿蓝RGB格式的图像数据转化为YUV格式的图像数据。
可以理解的是,本申请实施例提供的界面仅作为一种示例,并不能构成对本申请实施例的进一步限定。
上面结合图4-图6,对本申请实施例提供的方法进行了说明,下面对本申请实施例提供的执行上述方法的装置进行描述。如图7所示,图7为本申请实施例提供的一种虚化装置的结构示意图,该虚化装置可以是本申请实施例中的终端设备,也可以是终端设备内的芯片或芯片系统。
如图7所示,虚化装置700可以用于通信设备、电路、硬件组件或者芯片中,该虚化装置700包括:获取单元701以及处理单元702。其中,获取单元701用于支持虚化装置700执行的数据获取的步骤;处理单元702用于支持虚化装置700执行信息处理的步骤。
具体的,本申请实施例提供一种虚化装置700,当检测到终端设备抖动时,获取单元701,用于获取终端设备的抖动量;处理单元702,用于基于抖动量以及目标焦距,确定目标距离;其中,目标焦距为第一摄像头的有效焦距或者第二摄像头的有效焦距中的任一个;处理单元702,还用于将第一摄像头以及第二摄像头均在同方向移动目标距离;处理单元702,还用于利用移动后的第一摄像头拍摄得到第一图像,以及利用移动后的第二摄像头拍摄得到第二图像;处理单元702,还用于基于第一图像以及第二图像,对第一图像进行虚化处理。
可能的实现方式中,虚化装置700还可以包括:通信单元703,通信单元703用于指示虚化装置700执行数据的发送和接收等步骤。其中,该通信单元703可以是输入或者输出接口、管脚或者电路等。
可能的实施例中,虚化装置700还可以包括:存储单元704。处理单元702、存储单元704通过线路相连。存储单元704可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。存储单元704可以独立存在,通过通信线路与虚化装置700具有的处理单元702相连。存储单元704也可以和处理单元702集成在一起。
存储单元704可以存储终端设备中的方法的计算机执行指令,以使处理单元702执行上述实施例中的方法。存储单元704可以是寄存器、缓存或者RAM等,存储单元704可以和处理单元702集成在一起。存储单元704可以是只读存储器(read-only memory,ROM)或者可存储静态信息和指令的其他类型的静态存储设备,存储单元704可以与处理单元702相独立。
图8为本申请实施例提供的另一种终端设备的硬件结构示意图,如图8所示,该终端设备包括处理器801,通信线路804以及至少一个通信接口(图8中示例性的以通信接口803为例进行说明)。
处理器801可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路804可包括在上述组件之间传送信息的电路。
通信接口803,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
可能的,该终端设备还可以包括存储器802。
存储器802可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路804与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器802用于存储执行本申请方案的计算机执行指令,并由处理器801来控制执行。处理器801用于执行存储器802中存储的计算机执行指令,从而实现本申请实施例所提供的方法。
可能的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中的CPU0和CPU1。
在具体实现中,作为一种实施例,终端设备可以包括多个处理器,例如图8中的处理器801和处理器805。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compactdisc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
上述的组合也应包括在计算机可读介质的范围内。以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种虚化方法,其特征在于,应用于终端设备,所述终端设备包括第一摄像头以及第二摄像头,所述方法包括:
当检测到所述终端设备抖动时,所述终端设备获取所述终端设备的抖动量;
所述终端设备基于所述抖动量以及目标焦距,确定目标距离;其中,所述目标焦距为所述第一摄像头的有效焦距或者所述第二摄像头的有效焦距中的任一个;
所述终端设备将所述第一摄像头以及所述第二摄像头均在同方向移动所述目标距离;
所述终端设备利用移动后的所述第一摄像头拍摄得到第一图像,以及利用移动后的所述第二摄像头拍摄得到第二图像;
所述终端设备基于所述第一图像以及所述第二图像,对所述第一图像进行虚化处理。
2.根据权利要求1所述的方法,其特征在于,所述终端设备基于所述第一图像以及所述第二图像,对所述第一图像进行虚化处理,包括:
所述终端设备根据目标曝光时间处理所述第二图像,或者根据所述目标曝光时间处理所述第一图像和所述第二图像,其中,处理后的所述第一图像为按照所述目标曝光时间进行曝光的图像,处理后的所述第二图像为按照所述目标曝光时间进行曝光的图像;所述目标曝光时间为所述第一图像的曝光时间或所述第二图像的曝光时间中的任一个曝光时间;
所述终端设备基于处理后的所述第二图像,或者基于处理后的所述第一图像以及处理后的所述第二图像,对所述第一图像进行虚化处理。
3.根据权利要求2所述的方法,其特征在于,所述终端设备根据目标曝光时间处理所述第二图像,或者根据所述目标曝光时间处理所述第一图像和所述第二图像,包括:
所述终端设备获取第一变换矩阵以及第二变换矩阵;其中,所述第一变换矩阵用于将所述第一图像中的任一行像素点对齐到所述目标曝光时间对应的位置处;所述第二变换矩阵用于将所述第二图像中的任一行像素点对齐到所述目标曝光时间对应的位置处;
所述终端设备利用所述第一变换矩阵处理所述第一图像,以及利用所述第二变换矩阵处理所述第二图像。
4.根据权利要求3所述的方法,其特征在于,所述终端设备基于处理后的所述第二图像,或者基于处理后的所述第一图像以及处理后的所述第二图像,对所述第一图像进行虚化处理,包括:
所述终端设备基于处理后的所述第一图像以及处理后的所述第二图像,确定第一深度图像;
所述终端设备基于所述第一变换矩阵对应的逆矩阵对所述第一深度图像进行矫正,得到第二深度图像;
所述终端设备基于所述第二深度图像,对所述第一图像进行虚化处理。
5.根据权利要求2所述的方法,其特征在于,所述终端设备根据目标曝光时间处理所述第二图像,或者根据所述目标曝光时间处理所述第一图像和所述第二图像,包括:
所述终端设备获取第一变换矩阵以及第二变换矩阵;其中,所述第一变换矩阵用于将所述第一图像中的任一行像素点对齐到所述目标曝光时间对应的位置处;所述第二变换矩阵用于将所述第二图像中的任一行像素点对齐到所述目标曝光时间对应的位置处;
所述终端设备根据所述第一变换矩阵对应的逆矩阵以及所述第二变换矩阵,处理所述第二图像;其中,处理后的所述第二图像的曝光时间与所述第一图像的曝光时间相同。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述终端设备获取所述终端设备的抖动量,包括:
所述终端设备获取角加速度数据;所述角加速度数据为所述终端设备中的陀螺仪传感器检测得到的;
所述终端设备基于所述角加速度数据确定所述抖动量。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述终端设备基于所述第一图像以及所述第二图像,对所述第一图像进行虚化处理,包括:
所述终端设备对所述第一图像以及所述第二图像进行图像前处理,得到图像前处理后的所述第一图像以及图像前处理后的所述第二图像;
所述终端设备基于图像前处理后的所述第一图像以及图像前处理后的所述第二图像,对所述图像前处理后的所述第一图像进行虚化处理。
8.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使得所述终端设备执行如权利要求1至7任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得计算机执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211064849.6A CN116112813B (zh) | 2022-08-31 | 2022-08-31 | 虚化方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211064849.6A CN116112813B (zh) | 2022-08-31 | 2022-08-31 | 虚化方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116112813A CN116112813A (zh) | 2023-05-12 |
CN116112813B true CN116112813B (zh) | 2024-03-19 |
Family
ID=86266222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211064849.6A Active CN116112813B (zh) | 2022-08-31 | 2022-08-31 | 虚化方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116112813B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876739A (zh) * | 2018-06-15 | 2018-11-23 | Oppo广东移动通信有限公司 | 一种图像补偿方法、电子设备及计算机可读存储介质 |
US11107195B1 (en) * | 2019-08-23 | 2021-08-31 | Lucasfilm Entertainment Company Ltd. | Motion blur and depth of field for immersive content production systems |
CN113810600A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 终端的图像处理方法、装置和终端设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100615B (zh) * | 2015-07-24 | 2019-02-26 | 青岛海信移动通信技术股份有限公司 | 一种图像的预览方法、装置及终端 |
-
2022
- 2022-08-31 CN CN202211064849.6A patent/CN116112813B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876739A (zh) * | 2018-06-15 | 2018-11-23 | Oppo广东移动通信有限公司 | 一种图像补偿方法、电子设备及计算机可读存储介质 |
US11107195B1 (en) * | 2019-08-23 | 2021-08-31 | Lucasfilm Entertainment Company Ltd. | Motion blur and depth of field for immersive content production systems |
CN113810600A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 终端的图像处理方法、装置和终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116112813A (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3410390B1 (en) | Image processing method and device, computer readable storage medium and electronic device | |
US11949978B2 (en) | Image content removal method and related apparatus | |
US20220086360A1 (en) | Big aperture blurring method based on dual cameras and tof | |
US20240119566A1 (en) | Image processing method and apparatus, and electronic device | |
CN115701125B (zh) | 图像防抖方法与电子设备 | |
CN113630558B (zh) | 一种摄像曝光方法及电子设备 | |
EP4318383A1 (en) | Video processing method and apparatus | |
CN117911299A (zh) | 视频处理方法和装置 | |
US20220214892A1 (en) | Foreground element display method and electronic device | |
CN115359105B (zh) | 景深扩展图像生成方法、设备及存储介质 | |
CN116112813B (zh) | 虚化方法和装置 | |
CN116095517B (zh) | 虚化方法、终端设备和可读存储介质 | |
CN117135470A (zh) | 拍摄方法、电子设备及存储介质 | |
CN113891008B (zh) | 一种曝光强度调节方法及相关设备 | |
CN115550556A (zh) | 一种曝光强度调节方法及相关装置 | |
CN115529411B (zh) | 视频虚化方法和装置 | |
CN116048323B (zh) | 图像处理方法及电子设备 | |
CN115767287B (zh) | 图像处理方法与电子设备 | |
CN115908221B (zh) | 图像处理方法、电子设备及存储介质 | |
CN115529411A (zh) | 视频虚化方法和装置 | |
CN114363482B (zh) | 一种标定图像的确定方法及电子设备 | |
CN116723410B (zh) | 调节帧间隔的方法和装置 | |
CN115460343B (zh) | 图像处理方法、设备及存储介质 | |
CN116761082B (zh) | 图像处理方法及装置 | |
CN116708931B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |