CN113572948B - 视频处理方法和视频处理装置 - Google Patents
视频处理方法和视频处理装置 Download PDFInfo
- Publication number
- CN113572948B CN113572948B CN202010359399.8A CN202010359399A CN113572948B CN 113572948 B CN113572948 B CN 113572948B CN 202010359399 A CN202010359399 A CN 202010359399A CN 113572948 B CN113572948 B CN 113572948B
- Authority
- CN
- China
- Prior art keywords
- video
- image
- original
- ith
- terminal
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 162
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 246
- 230000008569 process Effects 0.000 claims abstract description 162
- 238000004422 calculation algorithm Methods 0.000 claims description 63
- 238000004891 communication Methods 0.000 claims description 55
- 230000006854 communication Effects 0.000 claims description 55
- 230000004927 fusion Effects 0.000 claims description 30
- 239000012634 fragment Substances 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 230000000087 stabilizing effect Effects 0.000 claims description 8
- 230000002194 synthesizing effect Effects 0.000 claims description 4
- 230000003993 interaction Effects 0.000 abstract description 11
- 230000006641 stabilisation Effects 0.000 description 47
- 238000011105 stabilization Methods 0.000 description 47
- 230000006870 function Effects 0.000 description 41
- 238000012805 post-processing Methods 0.000 description 38
- 238000005516 engineering process Methods 0.000 description 31
- 238000005457 optimization Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 239000013598 vector Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000003287 optical effect Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 238000009499 grossing Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 238000003384 imaging method Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Studio Devices (AREA)
Abstract
本发明实施例公开了一种视频处理方法和视频处理装置。在该方法中,终端可执行N次预览过程,得到原始全局视频和第一参数集合,N为不小于2的正整数。之后,终端可向服务器发送该第一参数集合,以使该服务器对该第一参数集合进行处理,得到第二参数集合,并使该服务器向该终端发送该第二参数集合。终端接收该第二参数集合后,可通过该第二参数集合对该原始全局视频进行处理,得到目标全局视频,最后,存储该目标全局视频。实施本技术方案,终端可通过服务器的交互,可实现对原始全局视频的全局处理,提高终端录制的视频的质量。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种视频处理方法和视频处理装置。
背景技术
当今社会,视频录制已经成为手机、平板等终端必备的功能之一,用户可通过终端录制和分享视频。当前用户对视频录制效果要求越来越高,更多的视频后处理算法被应用在终端上。
目前,应用于终端的视频处理方法由于存在终端本身的内存不够大、算力达不到对全局视频处理要求等问题,终端只能利用视频后处理算法对采集的视频片段做处理。具体的,终端在采集到视频片段后,根据多种视频后处理算法对视频片段进行处理,进而实时显示该处理后的视频片段,最终,终端所保存的预览视频是由多个处理后的视频片段拼接而成的。该方法实现了对视频的处理,又保证了视频录制过程中视频预览的实时性。
然而,在视频处理中,视频后处理算法对全局视频处理得到的效果,往往优于该视频后处理算法对片段视频处理得到的效果。可见,当前应用于终端的视频处理方法,视频处理效果有限,没有实现视频后处理算法对视频的最佳优化。
发明内容
本发明实施例提供了一种视频处理方法和视频处理装置,在终端对视频进行局部处理并预览的同时,终端通过与服务器的交互,获取原始视频的全局参数,再对原始视频进行全局处理,得到全局处理后的视频,将该预览视频更新为该全局处理后的视频。该方法既保证了视频预览的实时性,又实现了对视频的全局处理,提高了终端录制的视频的质量。
第一方面,本发明实施例提供了一种视频处理方法,应用于终端,所述方法包括:
执行N次预览过程,得到原始全局视频和第一参数集合,N为不小于2的正整数,所述原始全局视频为所述N次预览过程中获取到的图像的集合,所述第一参数集合包括所述原始全局视频中每一帧图像的参数,其中,第i次预览过程包括:获取第i个原始视频片段和所述第i个原始视频片段的参数;根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段;显示第i个预览视频片段;i为不大于N的正整数;
向服务器发送所述第一参数集合,以使所述服务器对所述第一参数集合进行处理,得到第二参数集合,并使所述服务器向所述终端发送所述第二参数集合;
接收所述第二参数集合;
通过所述第二参数集合对所述原始全局视频进行处理得到的目标全局视频;
存储所述目标全局视频。
作为一种可能的实施方式,所述方法还包括:
所述参数包括相机位姿,所述第i个原始视频片段的参数是所述第i个原始视频片段中每一帧图像的相机位姿以图像的获取次序排列所形成的原始位姿序列;所述第一参数集合是所述原始全局视频中每一帧图像的相机位姿以图像的获取次序排列所形成的相机位姿序列。
作为一种可能的实施方式,所述根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段包括:
对所述原始位姿序列中的每一个相机位姿进行处理,得到优化位姿序列,所述原始位姿序列与所述优化位姿序列中的相机位姿一一对应;
根据所述优化位姿序列通过稳像算法对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段。
作为一种可能的实施方式,所述方法还包括:
所述第二参数集合为所述服务器对所述第一参数集合进行处理得到的相机位姿的序列,所述第一参数集合与所述第二参数集合中的相机位姿一一对应。
作为一种可能的实施方式,所述方法还包括:
所述第i个原始视频片段中的每一帧图像包括至少2个图层,所述至少2个图层的曝光参数互不相同;所述参数用于指示图层的灰度信息;所述第i个原始视频片段的参数包括所述第i个原始视频片段中每一帧图像的灰度信息;所述第一参数集合包括所述原始全局视频中每一帧图像的灰度信息。
作为一种可能的实施方式,所述根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段包括:
根据第i个原始视频片段的灰度信息对所述第i个原始视频片段中的视频子片段的每一帧图像进行处理,得到所述视频子片段中每一帧图像的主图层;
其中,所述第i个预览视频片段包括所述视频子片段中每一帧图像的主图层。
作为一种可能的实施方式,所述第二参数集合为所述服务器对所述第一参数集合进行处理得到的融合参数的集合;所述通过所述第二参数集合对所述原始全局视频进行处理得到的目标全局视频,包括:
通过所述原始全局视频中的每一帧图像对应的融合参数,对所述每一帧图像的至少2个图层进行合成,得到所述每一帧图像对应的主图层,所述目标全局视频包括所述每一帧图像对应的主图层。
第二方面,本发明实施例提供了一种视频处理方法,应用于服务器,所述方法包括:
接收终端发送的第一参数集合,所述第一参数集合包括原始全局视频中每一帧图像的参数,所述原始全局视频为所述终端录制的视频;
对所述第一参数集合进行处理,得到第二参数集合;
向所述终端发送所述第二参数集合,以使所述终端根据所述第一参数集合对所述原始全局视频进行处理,得到目标全局视频。
作为一种可能的实施方式,所述方法还包括:
所述参数包括相机位姿;所述第一参数集合是所述原始全局视频中每一帧图像的相机位姿以图像的获取次序排列所形成的相机位姿序列。
作为一种可能的实施方式,所述方法还包括:
所述原始全局视频中的每一帧图像包括至少2个图层,所述至少2个图层的曝光参数互不相同,所述参数用于指示图层的灰度信息;所述第一参数集合包括所述原始全局视频中每一帧图像的灰度信息。
第三方面,本发明实施例提供了一种终端,包括:处理器、存储器、显示屏、至少一个摄像头和通信接口,所述至少一个摄像头用于采集图像;所述存储器、所述显示屏、所述至少一个摄像头和所述通信接口耦合到所述处理器,所述存储器用于存储指令,所述处理器用于调用调度存储器存储的指令,执行:
执行N次预览过程,得到原始全局视频和第一参数集合,N为不小于2的正整数,所述原始全局视频为所述N次预览过程中获取到的图像的集合,所述第一参数集合包括所述原始全局视频中每一帧图像的参数,其中,第i次预览过程包括:获取第i个原始视频片段和所述第i个原始视频片段的参数;根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段;通过所述显示屏显示第i个预览视频片段;i为不大于N的正整数;
通过所述通信接口向服务器发送所述第一参数集合,以使所述服务器对所述第一参数集合进行处理,得到第二参数集合,并使所述服务器向所述终端发送所述第二参数集合;
通所述通信接口接收所述第二参数集合;
通过所述第二参数集合对所述原始全局视频进行处理得到的目标全局视频;
存储所述目标全局视频。
作为一种可能的实施方式,所述参数包括相机位姿,所述第i个原始视频片段的参数是所述第i个原始视频片段中每一帧图像的相机位姿以图像的获取次序排列所形成的原始位姿序列;所述第一参数集合是所述原始全局视频中每一帧图像的相机位姿以图像的获取次序排列所形成的相机位姿序列。
作为一种可能的实施方式,所述处理器执行所述根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段,包括执行:
对所述原始位姿序列中的每一个相机位姿进行处理,得到优化位姿序列,所述原始位姿序列与所述优化位姿序列中的相机位姿一一对应;
根据所述优化位姿序列通过稳像算法对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段。
作为一种可能的实施方式,所述第二参数集合为所述服务器对所述第一参数集合进行处理得到的相机位姿的序列,所述第一参数集合与所述第二参数集合中的相机位姿一一对应。
作为一种可能的实施方式,所述第i个原始视频片段中的每一帧图像包括至少2个图层,所述至少2个图层的曝光参数互不相同;所述参数用于指示图层的灰度信息;所述第i个原始视频片段的参数包括所述第i个原始视频片段中每一帧图像的灰度信息;所述第一参数集合包括所述原始全局视频中每一帧图像的灰度信息。
作为一种可能的实施方式,所述处理器执行所述根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段包括:
根据第i个原始视频片段的灰度信息对所述第i个原始视频片段中的视频子片段的每一帧图像进行处理,得到所述视频子片段中每一帧图像的主图层;
其中,所述第i个预览视频片段包括所述视频子片段中每一帧图像的主图层。
所述第二参数集合为所述服务器对所述第一参数集合进行处理得到的融合参数的集合;所述处理器执行所述通过所述第二参数集合对所述原始全局视频进行处理得到的目标全局视频,包括:
通过所述原始全局视频中的每一帧图像对应的融合参数,对所述每一帧图像的至少2个图层进行合成,得到所述每一帧图像对应的主图层,所述目标全局视频包括所述每一帧图像对应的主图层。
第四方面,本发明实施例提供了一种服务器,包括:处理器、存储器和通信接口,所述存储器、所述处理器与所通信接口耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述处理器用于调用所述计算机指令以使得所述终端执行:
接收终端发送的第一参数集合,所述第一参数集合包括原始全局视频中每一帧图像的参数,所述原始全局视频为所述终端录制的视频;
对所述第一参数集合进行处理,得到第二参数集合;
通过所述通信接口向所述终端发送所述第二参数集合,以使所述终端根据所述第一参数集合对所述原始全局视频进行处理,得到目标全局视频。
作为一种可能的实施方式,所述参数包括相机位姿;所述第一参数集合是所述原始全局视频中每一帧图像的相机位姿以图像的获取次序排列所形成的相机位姿序列。
作为一种可能的实施方式,所述原始全局视频中的每一帧图像包括至少2个图层,所述至少2个图层的曝光参数互不相同,所述参数用于指示图层的灰度信息;所述第一参数集合包括所述原始全局视频中每一帧图像的灰度信息。
第五方面,本申请实施例提供了一种芯片,所述芯片应用于终端,所述芯片包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述终端执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第六方面,本申请实施例提供了一种芯片,所述芯片应用于服务器,所述芯片包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述服务器执行如第二方面以及第二方面中任一可能的实现方式描述的方法。
第七方面,本申请实施例提供一种包含指令的计算机程序产品,当上述计算机程序产品在终端上运行时,使得上述终端执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第八方面,本申请实施例提供一种包含指令的计算机程序产品,当上述计算机程序产品在服务器上运行时,使得上述服务器执行如第二方面以及第二方面中任一可能的实现方式描述的方法。
第九方面,本申请实施例提供一种计算机可读存储介质,包括指令,当上述指令在终端上运行时,使得上述终端执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第十方面,本申请实施例提供一种计算机可读存储介质,包括指令,当上述指令在服务器上运行时,使得上述服务器执行如第二方面以及第二方面中任一可能的实现方式描述的方法。
可以理解地,上述第三方面提供的终端、第四方面提供的服务器,第五方面和第六方面提供的芯片、第七方面和第八方面提供的计算机程序产品以及第九方面和第十方面提供的计算机存储介质均用于执行本申请实施例所提供的方法。
在本发明实施例中,首先,终端可以通过执行N次预览过程,得到原始全局视频和第一参数集合,N为不小于2的正整数,该原始全局视频为该N次预览过程中获取到的图像的集合,该第一参数集合包括该原始全局视频中每一帧图像的参数,其中,第i次预览过程可以包括:终端先获取第i个原始视频片段和该第i个原始视频片段的参数,再根据该第i个原始视频片段的参数对该第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段,并显示第i个预览视频片段,其中,i为不大于N的正整数。进而,终端向服务器发送该第一参数集合,以使该服务器对该第一参数集合进行处理,得到第二参数集合,并使该服务器向该终端发送该第二参数集合。终端在接收该第二参数集合后,通过该第二参数集合对该原始全局视频进行处理得到的目标全局视频,最后,存储该目标全局视频。本方法在终端对视频进行局部处理并预览的同时,终端通过与服务器的交互,获取原始视频的全局参数,再对原始视频进行全局处理,得到全局处理后的视频,对预览视频进行更新。该方法既保证了视频预览的实时性,又实现了对视频的全局处理,提高了终端录制的视频的质量。
附图说明
下面对本申请实施例用到的附图进行介绍。
图1是本申请实施例提供的一种视频处理装置的结构示意图;
图2是本申请实施例提供的一种终端的硬件结构示意图;
图3是本申请实施例示例性提供的终端的软件结构框图;
图4是本申请实施例提供的一种视频处理方法的流程示意图;
图5是本申请实施例提供的一种应用于视频稳像技术的视频处理方法的流程示意图;
图6是本申请实施例提供的一种基于前后端的视频稳像处理过程的示意图;
图7是本申请实施例提供的一种应用于视频HDR技术的视频处理方法的流程示意图;
图8是本申请实施例提供的一种基于前后端的视频HDR处理过程的示意图;
图9是本申请实施例提供的一种人机交互界面示意图;
图10是本申请实施例提供的一种服务器的硬件结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请实施例的限制。如在本申请实施例的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请实施例中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
本申请实施例提供了一种视频处理方法和视频处理装置。该视频处理装置包括终端和服务器。该方法中,终端可执行N次预览过程,得到原始全局视频和第一参数集合,N为不小于2的正整数。之后,终端可向服务器发送该第一参数集合,以使该服务器对该第一参数集合进行处理,得到第二参数集合,并使该服务器向该终端发送该第二参数集合。终端接收该第二参数集合后,可通过该第二参数集合对该原始全局视频进行处理,得到目标全局视频,最后,存储该目标全局视频。
上述的视频处理方法中,终端可通过服务器的交互,实现了对视频的全局处理,实现对预览视频的更新,可提高终端录制的视频的质量。
下面介绍本申请实施例中相关的一些概念。
1、视频后处理技术
本申请实施例中,视频后处理技术是指,通过视频后处理算法对采集的视频进行处理,得到视频效果在某个方面有所提升的视频处理技术,包括视频稳像(videostabilization)技术和视频高动态成像(high dynamic range,HDR)处理技术等。其中,视频后处理算法用于对采集的多张图片或者视频进行处理。视频后处理算法可被本申请实施例提供的图像处理模块调用对采集的图片或视频进行处理。
2、视频稳像技术
视频稳像技术,也称视频去抖技术,主要通过稳像算法减少视频的抖动,以生成稳定的视频,提高视频的质量。
视频稳像技术按作用机制分为光学稳像、机械稳像和数字视频稳像。光学稳像通过主动光学部件自适应调整光路,补偿由于摄像平台抖动造成的图像运动,达到稳定图像的目的;机械稳像通过陀螺传感器等器件检测摄像平台的抖动,进而对伺服系统进行调整而达到稳定图像的目的;数字视频稳像基于在连续视频图像之间进行运动估计,进而对视频中的每一帧图像进行运动平滑和运动补偿处理得到稳定的图像。
本发明实施例中的视频稳像技术指的是数据视频稳像技术,具体可以分为,电子稳像技术和纯数字稳像技术。这两类技术极其相似,区别仅仅在于设备抖动检测和运动估计方法,电子稳像技术使用硬件传感器(如陀螺仪等)来检测相机抖动,而纯数字稳像技术通过图像处理方法估计相机抖动,在得到相机运动向量后,二者都进行运动补偿,并根据补偿的运动进行图像修补。
传统视频稳像算法主要分为3部分:运动估计、运动平滑和运动补偿。
(1)运动估计,即相机运动估计(camera motion estimation),是在特定相机运动模型下确定相机运动向量的过程,这些运动向量是描述图像间运动转换的量。相机运动向量是指与整帧图像运动相关的全局运动向量,而它的估计常常通过局部运动向量来完成。局部运动向量指图像某一部分的运动向量,例如矩形块、任意形状块甚至是每个像素。视频稳像算法通常包含2D稳像、2.5D稳像和3D稳像,以2D稳像为例,传统2D稳像中的相机运动估计经常是首先进行局部运动向量的估计,进而通过这些局部运动向量来估计全局运动向量。局部运动估计方法可以分为两大类:基于像素点的方法和基于特征点的方法。基于像素点的方法此方法包括块匹配法、相位相关法、光流法等,常见的特征点检测方法有角点检测法、斑点检测。本实施例中,运动估计具体为相机位姿序列的获取过程。
(2)相机运动补偿是用来产生新的相机运动的算法,它抑制抖动生成更加稳定的相机运动。对于2D视频稳像来说,运动补偿机制接收相机2D运动数据,经算法计算产生新的平滑2D运动数据。运动补偿总体上分为2类方案:运动路径平滑和运动路径拟合。其中,运动路径平滑具体是指,稳定视频所对应的相机运动数据应该也是平滑的,相反抖动视频的相机运动数据存在小幅抖动的“噪声”。从数字信号处理角度来说,运动平滑就是消除这些运动噪声。视频稳像方案中常用的平滑滤波器有移动平均(movingaverage)滤波器、粒子滤波器以及其他多项式滤波器。运动路径拟合与运动路径平滑不同,运动路径拟合模仿专业电影摄影路径,例如直线、抛物线等。这种方案能比运动路径平滑获取更加稳定的运动补偿结果,因为它不仅能去除高频抖动,还能去除路径中的无效低频抖动。本实施例中,运动平滑具体为相机位姿序列的优化过程。
(3)运动补偿的步骤一般是通过运动平滑得到平滑路径后,对视频每一帧进行补偿,再得到每一帧的补偿矩阵对每一帧进行几何变换,由此得到稳定的视频帧序列。本实施例中,运动补偿具体为通过优化后的相机位姿序列得到稳定图像的过程。
3、视频HDR技术
因为人眼在一定的程度上能够捕获特别亮或特别暗区域的场景,但是由于成像设备内部元器件的因素,只能够记录下真实场景中的部分场景的颜色信息和亮度信息,虽然可以通过控制相机内部器件的曝光度来调整场景的亮度信息,但是该方法的亮度调整的范围也是有限的,造成捕获的图像中有些区域是曝光不足,而有些区域是曝光过度,导致图像中部分细节信息的丢失,达不到人眼观看的视觉效果。
为了捕获的场景信息更加符合人眼观看的视觉效果,就需要采用高动态范围技术,即HDR技术。该技术能够让图像特别亮的区域和特别暗的区域可以清晰的成像,从而让该区域的细节更加的丰富。所谓的动态范围是指个物理测量量的最大值和最小值之比,对于实际场景来说,动态范围是指场景中的最亮区域和最暗区域的比值。对于数字成像领域来说,动态范围是指图像当中最大的像素值和最小的像素值之比,其亮度单位为堪培拉/平方米。
HDR技术可以应用在图像处理上,也可以应用在视频处理中。
本实施例中采用的是视频HDR技术,具体的,图像处理模块可使用HDR算法将多张LDR(Low-Dynamic Range,低动态范围)图像合成为一张HDR图像。相比普通的图像,HDR图像可以提供更多的动态范围和图像细节。这多张LDR图像具有不同的曝光时间。不同的曝光时间的图像,图像的亮度不同,所提供图像的细节也不同。这张HDR图像可作为一帧图像发送给预览显示模块进行预览,也可发送给编码模块进行编码。HDR算法中往往包括色调映射算法,这是由于高动态图像的动态范围远远超出普通显示器的动态范围,以至于这些图像无法直接显示在显示器之上,为了能够正确地显示高动态图像,终端需要使用特定的色调映射算法来进行动态范围的压缩。
此外,视频是由连续的帧形成的图像序列,这就导致视频相邻图像之间有很多的相关性,本实例在视频HDR处理中加入提高视频相关性的融合参数,有效提升HDR视频的处理效果,呈现视觉效果更好的HDR视频。
请参阅图1,图1是本发明实施例提供的一种视频处理系统的结构示意图,该系统可以包括终端100和服务器200。其中:
终端100可以包括应用程序“相机”,当终端100启动应用程序“相机”后,可以接收用户输入的录制操作,进而,终端100响应于该操作,通过摄像头连续采集当前场景的图像,得到原始视频,该录制过程结束后得到的原始视频称为原始全局视频。在视频录制的过程中,终端100可以边录制边预览视频。为保证预览视频的质量,终端100可以采用视频后处理算法采集到的原始视频进行处理,得到预览视频,通过显示屏播放该预览视频。
在一些实施例中,为实现视频的稳像,终端100在视频录制过程中,可以通过惯性传感器可以检测相机的运动信息,如,旋转角度,加速度等,并基于上述运动信息确定相机的在拍摄每一帧图像时相机的相机位姿(也称为相机位姿),终端可以记录上述相机位姿,进而,视频后处理时,可以结合该相机位姿通过视频稳像技术对原始视频进行处理。
在一些实施例中,为实现视频的高动态成像,终端100在视频录制过程中,可以保持相机在拍摄过程所使用的相机参数,如曝光系数、曝光时间、光圈等,终端100可以通过不同的相机参数获取同一场景下的多帧图像,此时,原始视频中的每一帧图像都包括不同相机参数的多个图像(这里也称为图层),终端100可以采集各个图层的参数,比如,灰度信息,进而,视频后处理时,可以结合该灰度信息通过视频HDR技术对原始视频进行处理。
由于终端100本身计算资源的限制,以及其对预览视频的实时性要求,使得终端在进行视频后处理时仅对其中的片段进行处理,基于视频片段进行处理,而不会在得到原始全局视频后再进行视频后处理。具体的,终端可以分批处理和预览整个录制过程中得到的原始视频,分N次预览,即终端100在视频录制过程中执行N次预览过程,N为不小于2的正整数。其中,第i次预览过程可以包括:先获取第i个原始视频片段和该第i个原始视频片段的参数(如相机位姿、灰度信息等),再根据该第i个原始视频片段的参数对该第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段,最后,显示第i个预览视频片段,其中,i为不大于N的正整数。终端100结束录制后可以保存该原始全局视频和全局预览视频,全局预览视频是N次预览过程得到的N个预览视频片段的合成视频,原始全局视频中的图像和全局预览视频中的图像一一对应。
在终端100执行上述N次预览过程后,可以得到原始全局视频,此时,为减少延时,终端100可以将第一参数集合(上述原始全局视频的参数)发送给服务器200,通过服务器200来对第一参数集合进行处理得到第二参数集合,该第二参数集合是对第一参数集合进行全局优化得到的参数的集合,考虑到原始全局视频对每一帧图像的影响。进而,服务器200向终端100发送该第二参数集合。
终端100在接收该第二参数集合后,通过该第二参数集合对该原始全局视频进行处理得到的目标全局视频,可以存储该目标全局视频或将全局预览视频更新为该目标全局视频。
终端100是具备至少一个摄像头和至少一个显示屏,可实现视频录制和视频预览功能的终端。可以是手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)、车载单元(On board Unit,OBU)、可穿戴设备(例如,手表、手环、智能头盔等)、智能家居设备(电饭煲、音响、家庭管家设备等)、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备等。
服务器200可以用独立的服务器或者是多个服务器组成的服务器集群来实现,可以云服务器、云端等。
下面介绍本申请实施例涉及的终端。
图2示出了终端100的结构示意图。
终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。例如,在一些实施例中,处理器可以直接调用存储器存储的指令,根据HDR算法对采集的每一帧图像进行高动态范围成像处理。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端100充电,也可以用于终端100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端100可以包括1个或N个显示屏194,N为大于1的正整数。
终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现采集功能,以实现本申请实施例中HAL层的图像采集模块。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像或视频。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像或视频信号。ISP将数字图像或视频信号输出到DSP加工处理。DSP将数字图像或视频信号转换成标准的RGB,YUV等格式的图像或视频信号。在一些实施例中,终端100可以包括1个或N个摄像头193,N为大于1的正整数。例如,在一些实施例中,终端100可以利用N个摄像头193采集多个曝光系数的图像,进而,在视频后处理中,终端100可以根据多个曝光系数的图像,通过HDR技术合成HDR图像。
数字信号处理器用于处理数字信号,除了可以处理数字图像或视频信号,还可以处理其他数字信号。例如,当终端100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像视频播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端100可以设置至少一个麦克风170C。在另一些实施例中,终端100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3。5mm的开放移动终端平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。终端100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端100根据压力传感器180A检测所述触摸操作强度。终端100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定终端100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,终端100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。终端100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当终端100是翻盖机时,终端100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测终端100在各个方向上(一般为三轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。还可以用于识别终端姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。终端100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端100通过发光二极管向外发射红外光。终端100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端100附近有物体。当检测到不充分的反射光时,终端100可以确定终端100附近没有物体。终端100可以利用接近光传感器180G检测用户手持终端100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。终端100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测终端100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。终端100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,终端100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,终端100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端100对电池142加热,以避免低温导致终端100异常关机。在其他一些实施例中,当温度低于又一阈值时,终端100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和终端100的接触和分离。终端100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。终端100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端100中,不能和终端100分离。
在本申请实施例中,终端100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明终端100的软件结构。
请参阅图3,图3示出了本申请实施例示例性提供的终端100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
如图3所示,可将Android系统分为三层,从上至下分别为:应用程序层、应用程序框架层和硬件抽象层(hardware abstraction layer,HAL)层。其中:
应用程序层包括一系列应用程序包,例如包含相机应用。不限于相机应用,还可以包含其他一些应用,例如图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
相机应用可为用户提供录像模式。在一些实施例中,录像模式中具体还可以包括视频HDR模式、稳像模式等。如图3所示,相机应用可包含模式加载模块、拍摄控制模块和预览显示模块。其中:
模式加载模块,用于在相机应用启动时向HAL层查询模式,并根据查询结果加载模式。其中,模式可包含夜景模式、人像模式、拍照模式、短视频模式、录像模式等。
拍摄控制模块,用于在检测到切换到录像模式时,与预览显示模块一起启动,并通知HAL层的能力使能模块启动录像模式相关的模块。拍摄控制模块还可响应于用户在相机应用的用户界面中对开始录像控件的触摸操作,通知应用框架层中的编码模块和图像处理模块,编码模块接收到通知后从HAL层的开始获取视频数据流,并可对视频流进行编码以生成视频文件。例如,在一些实施例中,用户可以在相机应用的用户界面中对HDR模式控件执行触摸操作时,拍摄控制模块还可响应于该触摸操作,通知应用框架层中的编码模块和图像处理模块,图像处理模块在接收到该通知之后,对采集的图像进行HDR处理之后发送给编码模块,编码模块再可对视频流进行编码以生成视频文件。又例如,用户在相机应用的用户界面中对结束录像控件执行触摸操作时,拍摄控制模块还可响应于该触摸操作,通知应用框架层中的编码模块和图像处理模块。编码模块接收到通知后从HAL层的图像处理模块停止获取视频数据流。
预览显示模块,用于从HAL层的图像处理模块或者图像采集模块接收视频数据流,并在用户界面上显示预览图像或预览视频,且预览的图像和视频可实时更新。
应用程序框架层(framework,FWK)为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可包含相机服务接口(Camera Service),该相机服务接口可提供应用程序层中相机应用和HAL层之间的通信接口。应用程序框架层还可包含编码模块。编码模块可接收来自相机应用中拍摄控制模块的通知,以开始或者停止从HAL层的图像处理模块接收视频数据流,并对视频数据流进行编码以得到视频文件。
如图3所示,HAL层包含用于为相机应用提供录像模式的模块。在录像模式下这些提供录像模式的模块可采集视频。HAL层还为录像模式提供相应的后处理算法。
具体的,如图3所示,HAL层可包含与相机的录像模式相关的模块:能力使能模块、图像采集模块、场景识别模块和图像处理模块。其中:
能力使能模块,用于在接收到拍摄控制模块的通知后启动HAL层的录像模式相关的模块,例如启动图像采集模块和图像处理模块。具体的,用户在相机应用的用户界面中操作以切换到录像模式时,相机应用中的拍摄控制模块可通知HAL层的能力使能模块,能力使能模块在收到通知后,使能启动图像采集模块和图像处理模块。
图像采集模块,用于采集图像视频或视频参数,并把采集的图像视频或视频参数发送到图像处理模块。
图像处理模块,可包含多个视频后处理算法,可以同时执行一个或多个视频后处理算法,此处不作限定。图像处理模块可通过视频后处理算法对图像视频进行处理以得到视频数据流,并将视频数据流发送给预览显示模块进行预览显示,发送给编码模块以形成视频文件。例如,在一些实施例中,用户可以在相机应用的用户界面中对HDR模式控件执行触摸操作时,拍摄控制模块还可响应于该触摸操作,通知应用框架层中的编码模块和图像处理模块,图像处理模块在接收到该通知之后,根据视频HDR技术对采集的图像进行处理之后,发送给编码模块以形成视频文件。
需要说明的,图3所示的终端的软件架构仅仅是本申请实施例的一种实现方式,实际应用中,终端还可以包括更多或更少的软件模块,这里不作限制。
下面结合图4,具体介绍本申请实施例提供的视频处理方法。该方法可以由上述图1所示的视频处理系统来实现,如图4所示,该视频处理方法包括如下部分或全部步骤:
S101、终端执行N次预览过程,得到原始全局视频和第一参数集合,N为不小于2的正整数。其中,原始全局视频为该终端在N次预览过程中获取到的图像的集合,该第一参数集合包括原始全局视频中每一帧图像的参数。
终端可以包括应用程序“相机”,当终端启动应用程序“相机”后,可以接收用户输入的录制操作,进而,终端响应于该操作,通过摄像头连续采集当前场景的图像,得到原始视频,该录制过程结束后得到的原始视频称为原始全局视频。在视频录制的过程中,终端可以边录制边预览视频,其中,预览视频可以为未处理过的原始视频,也可以为终端通过预设视频后处理方式对实时采集到的当前场景的图像进行实时处理得到的视频,例如,对采集到的每一帧图像进行HDR算法处理并实时显示,可得到预览视频。在打开“相机”后,用户可以还通过用户界面选择需要的功能,例如,稳像、HDR等功能。进而,终端通过该功能对应的视频后处理方式对采集到的原始视频进行视频后处理,以得到并预览更优的预览视频。
还应理解,在视频录制的过程中,终端可以边采集图像边获取该图像对应的参数,如相机位姿、曝光系数、灰度信息等。其中,图像对应的相机位姿为获取该图像时相机的位姿,图像对应的曝光系数为获取该图像采用的相机的曝光系数,图像对应的灰度信息为该图像提取出的灰度信息,可以是图像的灰度值,或者图像经过下采样提取出的灰度信息。应理解,不同的曝光系数采集到的图像,其灰度信息不同。
终端在接收到用于指示录制结束的指令后,结束视频的录制,得到该录制时间段内采集到的全部图像,组成原始全局视频,也可以得到该原始全局视频中每一帧图像对应的参数,组成第一参数集合。本申请实施例中,终端的整个视频的录制过程可以划分为N次预览过程,N次预览过程执行后,即整个视频录制过程完成。
本申请实施例中,以第i次预览过程为例来说明N次预览过程的每一次预览过程,每一次预览过程均由终端来实现,i为1、2、3、…、N,该第i次预览过程包括但不限于如下部分或全部步骤:
S1011、获取第i个原始视频片段和第i个原始视频片段的参数。
应理解,第i个原始视频片段可以是连续的多帧图像,其中,一帧图像对应一个参数,第i个原始视频片段的参数为第i个原始视频片段中每一帧图像对应的参数的集合。
具体的,根据不同的视频后处理算法的要求,终端获取的原始视频片段方式和获取的原始视频片段的参数均可以不同。可选地,终端可以同时执行一个或多个视频后处理算法。例如,当需要对视频进行稳像时,可以采用视频稳像算法,此时,该原始视频片段可以为连续的多帧图像,该参数可以为相机位姿,该第i个原始视频片段的参数可以是第i个原始视频片段中每一帧图像的相机位姿以图像的获取次序排列所形成的原始位姿序列。
S1012、根据第i个原始视频片段的参数对第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段。
具体的,步骤S1012可以由终端的图像处理模块执行,图像处理模块可以通过视频后处理算法对该视频后处理算法对应的视频子片段进行处理,得到第i个预览视频片段。
可选地,第i个原始视频片段可以包括连续获取的W帧图像,其中,前V帧图像可以是在第i次预览过程之前获取到的图像,W-V帧图像可以是在第i次预览过程中通过摄像头采集到的图像。此时,第i次预览过程中所预览的第i个预览视频片段可以是终端经过视频后处理后的W-V帧图像。
S1013、显示第i个预览视频片段;
具体的,可以由终端中的图像处理模块将第i个预览视频片段发送给预览显示模块,预览显示模块将第i个预览视频片段进行预览显示。在本申请实施例中,原始视频片段和原始视频片段的参数可以是实时采集并发送的,即图像采集模块在采集一帧图像和该图像的参数后,即可将该图像和该图像的参数发送给图像处理模块,因此,终端在执行N次预览过程结束时,可以得到第一参数集合。原始视频片段和N个预览视频片段也可以是实时发送到编码模块的,因此,终端在执行N次预览过程结束时,编码模块对原始视频图像和N个预览视频片段进行编码,形成原始全局视频和预览视频。
可以理解的,为了实现视频预览的实时性,第i个预览视频片段的图像帧数较少,但图像帧数较少导致预览视频片段效果不如对原始全局视频进行全局处理的效果,因而以下将在视频录制结束之后,将原始全局视频的数据发送至服务器,经过服务器和终端的交互处理,最终得到全局优化后效果更佳的视频。
S102、终端向服务器发送第一参数集合。
终端在接收到用于指示录制结束的指令后,结束视频的录制,应理解,终端已执行N次预览过程,可得到原始全局视频和该原始全局视频的相关参数,例如曝光系数、相机位姿等,具体的,终端可以根据用户操作选择的功能,例如稳像等,确定该功能所对应的视频处理算法需要的参数,从该原始全局视频和该原始全局视频的相关参数中确定第一参数集合,将得到的第一参数集合发送至服务器。
S103、服务器对第一参数集合进行处理,得到第二参数集合。
具体的,应理解,第一参数集合还可以包括带有指示该第一参数集合对应的视频后处理算法的指示信息。服务器可以根据该指示信息,采用对应的视频后处理算法对该第一参数集合进行处理,得到第二参数集合。
例如,针对视频稳像处理,第一参数集合可以包括全局位姿序列和指示信息,指示信息可以为指示服务器采用相机运动补偿对该全局位姿序列进行处理,该全局位姿序列是由视频录制过程中,终端以图像的获取次序排列每一帧图像的相机位姿所形成的相机位姿序列。具体的,服务器在接受该全局位姿序列和该指示信息之后,根据指示信息所指示的方式对该全局位姿序列中的每一个相机位姿进行处理,得到处理后的全局位姿序列,该全局位姿序列与该处理后的全局位姿序列中的相机位姿一一对应,该处理后的全局位姿序列为第二参数集合。
S104、服务器向终端发送第二参数集合。
服务器在处理得到第二参数集合后,向发送第一参数集合的终端发送该第二参数集合。
S105、终端通过第二参数集合对原始全局视频进行处理,得到目标全局视频。
其中,第二参数集合可以包括指示视频后处理算法的指示信息,终端接收到第二参数集合后,根据指示信息中的视频后处理算法,对原始全局视频进行处理,可以得到该视频后处理算法处理后的目标全局视频。具体的,终端也可以接收到多个第二参数集合,终端可以根据指示信息中的视频后处理算法,分别通过对应的第二参数集合对原始全局视频进行多次处理,得到目标全局视频。
S106、终端存储该目标全局视频。
具体的,终端可以在处理得到该目标全局视频时,将该目标全局视频对应的预览视频删除,并将该目标全局视频存储在该预览视频所在的位置。其中,终端可以直接将该预览视频更新为该目标全局视频,以使用户在重新打开视频时获得视频效果更佳的视频,也可以提供更新通知,以提醒用户是否将该预览视频进行更新以获取视频效果更佳的视频,若用户执行“是”的用户操作,则又可发送通知以提醒用户是否保存原始视频,应理解,所述原始视频为预览视频,最后根据用户操作决定是否删除预览视频以及是否将预览视频更新为该目标全局视频。
在本发明实施例中,首先,终端可以响应与用户输入的视频录制操作,通过执行N次预览过程进行视频录制并实时显示预览视频,在终端响应用户输入的录制结束的操作时,可以得到原始全局视频和第一参数集合,N为不小于2的正整数,该原始全局视频为该N次预览过程中获取到的图像的集合,该第一参数集合包括该原始全局视频中每一帧图像的参数,其中,第i次预览过程可以包括:终端先获取第i个原始视频片段和该第i个原始视频片段的参数,再根据该第i个原始视频片段的参数对该第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段,并显示第i个预览视频片段,其中,i为不大于N的正整数。进而,终端向服务器发送该第一参数集合,以使该服务器对该第一参数集合进行处理,得到第二参数集合,并使该服务器向该终端发送该第二参数集合。终端在接收该第二参数集合后,通过该第二参数集合对该原始全局视频进行处理得到的目标全局视频,最后,存储该目标全局视频。本方法在终端对视频进行局部处理并预览的同时,终端通过与服务器的交互,执行获取原始全局视频的全局参数并根据该全局参数对原始全局视频进行全局处理,得到全局处理后的视频,对预览视频进行更新。该方法既保证了视频预览的实时性,又实现了对视频的全局处理,提高了终端录制的视频的质量。
下面分别以视频稳像技术和视频HDR技术为例分别介绍该视频处理方法。
请参阅图5,图5是本申请实施例提供的一种应用于视频稳像技术的视频处理方法的流程示意图。如图5所示,该视频处理方法包含步骤S201~S206。
本实施例为实现视频的稳像,终端在视频录制过程中,可以通过惯性传感器可以检测相机的运动信息,如,旋转角度,加速度等,并基于上述运动信息确定相机的在拍摄每一帧图像时相机的相机位姿(也称为相机位姿),终端可以记录上述相机位姿,进而,在视频后处理时,可以结合该相机位姿通过视频稳像技术对原始视频进行处理。
其中,本实施例中的原始视频片段为连续的多帧图像,参数为相机位姿,原始视频片段的参数为该原始视频片段中每一帧图像的相机位姿以图像的获取次序排列所形成的原始位姿序列,第一参数集合为全局位姿序列,该全局位姿序列由该原始全局视频中每一帧图像的相机位姿以图像的获取次序排列所形成。
S201、终端执行N次预览过程,得到原始全局视频和全局位姿序列,N为不小于2的正整数。
具体的,终端可以执行N次预览过程,得到原始全局视频和全局位姿序列,N为不小于2的正整数,该原始全局视频为该终端在N次预览过程中获取到的图像的集合,该全局位姿序列由该原始全局视频中每一帧图像的相机位姿以图像的获取次序排列所形成的。
本申请实施例中,以第i次预览过程为例来说明N次预览过程的每一次预览过程,每一次预览过程均由终端来实现,i为1、2、3、…、N,该第i次预览过程包括但不限于如下部分或全部步骤:
S2011、获取第i个原始视频片段和第i个原始视频片段的相机位姿序列。
具体的,终端可以先根据图像的获取次序确定待处理图像,待处理的图像可以为一帧图像或多帧图像,再根据待处理的图像确定原始视频片段,进而,获取该原始视频片段和该原始视频片段的相机位姿序列,该原始视频片段包括待处理图像。其中,第i个待处理图像对应第i个原始视频片段,例如,终端可以将获取的第一帧图像确定为第一个待处理图像,再确定第一帧到第十帧的图像作为第一个原始视频片段,终端还可以将获取的第二帧图像确定为第二个待处理图像,再确定第二帧到第十一帧的图像作为第二个原始视频片段,以此类推,而最后一帧图像对应的原始视频片段可以为最后十帧图像。应理解,原始视频片段所包括的图像的帧数越多越能实现更优的稳像效果,但由于受限于视频的实时性以及终端的条件,例如,终端的内存和算法等,该原始视频片段至少包括连续的两帧图像,具体的,可以根据终端的内存和算法算力等情况对原始视频片段中图像的帧数进行设定。
其中,终端在视频录制过程中,可以通过惯性传感器可以检测相机的运动信息,如,旋转角度,加速度等,并基于上述运动信息确定相机的在拍摄每一帧图像时的相机位姿。具体的,终端可以通过相机位姿估计的方法,获取第i个原始视频片段中的每一帧图像的相机位姿,再将每一帧图像的相机位姿以图像的获取次序排列,得到第i个原始视频片段的相机位姿序列。其中,相机位姿估计的方法可以为特征点法,具体的,终端可以从连续的两帧图像中提取特征,对两帧图像进行特征匹配,得到多组配对点以及多组匹配点的像素坐标,进而,根据多组配对点以及多组匹配点的像素坐标进行相机位姿的求解,求解出相机位于坐标系内的坐标与旋转角度,得到该两帧图像对应的相机位姿。其中,相机位姿估计的方法也可以为块匹配法,又可以为光流法,还可以为其他方法,此处不做限定。
S2012、根据第i个原始视频片段的相机位姿序列对第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段。
其中,第i个原始视频片段的相机位姿序列为第i个原始位姿序列,第i个原始视频片段中的视频子片段可以为第i帧待处理图像。具体的,稳像算法包括,终端先对第i个原始位姿序列中的每一个相机位姿进行处理,得到第i个优化位姿序列,再根据该优化位姿序列对第i帧待处理图像进行运动补偿,得到第i个预览视频片段。例如,若待处理图像为第一帧图像,第一个原始视频片段为第一帧到第十帧的图像时,终端可以先获取第一帧到第十帧的图像的相机位姿,按照时间排列即可得到相机位姿序列,对该相机位姿序列进行平滑处理,得到优化位姿序列,进而,利用该优化位姿序列对第一帧图像进行处理,得到的处理后的图像为预览视频的第一帧图像。应理解,待处理图像也可以为第i个原始视频片段的每一帧图像,因而第i个原始视频片段的相机位姿序列也可以对该原始视频片段中的每一帧图像进行处理,得到第i个预览视频片段。
其中,终端可以采用滤波器对原始位姿序列进行平滑,获取优化位姿序列。例如,采用卡尔曼滤波对原始位姿序列进行处理,卡尔曼滤波是一种利用线性系统状态方程,利用递推估计、递推计算形式对原始位姿序列进行处理。相机位姿序列的优化也可以通过构建目标优化函数的方式来进行处理,还可以采用其他方法,此处不作限定。
S2013、显示第i个预览视频片段;
具体的,可以由终端中的图像处理模块实时将第i个预览视频片段发送给预览显示模块,预览显示模块将第i个预览视频片段进行预览显示。
在本实施例中,终端可以通过图像采集模块实时采集并发送图像,即终端的图像采集模块在采集一帧图像后,即可将该图像发送给编码模块,因此,当N次预览过程结束时,编码模块可以对原始视频图像进行编码,得到原始全局视频,终端保存原始全局视频。
S202、终端向服务器发送全局位姿序列。
具体的,在N次预览过程中,终端可以以图像的获取次序实时保存每一帧图像的相机位姿,因此,终端在N次预览过程执行结束时,可以得到全局位姿序列,此时,终端将该全局位姿序列发送至服务器。
在一种实现中,请参阅图6,图6为一种基于前后端的视频稳像处理的示意图,如图6所示,当用户开始录制视频,则终端开始采集图像和每一帧的图像的相机位姿,其中,连续的多帧图像为一个原始视频片段,进而,将图像和相机位姿分两路进行处理,一路发送至前端,另一路发送至后端,其中,所述前端、后端是以该视频处理方法的功能进行区分的,前端实现实局部视频的实时优化及显示,后端实现全局视频的优化,需要说明的是,所述前端的功能由终端实现,所述后端的功能由终端和服务器交互实现。具体的,终端采集原始视频以及原始视频每一帧图像的相机位姿后,一路将原始视频片段和相机位姿发送至前端,前端可以对第i个原始位姿序列进行目标函数求解得到第i个优化位姿系列,再根据第i个优化位姿序列对第i个原始视频片段进行处理,得到第i个预览视频片段,执行多次预览过程之后可得到预览视频,另一路将该采集到的图像和相机位姿发送至后端,其中,后端可以根据原始位姿序列生成全局位姿序列,也可以根据采集的相机位姿生成全局位姿序列,再对全局位姿序列进行目标函数求解得到全局优化序列,当用户录制结束时,后端根据全局优化序列对原始全局视频进行稳像处理,并替换预览视频。其中,在用户录制结束时,后端可以得到全局位姿序列,具体的,是由前端采集相机位姿,发送至后端,在后端处理中由终端处理得到全局位姿序列,并将该全局位姿序列发送至服务器。
S203、服务器对全局位姿序列进行处理,得到处理后的全局位姿序列。
服务器可以对该全局位姿序列中的每一个相机位姿进行处理,得到处理后的全局位姿序列,也即全局优化序列,该全局位姿序列与该全局优化序列中的相机位姿一一对应。具体的,服务器对全局位姿序列的处理方法可以参见步骤S2012中终端对原始位姿序列处理而得到优化位姿序列的方法,此处不再赘述。
S204、服务器向终端发送该处理后的全局位姿序列。
S205、终端通过该处理后的全局位姿序列对原始全局视频进行处理,得到目标全局视频。
终端接收到全局优化序列后,根据稳像算法对原始全局视频进行处理,得到处理后的目标全局视频。具体的,稳像算法的实现可以参见步骤S2012中终端对原始视频片段处理得到预览视频片段的过程,此处不再赘述。
S206、终端存储该目标全局视频。
具体的,终端在处理得到该目标全局视频时,可以将该目标全局视频对应的预览视频删除,并将该目标全局视频存储在该预览视频所在的位置。
在本发明实施例中,首先,在用户终端可以通过执行N次预览过程,得到原始全局视频和全局位姿序列,N为不小于2的正整数,该原始全局视频为该N次预览过程中获取到的图像的集合,该全局位姿序列包括该原始全局视频中每一帧图像的相机位姿,其中,第i次预览过程可以包括:终端先获取第i个原始视频片段和该第i个原始视频片段的相机位姿,再根据该第i个原始视频片段的相机位姿对该第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段,并显示第i个预览视频片段,其中,i为不大于N的正整数。进而,终端向服务器发送该全局位姿序列,以使该服务器对该全局位姿序列进行处理,得到处理后的全局位姿序列,并使该服务器向该终端发送该处理后的全局位姿序列。终端在接收该处理后的全局位姿序列后,通过该第二集合对该原始全局视频进行处理得到的目标全局视频,最后,存储该目标全局视频。本方法在终端对视频进行局部处理并预览的同时,终端通过与服务器的交互,获取原始全局视频的全局相机位姿,再对原始全局视频进行全局处理,得到全局处理后的视频,对预览视频进行更新。该方法既保证了视频预览的实时性,又实现了对视频的全局处理,提升了终端视频的稳像效果。
请参阅图7,图7是本申请实施例提供的一种应用于视频HDR技术的视频处理方法的流程示意图。如图7所示,该视频处理方法包含步骤S301~S306。
本发明实施例为实现视频的高动态成像,终端在视频录制过程中,可以保持相机在拍摄过程所使用的相机参数,如曝光系数、曝光时间、光圈等,终端可以通过不同的相机参数获取同一场景下的多帧图像,此时,原始视频中的每一帧图像都包括不同相机参数的多个图像(这里也称为图层),终端可以采集各个图层的参数,比如,灰度信息,进而,视频后处理时,可以结合该灰度信息通过视频HDR技术对原始视频进行处理。
其中,本实施例中的原始视频片段为一帧或多帧图像,一帧图像包括至少两个曝光参数不同的图层。本实施例中的参数可以为图层的灰度信息,第i个原始视频片段的参数包括第i个原始视频片段中每一帧图像的每一个图层的灰度信息。本实施例中的第一参数集合为灰度信息集合,该灰度信息集合包括该原始全局视频中每一帧图像的灰度信息,第二参数集合为融合参数集合,该融合参数集合用于增强视频的图像帧之间的相关性,该融合参数集合为该服务器对该灰度信息集合进行处理得到的融合参数的集合。
S301、终端执行N次预览过程,得到原始全局视频和灰度信息集合,N为不小于2的正整数。
具体的,终端可以分批处理和预览整个录制过程中得到的原始视频,分N次预览,即终端在视频录制过程中执行N次预览过程,N为不小于2的正整数。其中,该原始全局视频为该终端在N次预览过程中获取到的图像的集合。
本申请实施例中,以第i次预览过程为例来说明N次预览过程的每一次预览过程,每一次预览过程均由终端来实现,i为1、2、3、…、N,该第i次预览过程包括但不限于如下部分或全部步骤:
S3011、获取第i个原始视频片段和第i个原始视频片段的灰度信息。
具体的,终端在视频录制过程,可以采用不同的相机参数,如曝光系数、曝光时间、光圈等,通过不同的相机参数获取同一场景下的多帧图像,此时,获取的每一帧图像都包括不同相机参数的多个图像(这里也称为图层)。具体的,终端可以采用多个摄像头对同一场景进行拍摄,其中,多个摄像头的相机参数互不相同,可以得到曝光程度不同的多个图层,需要说明的是,终端也可以通过单个摄像头获取只有一个图层的图像,再通过逆色调映射函数对采集的每一帧图像进行处理,得到每一帧图像的多个图层。
终端在获取到图像的多个图层后,可以将一帧或多帧图像组成一个原始视频片段,得到第i个原始视频片段,第i个原始视频片段至少包括一帧图像的2个图层。同时,终端可以采集各个图层的参数,比如,灰度信息。其中,可以根据终端的内存及算力等情况,设置原始视频片段中图像的帧数以及一帧图像中图层的层数,此处不作限定。
S3012、根据第i个原始视频片段的灰度信息对第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段。
其中,根据HDR合成算法的不同,第i个原始视频片段中的视频子片段所的指代的图像不同,例如,第i个原始视频片段中的视频子片段可以为该原始视频片段中的所有图像,也可以为该原始视频片段中的每一帧图像的主曝光图层,该主曝光图层可以是图像中的任一图层,也可以是其中灰度值为中数的图层。具体的,终端可以根据第i个原始视频片段的灰度信息,根据HDR算法,对第i个原始视频片段中的视频子片段的每一帧图像进行处理,得到视频子片段中每一帧图像的主图层,其中,主图层为对应的图像的HDR图像。
在一种实现中,终端可以根据单帧HDR算法对单帧图像进行处理,此时,第i个原始视频片段为一帧图像。具体的,在图像采集时,终端可以先通过场景识别而获取当前场景的光照信息,根据当前场景的光照信息选定主曝光系数,再将根据该主曝光系数拍摄图像,该图像为主曝光图层,再拍摄两张曝光系数不同的图像,例如,拍摄一张曝光值较高的图像和一张曝光值较低的图像,该曝光值较高的图像为高曝光图层,该曝光值较低的图层为低曝光图层。终端再根据主曝光图层的灰度信息确定主曝光图层的暗区域和亮区域,从其他图层中提取局部灰度值,将该局部灰度值应用在该主图层的相应区域上,例如,在暗区域应用低曝光图层的灰度值,在亮区域应用高曝光图层的灰度值,得到主图层。最后,终端可以根据色调映射算法对该主图层的灰度值进行处理,具体的,可以先根据主图层的灰度值推算出平均灰度值,再根据该平均灰度值选取一个灰度值范围,再将主图层映射到该灰度值范围,得到第i个预览视频片段。色调映射算法可以采用全局色调映射算法,也可以采用局部色调映射算法,此处不作限定。
在另一种实现中,也可以通过终端中预先训练好的多曝光图像融合模型来得到第i个预览视频片段,此处不再赘述。
需要说明的是,在其他实现方式中,具体还可以采用其他HDR算法,此处不作限定。
S3013、显示第i个预览视频片段;
具体的,可以由终端中的图像处理模块将第i个预览视频片段发送给预览显示模块,预览显示模块将第i个预览视频片段进行实时显示。
S302、终端向服务器发送灰度信息集合。
具体的,在N次预览过程中,终端可以以图像的获取次序实时保存每一帧图像的灰度信息,因此,终端在N次预览过程执行结束时,可以得到灰度信息集合,此时,终端将该灰度信息集合发送至服务器。
在一种实现中,请参阅图8,图8为一种基于前后端的视频HDR处理过程的示意图,用户开始录制视频,终端可以在获取每一帧的图像的多个曝光系数不同的图层后,将图像的多个图层分两路进行处理,一路将图像的多个图层发送至前端,另一路将图像的多个图层发送至后端,其中,所述前端、后端是以该视频处理方法的功能进行区分的,前端实现实局部视频的实时优化及显示,后端实现全局视频的优化。具体的,终端采集每一帧的图像的多个曝光系数不同的图层以及原始全局视频后,一路将图像的多个图层发送至前端,前端可以从一帧图像的多个图层中选取主曝光图层,并根据单帧高动态成像处理算法对主曝光图层进行处理,得到单帧HDR图像并实时显示,在用户结束录制时得到预览视频,另一路将图像的多个图层发送至后端,对多个图层进行压缩,得到下采样图层,再对多个下采样图像进行多帧配准,获得融合参数集合,最后根据融合参数集合对原始全局视频进行高动态成像处理,得到全局优化视频以替换该预览视频。需要说明的是,所述前端的功能由终端实现,所述后端的功能由终端和服务器交互实现。在用户录制结束时,后端可以得到下采样图层,具体的,是由前端采集图像的多个图层,发送至后端,在后端处理中由终端处理得到多个下采样图层,并将多个下采样图层发送至服务器,需要说明的是,此时,灰度信息集合包括多个下采样图层。
S303、服务器对灰度信息集合进行处理,得到融合参数集合。
其中,融合参数用于增强帧间图像的相关性,具体的,可以根据HDR视频生成算法,确定融合参数。例如,在基于运动估计算法的HDR视频生成算法中,该融合参数为二值图,具体的,终端发送的灰度信息集合包括终端生成的HDR图像的信息,例如,服务器可以根据HDR视频的第一帧图像信息,利用运动估计的算法生成运动矢量,再利用该运动矢量将第二帧图像的动态区域和静态区域找出,生成动态区域二值图,之后通过将动态区域二值图取反,得到静态区域二值图,以使终端在接收到该动态区域二值图和静态区域的HDR图像之后,将动态区域二值图加入到生成HDR图像的权重图生成中,从而生成动态区域的HDR图像,并将根据静态区域二值图生成静态区域的HDR图像,最后,将动态区域的HDR图像和静态区域的HDR图像加权融合,从而生成第二帧的HDR图像,以此类推。
其中,运动估计算法可以通过块匹配的方式来获得运动矢量,具体的,先假设图像的子块内部各个像素值可以做相同的平移,之后从上一帧的某个搜寻区域内寻找当前帧的每个子块的最优的匹配块,将该子块当作是从上一帧得到的最有的匹配快中平移过来的,其中,可以利用平均绝对帧差(MAD)准则作为衡量匹配效果的准则,确定两帧图像之间的匹配块,从而获得运动矢量,也可以采用自适应十字模式搜索(Adaptive Rood PatternSearch,ARPS)方法,根据当前块的左侧相邻块来预测得到当前块的运动矢量。
在其他具体实现中,也可以是基于曲线拟合的HDR视频生成算法,还可以是其他HDR视频生成方法,融合参数也可以为其他参数,本实施例不做限定。
S304、服务器向终端发送该融合参数集合。
S305、终端通过该融合参数集合对原始全局视频进行处理,得到目标全局视频。
在一种实现中,终端接收到融合参数集合,根据HDR视频合成算法对原始全局视频进行处理,得到处理后的目标全局视频。具体的,HDR视频生成算法的实现可以参见步骤S3012以及步骤S303中HDR处理的过程,此处不再赘述。
S306、终端存储该目标全局视频。
具体的,终端可以在处理得到该目标全局视频时,将该目标全局视频对应的预览视频删除,并将该目标全局视频存储在该预览视频所在的位置。
在另一种实现中,本实施例可以在录像功能中设置视频HDR图标,以使用户选择是否选择视频HDR模式,通过对视频HDR图标的用户触摸以实现该应用于视频HDR技术的视频处理方法。
其中,启动视频HDR模式的具体步骤,在步骤S301之前可以包括:
S401、用户启动相机应用。
本申请实施例中,用户可通过对相机应用的应用图标的操作,例如触摸操作来启动相机应用,具体可参考图9中的(A)。
S402、当相机应用启动时,模式加载模块向HAL层查询模式。
本申请实施例中,HAL层可为相机应用提供视频HDR模式。在视频HDR模式下,HAL层中的能力使能模块、图像采集模块和图像处理模块可被启动执行各自的功能。具体的,模式加载模块可向能力使能模块查询模式。能力使能模块可响应于模式加载模块的查询,向模式加载模块反馈HAL层为相机应用提供的模式,例如提供的模式包含:视频HDR模式、人像模式、普通模式、夜景模式和录像模式等。
S403、模式加载模块根据查询结果加载模式。
其中,加载的模式中包含视频HDR模式,模式加载模块在加载过程中还将各个模式在应用程序层和HAL层中对应的模块进行初始化。在初始化之后,终端可显示每个模式对应的图标,具体可参考图9中的(B)和(C)所示。在初始化之后,响应于用户对视频HDR模式对应的图标的触摸操作,拍摄控制模块可通知HAL层中的能力使能模块、图像采集模块、场景识别模块和图像处理模块启动以执行各自的功能。在初始化之后,其他模式类似于视频HDR模式,可响应于用户对模式对应的图标的触摸操作,启动HAL层中相应的模块。
S404、用户切换到HDR模式。
如图9中的(C)所示,用户可在模式选择界面30上触摸HDR模式图标204G来切换到HDR模式。
S405、响应于用户对HDR模式图标204G的触摸操作,终端启动相应模块以支持视频HDR处理。
具体的,视频HDR的处理过程参见步骤S201~步骤S206。
启动拍摄控制模块之后,拍摄控制模块可通知能力使能模块使能启动HAL层中与录像模式相关的模块,例如图像采集模块和图像处理模块。
下面介绍加载HDR模式过程所涉及的用户界面。请参阅图9,图9是本申请实施例提供的一种人机交互界面示意图。如图9中的(A)所示,终端100可显示用户界面10,为终端100的主屏幕界面10。主屏幕界面10包括日历小工具(widget)101、天气小工具102、应用程序图标103、状态栏104以及导航栏105。其中:
日历小工具101可用于指示当前时间,例如日期、星期几、时分信息等。
天气小工具102可用于指示天气类型,例如多云转晴、小雨等,还可以用于指示气温等信息,还可以用于指示地点。
应用程序图标103可以包含微信(Wechat)的图标、QQ(Tencent QQ)的图标、图库(Gallery)的图标和相机(camera)的图标等,还可以包含其他应用的图标,本申请实施例对此不作限定。任一个应用图标可用于响应用户的操作,例如触摸操作,使得终端启动图标对应的应用。
状态栏104中可以包括运营商的名称(例如中国移动)、时间、WI-FI图标、信号强度和当前剩余电量。
导航栏105可以包括:返回按键1051、主界面(home screen)按键1052、呼出任务历史按键1053等系统导航键。其中,主屏幕界面为终端100在任何一个用户界面检测到作用于主界面按键1052的用户操作后显示的界面。当检测到用户点击返回按键1051时,终端100可显示当前用户界面的上一个用户界面。当检测到用户点击主界面按键1052时,终端100可显示主屏幕界面10。当检测到用户点击呼出任务历史按键1053时,终端100可显示用户最近打开过的任务。各导航键的命名还可以为其他,比如,1051可以叫Back Button,1052可以叫Home button,1053可以叫Menu Button,本申请实施例对此不做限制。导航栏105中的各导航键不限于虚拟按键,也可以实现为物理按键。
用户启动相机应用,可通过触摸相机图标实现。如图9中的(A)所示,响应于用户对相机图标的触摸操作,模式加载模块即执行步骤S402~S403。在模式加载模块完成加载模式后,终端100可显示每个模式对应的图标。
示例性的,已加载完成的模式包含夜景模式、人像模式、拍照模式、短视频模式、录像模式、录像模式等。如图9中的(B)所示,终端100可显示相机应用界面20。相机应用界面20上可包含已加载完成的模式对应的图标204。图标204可包含夜景模式图标204A、人像模式图标204B、拍照模式图标204C、短视频模式图标204D、录像模式图标204E和更多图标204F。更多图标204F用于显示已加载完成的模式的图标,具体参考图9中的(C)的描述。拍摄控制模块可响应于用户对图标204中任一个图标的触摸操作,启动图标对应的模式。
如图9中的(B)所示,相机应用界面20还可以包含已拍摄图像回显控件201、拍摄控件202、摄像头切换控件203、取景框205、调焦控件206A、设置控件206B和闪光灯开关206C。
其中:
已拍摄图像回显控件201,用于用户查看已拍摄的图像和视频。
摄像头切换控件203,用于将采集图像的摄像头在前置摄像头和后置摄像头之间切换。
取景框205,用于对所采集图像进行实时预览显示。
调焦控件206A,用于对摄像头进行调焦。
设置控件206B,用于设置采集图像时的各类参数。
闪光灯开关206C,用于开启/关闭闪光灯。
如图9中的(C)所示,响应于用户对更多图标204F的触摸操作,终端100显示模式选择界面30,模式选择界面30可包含通过步骤S403其他的已加载完成的模式的图标。
模式选择界面30可包含录像模式图标204G,还可包含HDR模式图标、专业录像模式图标、美肤录像模式图标、慢动作模式图标、美食模式图标、3D动态全景模式图标、全景模式图标、流光快门模式图标。
本申请实施例中,终端可以是响应于用户操作,打开相机应用,进而在显示屏上显示相机应用界面20。
用户可对上述任一个模式图标进行操作,例如触摸操作来启动对应的模式,则终端在HAL层中启动对应的模块。
在本发明实施例中,首先,终端可以执行N次预览过程,得到原始全局视频和灰度信息集合,N为不小于2的正整数,该原始全局视频为该N次预览过程中获取到的图像的集合,该灰度信息集合包括该原始全局视频中每一帧图像的灰度信息,其中,第i次预览过程可以包括:终端先获取第i个原始视频片段和该第i个原始视频片段的灰度信息,再根据该第i个原始视频片段的灰度信息对该第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段,并显示第i个预览视频片段,其中,i为不大于N的正整数。进而,终端向服务器发送该灰度信息集合,以使该服务器对该灰度信息集合进行处理,得到融合参数集合,并使该服务器向该终端发送该融合参数集合。终端在接收该融合参数集合后,通过该融合参数集合对该原始全局视频进行处理得到的目标全局视频,最后,存储该目标全局视频。本方法在终端对视频进行局部处理并预览的同时,终端通过与服务器的交互,获取原始视频的融合参数集合,再对原始视频进行全局处理,得到全局处理后的视频,将预览视频更新为该全局处理后的视频。该方法既保证了视频预览的实时性,又实现了对视频的全局处理,提高了终端录制的HDR视频的质量。
可以理解的,本申请实施例以视频后处理算法中的视频稳像技术和视频HDR技术为例进行介绍该视频处理方法,但是本申请实施例不限于视频稳像技术和视频HDR技术,还可以是在其他视频后处理算法下使用上述视频处理方法,本申请实施例对此不作限定。
图10为本发明实施例中一种服务器的硬件结构示意图。图10所示的服务器200(该服务器200具体可以是一种计算机设备)包括存储器201、处理器202、通信接口203以及总线204。其中,存储器201、处理器202、通信接口203通过总线204实现彼此之间的通信连接。
存储器201可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器201可以存储程序,当存储器201中存储的程序被处理器202执行时,处理器202和通信接口203用于执行本申请实施例中的视频处理的各个步骤。
处理器202可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现执行本申请方法实施例的视频处理方法。
处理器202还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的视频处理方法的各个步骤可以通过处理器202中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器202还可以是通用处理器、数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(Field Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器202读取存储器201中的信息,结合其硬件完成本申请实施例的视频处理方法。
通信接口203使用例如但不限于收发器一类的收发装置,来实现服务器200与其他设备或通信网络之间的通信。例如,可以通过通信接口203获取数据(如本申请实施例中的全局位姿序列)。
总线204可包括在服务器200各个部件(例如,存储器201、处理器202、通信接口203)之间传送信息的通路。在上述实施例中,全部或部分功能可以通过软件、硬件、或者软件加硬件的组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (22)
1.一种视频处理方法,其特征在于,应用于终端,所述方法包括:
执行N次预览过程,得到原始全局视频和第一参数集合,N为不小于2的正整数,所述原始全局视频为所述N次预览过程中获取到的图像的集合,所述第一参数集合包括所述原始全局视频中每一帧图像的参数,其中,第i次预览过程包括:获取第i个原始视频片段和所述第i个原始视频片段的参数;根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段;显示第i个预览视频片段;i为不大于N的正整数;
向服务器发送所述第一参数集合,以使所述服务器对所述第一参数集合进行处理,得到第二参数集合,并使所述服务器向所述终端发送所述第二参数集合;
接收所述第二参数集合;
通过所述第二参数集合对所述原始全局视频进行处理得到的目标全局视频;
存储所述目标全局视频。
2.如权利要求1所述的方法,其特征在于,所述参数包括相机位姿,所述第i个原始视频片段的参数是所述第i个原始视频片段中每一帧图像的相机位姿以图像的获取次序排列所形成的原始位姿序列;所述第一参数集合是所述原始全局视频中每一帧图像的相机位姿以图像的获取次序排列所形成的相机位姿序列。
3.如权利要求2所述的方法,其特征在于,所述根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段包括:
对所述原始位姿序列中的每一个相机位姿进行处理,得到优化位姿序列,所述原始位姿序列与所述优化位姿序列中的相机位姿一一对应;
根据所述优化位姿序列通过稳像算法对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段。
4.如权利要求2或3所述的方法,其特征在于,所述第二参数集合为所述服务器对所述第一参数集合进行处理得到的相机位姿的序列,所述第一参数集合与所述第二参数集合中的相机位姿一一对应。
5.如权利要求1所述的方法,其特征在于,所述第i个原始视频片段中的每一帧图像包括至少2个图层,所述至少2个图层的曝光参数互不相同;所述参数用于指示图层的灰度信息;所述第i个原始视频片段的参数包括所述第i个原始视频片段中每一帧图像的灰度信息;所述第一参数集合包括所述原始全局视频中每一帧图像的灰度信息。
6.如权利要求5所述的方法,其特征在于,所述根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段包括:
根据第i个原始视频片段的灰度信息对所述第i个原始视频片段中的视频子片段的每一帧图像进行处理,得到所述视频子片段中每一帧图像的主图层;
其中,所述第i个预览视频片段包括所述视频子片段中每一帧图像的主图层。
7.如权利要求5或6所述的方法,其特征在于,所述第二参数集合为所述服务器对所述第一参数集合进行处理得到的融合参数的集合;所述通过所述第二参数集合对所述原始全局视频进行处理得到的目标全局视频,包括:
通过所述原始全局视频中的每一帧图像对应的融合参数,对所述每一帧图像的至少2个图层进行合成,得到所述每一帧图像对应的主图层,所述目标全局视频包括所述每一帧图像对应的主图层。
8.一种视频处理方法,其特征在于,应用于服务器,所述方法包括:
接收终端发送的第一参数集合,所述第一参数集合包括原始全局视频中每一帧图像的参数,所述原始全局视频为所述终端录制的视频;
对所述第一参数集合进行处理,得到第二参数集合;
向所述终端发送所述第二参数集合,以使所述终端根据所述第一参数集合对所述原始全局视频进行处理,得到目标全局视频。
9.如权利要求8所述的方法,其特征在于,所述参数包括相机位姿;所述第一参数集合是所述原始全局视频中每一帧图像的相机位姿以图像的获取次序排列所形成的相机位姿序列。
10.如权利要求8所述的方法,其特征在于,所述原始全局视频中的每一帧图像包括至少2个图层,所述至少2个图层的曝光参数互不相同,所述参数用于指示图层的灰度信息;所述第一参数集合包括所述原始全局视频中每一帧图像的灰度信息。
11.一种终端,其特征在于,包括:处理器、存储器、显示屏、至少一个摄像头和通信接口,所述至少一个摄像头用于采集图像;所述存储器、所述显示屏、所述至少一个摄像头和所述通信接口耦合到所述处理器,所述存储器用于存储指令,所述处理器用于调用存储器存储的指令,执行:
执行N次预览过程,得到原始全局视频和第一参数集合,N为不小于2的正整数,所述原始全局视频为所述N次预览过程中获取到的图像的集合,所述第一参数集合包括所述原始全局视频中每一帧图像的参数,其中,第i次预览过程包括:获取第i个原始视频片段和所述第i个原始视频片段的参数;根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段;通过所述显示屏显示第i个预览视频片段;i为不大于N的正整数;
通过所述通信接口向服务器发送所述第一参数集合,以使所述服务器对所述第一参数集合进行处理,得到第二参数集合,并使所述服务器向所述终端发送所述第二参数集合;
通所述通信接口接收所述第二参数集合;
通过所述第二参数集合对所述原始全局视频进行处理得到的目标全局视频;
存储所述目标全局视频。
12.如权利要求11所述的终端,其特征在于,所述参数包括相机位姿,所述第i个原始视频片段的参数是所述第i个原始视频片段中每一帧图像的相机位姿以图像的获取次序排列所形成的原始位姿序列;所述第一参数集合是所述原始全局视频中每一帧图像的相机位姿以图像的获取次序排列所形成的相机位姿序列。
13.如权利要求12所述的终端,其特征在于,所述处理器执行所述根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段,包括执行:
对所述原始位姿序列中的每一个相机位姿进行处理,得到优化位姿序列,所述原始位姿序列与所述优化位姿序列中的相机位姿一一对应;
根据所述优化位姿序列通过稳像算法对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段。
14.如权利要求12或13所述的终端,其特征在于,所述第二参数集合为所述服务器对所述第一参数集合进行处理得到的相机位姿的序列,所述第一参数集合与所述第二参数集合中的相机位姿一一对应。
15.如权利要求11所述的终端,其特征在于,所述第i个原始视频片段中的每一帧图像包括至少2个图层,所述至少2个图层的曝光参数互不相同;所述参数用于指示图层的灰度信息;所述第i个原始视频片段的参数包括所述第i个原始视频片段中每一帧图像的灰度信息;所述第一参数集合包括所述原始全局视频中每一帧图像的灰度信息。
16.如权利要求15所述的终端,其特征在于,所述处理器执行所述根据所述第i个原始视频片段的参数对所述第i个原始视频片段中的视频子片段处理,得到第i个预览视频片段包括执行:
根据第i个原始视频片段的灰度信息对所述第i个原始视频片段中的视频子片段的每一帧图像进行处理,得到所述视频子片段中每一帧图像的主图层;
其中,所述第i个预览视频片段包括所述视频子片段中每一帧图像的主图层。
17.如权利要求15或16所述的终端,其特征在于,所述第二参数集合为所述服务器对所述第一参数集合进行处理得到的融合参数的集合;所述处理器执行所述通过所述第二参数集合对所述原始全局视频进行处理得到的目标全局视频,包括执行:
通过所述原始全局视频中的每一帧图像对应的融合参数,对所述每一帧图像的至少2个图层进行合成,得到所述每一帧图像对应的主图层,所述目标全局视频包括所述每一帧图像对应的主图层。
18.一种服务器,其特征在于,包括:处理器、存储器和通信接口,所述存储器、所述处理器与所通信接口耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述处理器用于调用所述计算机指令,执行:
接收终端发送的第一参数集合,所述第一参数集合包括原始全局视频中每一帧图像的参数,所述原始全局视频为所述终端录制的视频;
对所述第一参数集合进行处理,得到第二参数集合;
通过所述通信接口向所述终端发送所述第二参数集合,以使所述终端根据所述第一参数集合对所述原始全局视频进行处理,得到目标全局视频。
19.如权利要求18所述的服务器,其特征在于,所述参数包括相机位姿;所述第一参数集合是所述原始全局视频中每一帧图像的相机位姿以图像的获取次序排列所形成的相机位姿序列。
20.如权利要求18所述的服务器,其特征在于,所述原始全局视频中的每一帧图像包括至少2个图层,所述至少2个图层的曝光参数互不相同,所述参数用于指示图层的灰度信息;所述第一参数集合包括所述原始全局视频中每一帧图像的灰度信息。
21.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在终端上运行时,使得所述终端执行如权利要求1至7中任一项所述的方法。
22.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在服务器上运行时,使得所述服务器执行如权利要求8至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010359399.8A CN113572948B (zh) | 2020-04-29 | 2020-04-29 | 视频处理方法和视频处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010359399.8A CN113572948B (zh) | 2020-04-29 | 2020-04-29 | 视频处理方法和视频处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113572948A CN113572948A (zh) | 2021-10-29 |
CN113572948B true CN113572948B (zh) | 2022-11-11 |
Family
ID=78158627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010359399.8A Active CN113572948B (zh) | 2020-04-29 | 2020-04-29 | 视频处理方法和视频处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113572948B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117177066B (zh) * | 2022-05-30 | 2024-09-20 | 荣耀终端有限公司 | 一种拍摄方法及相关设备 |
CN117651221B (zh) * | 2022-08-09 | 2024-11-01 | 荣耀终端有限公司 | 视频处理的方法及电子设备 |
CN117135268B (zh) * | 2023-02-23 | 2024-06-21 | 荣耀终端有限公司 | 拍摄的方法和电子设备、芯片、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106060655A (zh) * | 2016-08-04 | 2016-10-26 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、服务器及终端 |
CN106572344A (zh) * | 2016-09-29 | 2017-04-19 | 宇龙计算机通信科技(深圳)有限公司 | 虚拟现实直播方法、系统以及云服务器 |
CN108683826A (zh) * | 2018-05-15 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 视频数据处理方法、装置、计算机设备和存储介质 |
CN110581948A (zh) * | 2018-06-07 | 2019-12-17 | 三星电子株式会社 | 提供质量定制图像的电子装置及其控制方法、服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013089684A2 (en) * | 2011-12-13 | 2013-06-20 | Empire Technology Development, Llc | Graphics render matching for displays |
US9583144B2 (en) * | 2015-02-24 | 2017-02-28 | Plaay, Llc | System and method for creating a sports video |
-
2020
- 2020-04-29 CN CN202010359399.8A patent/CN113572948B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106060655A (zh) * | 2016-08-04 | 2016-10-26 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、服务器及终端 |
CN106572344A (zh) * | 2016-09-29 | 2017-04-19 | 宇龙计算机通信科技(深圳)有限公司 | 虚拟现实直播方法、系统以及云服务器 |
CN108683826A (zh) * | 2018-05-15 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 视频数据处理方法、装置、计算机设备和存储介质 |
CN110581948A (zh) * | 2018-06-07 | 2019-12-17 | 三星电子株式会社 | 提供质量定制图像的电子装置及其控制方法、服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN113572948A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110072070B (zh) | 一种多路录像方法及设备、介质 | |
CN113132620B (zh) | 一种图像拍摄方法及相关装置 | |
CN111107292B (zh) | 一种录像帧率的控制方法、移动终端及计算机存储介质 | |
WO2020073959A1 (zh) | 图像捕捉方法及电子设备 | |
CN112532859A (zh) | 视频采集方法和电子设备 | |
CN114095666B (zh) | 拍照方法、电子设备和计算机可读存储介质 | |
CN112532892B (zh) | 图像处理方法及电子装置 | |
CN117857920B (zh) | 一种对焦方法和电子设备 | |
CN110602403A (zh) | 一种暗光下拍照的方法及电子设备 | |
CN113810600A (zh) | 终端的图像处理方法、装置和终端设备 | |
CN113810601A (zh) | 终端的图像处理方法、装置和终端设备 | |
CN114489533A (zh) | 投屏方法、装置、电子设备及计算机可读存储介质 | |
CN113542580B (zh) | 去除眼镜光斑的方法、装置及电子设备 | |
CN113572948B (zh) | 视频处理方法和视频处理装置 | |
CN113452898A (zh) | 一种拍照方法及装置 | |
CN111770282A (zh) | 图像处理方法及装置、计算机可读介质及终端设备 | |
CN113810603A (zh) | 点光源图像检测方法和电子设备 | |
CN112188094B (zh) | 图像处理方法及装置、计算机可读介质及终端设备 | |
CN113747058A (zh) | 基于多摄像头的图像内容屏蔽方法和装置 | |
CN113852755A (zh) | 拍摄方法、设备、计算机可读存储介质及程序产品 | |
CN112532508B (zh) | 一种视频通信方法及视频通信装置 | |
CN114079725B (zh) | 视频防抖方法、终端设备和计算机可读存储介质 | |
CN113923351A (zh) | 多路视频拍摄的退出方法、设备、存储介质和程序产品 | |
CN116095512B (zh) | 终端设备的拍照方法及相关装置 | |
WO2025011069A1 (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 |