CN113077532A - 动态照片生成方法、装置及可读存储介质 - Google Patents
动态照片生成方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN113077532A CN113077532A CN202110287240.4A CN202110287240A CN113077532A CN 113077532 A CN113077532 A CN 113077532A CN 202110287240 A CN202110287240 A CN 202110287240A CN 113077532 A CN113077532 A CN 113077532A
- Authority
- CN
- China
- Prior art keywords
- time window
- target time
- video
- video frame
- photo
- 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 title claims abstract description 51
- 230000001960 triggered effect Effects 0.000 claims abstract description 19
- 230000015654 memory Effects 0.000 claims description 59
- 230000000694 effects Effects 0.000 claims description 46
- 230000003068 static effect Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 21
- 230000003796 beauty Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 239000000872 buffer Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000003139 buffering effect Effects 0.000 description 7
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 241001085205 Prenanthella exigua Species 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
本公开涉及一种动态照片生成方法、装置及可读存储介质,其中,该方法包括:快门键被触发时,获取相机拍摄的静态照片;根据快门键的触发时刻,获取目标时间窗的视频帧和音频帧,其中,目标时间窗的视频帧是从显示芯片GPU获取的;目标时间窗的音频帧是从音频采集单元获取的;合并目标时间窗的视频帧和音频帧,生成视频文件;将视频文件链接至静态照片的尾部,以生成动态照片。本方案,通过从GPU获取经过了各种图像处理后的视频帧,能够应用于使用特效或者未使用特效的拍照软件生成动态照片的场景,适用性较强,可扩展性较强。
Description
技术领域
本公开涉及图像数据处理技术领域,尤其涉及一种动态照片生成方法、装置及可读存储介质。
背景技术
随着人们生活水平的不断提高,静态照片已无法满足人们的拍摄需求,因此,产生了一种新的拍摄模式,即动态拍摄模式,也可以称为实况拍摄模式。具体地,当用户打开终端设备上的相机功能且开启实况拍摄模式时,用户通过点击相机的快门键,终端设备能够记录拍照前或者拍照前后一定时间段内的视频帧和音频帧,例如1.5秒、2秒,从而生成动态照片。该动态照片在图库中以静态照片的方式显示,用户需要预览时,用户通过长按该照片,终端设备则动态显示该时间段内的视频帧和音频帧。
然而,随着拍照功能的不断丰富更新,人们在拍照时,常常使用带有特效功能的拍照软件,以获得更好的拍照效果。然而,现有技术中的动态照片生成方式,是采用底层摄像头上传的原始视频帧,无法适用于用户使用带有特效功能的拍照软件的情况。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种动态照片生成方法、装置及可读存储介质。
第一方面,本公开实施例提供一种动态照片生成方法,包括:
快门键被触发时,获取相机拍摄得到的静态照片;
根据所述快门键的触发时刻,获取目标时间窗的视频帧和音频帧;其中,所述目标时间窗的视频帧是从显示芯片(Graphics Processing Unit,GPU)获取的;所述目标时间窗的音频帧是从音频采集单元获取的;
合并所述目标时间窗的视频帧和音频帧,生成视频文件;
将所述视频文件链接至所述静态照片的尾部,以生成动态照片。
在一些可能的设计中,所述静态照片和动态照片均为JPEG(Joint PhotographicExperts Group)格式。
在一些可能的设计中,所述根据所述快门键的触发时刻,获取目标时间窗的视频帧和音频帧,包括:
从所述GPU中读取满足RGB格式的所述视频帧的YUV数据;
对所述YUV数据进行格式转换,获得标准YUV格式的目标时间窗的视频帧。
在一些可能的设计中,所述YUV数据是根据RGB格式,对初始格式的所述目标时间窗的视频帧的数据进行转换获得的;其中,所述初始格式与所述RGB格式不同。
在一些可能的设计中,所述目标时间窗的视频帧是根据内存储器的资源占用比例缓存在所述内存储器和/或外存储器中的;所述目标时间窗的音频帧缓存在所述内存储器中。
在一些可能的设计中,所述目标时间窗的视频帧是对拍摄到的原始视频帧进行特效处理后获得的;
其中,所述特效包括:美颜特效、滤镜特效、静态图层叠加以及动态图层叠加中的一项或多项。
在一些可能的设计中,所述将所述视频文件链接至所述JPEG格式的静态照片的尾部,以生成动态照片,包括:
将所述视频文件的起始地址以及用于指示照片类型为动态照片的信息写入所述静态照片尾部的Exif信息,以生成所述动态照片。
第二方面,本公开实施例还提供一种动态照片生成装置,包括:
第一获取模块,用于快门键被触发时,获取相机拍摄得到的静态照片;
第二获取模块,用于根据所述快门键的触发时刻,获取目标时间窗的视频帧和音频帧;其中,所述目标时间窗的视频帧是从显示芯片GPU获取的;所述目标时间窗的音频帧是从音频采集单元获取的;
编码模块,用于合并所述目标时间窗内的视频帧和音频帧,生成视频文件;
动态照片生成模块,用于将所述视频文件链接至所述静态照片的尾部,以生成动态照片。
第三方面,本公开实施例还提供一种电子设备,包括:存储器、处理器以及计算机程序指令;所述存储器被配置为存储所述计算机程序指令;所述处理器被配置为执行所述计算机程序指令,当所述处理器执行所述计算机程序指令时,以执行第一方面任一项所述的动态照片生成方法。
第四方面,本公开实施例还提供一种可读存储介质,包括:计算机程序指令;所述计算机程序指令被电子设备的至少一个处理器执行时,以执行第一方面任一项所述的动态照片生成方法。
第五方面,本公开实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,所述动态照片生成装置的至少一个处理器可以从所述可读存储介质中读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得所述动态照片生成装置执行第一方面任一项所述的动态照片生成方法。
本实施例提供一种动态照片生成方法、装置及可读存储介质,其中,该方法包括:快门键被触发时,获取相机拍摄得到的静态照片;根据所述快门键的触发时刻,获取目标时间窗的视频帧和音频帧,其中,所述目标时间窗的视频帧是从显示芯片GPU获取的;所述目标时间窗的音频帧是从音频采集单元获取的;合并目标时间窗的视频帧和音频帧,生成视频文件;将视频文件链接至静态照片的尾部,以生成动态照片。本方案通过从GPU获取经过了各种图像处理后的视频帧,能够应用于使用特效或者未使用特效的拍照软件生成动态照片的场景,适用性较强,可扩展性较强。本方案通过将视频文件链接至静态照片的尾部,降低了静态照片和视频文件的耦合性;且使动态照片的传播更加简单。另外,通过本方案生成的动态照片更加清晰。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一实施例提供的动态照片生成方法的流程图;
图2为快门键的触发时刻与目标时间窗的时间位置示意图一;
图3为快门键的触发时刻与目标时间窗的时间位置示意图二;
图4为快门键的触发时刻与目标时间窗的时间位置示意图三;
图5为本公开一实施例提供的动态照片的文件格式的示意图;
图6为本公开另一实施例提供的动态照片生成方法的流程图;
图7为本公开一实施例提供的动态照片生成装置的结构示意图;
图8为本公开另一实施例提供的动态照片生成装置的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1为本公开一实施例提供的动态照片生成方法的流程图。本实施例提供的动态照片生成方法的执行主体可以为本公开实施例提供的动态照片生成装置,该动态照片生成装置可以通过任意的软件和/或硬件的方式实现。示例性地,该动态照片生成装置可以包括但不限于为:智能手机、IPAD、智能可穿戴设备等等。本实施例中以执行主体为终端设备为例进行说明,该终端设备包括:GPU、摄像头、内存储器、外存储器、处理器等等。如图1所示,本实施例的方法包括:
S101、快门键被触发时,获取相机拍摄的静态照片。
应理解,在执行本公开实施例提供的动态照片生成方法之前,已打开终端设备的相机(这里所指的相机可以为拍照软件),且已开启拍照软件的动态拍摄模式。
其中,相机的快门键被触发可以通过下述任一种方式:用户可以通过单击终端设备的触摸屏幕上显示的快门键组件,以触发快门键;或者,用户通过声控或悬空手势等非接触方式触发快门键;或者,用户可以通过按压终端设备上的物理按键或者组合物理按键,以触发快门键;或者,用户通过与终端设备连接的控制设备(例如:终端设备通过USB接口与自拍杆连接,自拍杆上有物理按键,能够控制终端设备的相机拍照;又如,终端设备通过USB接口与架式拍摄杆连接,架式拍摄杆与无线遥控器连接,可通过无线遥控器控制终端设备的相机拍照),以触发快门键。
可选地,当终端设备检测到相机的快门键被触发时,可以从终端设备的GPU获取相机拍摄的静态照片。具体地,由于用户可能使用带有特效的拍照软件,用于拍摄带有特效的静态照片,而终端设备的摄像头底层采集的原始图像是未经过特效处理的。而无论是使用特效拍摄的照片或者未使用特效拍摄的照片,都是需要通过GPU进行显示,因此,GPU是用于生成动态照片最优的数据来源。
可选地,终端设备获取的相机拍摄的静态照片是JPEG格式的。
其中,JPEG格式具有调节图像质量的功能,它允许使用不同的压缩比例进行压缩,因此,本方案中可根据实际需求设置最优的压缩比例。例如,预先按照类型对场景进行划分,并针对不同类型的场景设置不同的压缩比例,以满足用户的需求。相对于现有技术中,动态照片采用GIF格式存储,本方案获得的动态照片更加清晰。
另外,JPEG格式的照片允许添加一些附加信息,这也为后续链接视频文件提供了基础。
S102、根据所述快门键的触发时刻,获取目标时间窗的视频帧和音频帧;其中,目标时间窗的视频帧是从GPU获取的;目标时间窗的音频帧是从音频采集单元获取的。
具体地,终端设备根据快门键被触发的时刻确定目标时间窗。图2至图4示出了几种快门键的触发时刻与目标时间窗的时间关系的示意图;其中,图2示出了目标时间窗位于快门键的触发时刻之前的情况;图3示出了目标时间窗位于快门键的触发时刻之后的情况;图4示出了目标时间窗包括两个子时间窗,其中,第一子时间窗位于快门键的触发时刻之前,第二子时间窗位于快门键的触发时刻之后。
在图2、图3以及图4中,t1表示快门键的触发时刻,t2表示目标时间窗的起始时刻,t3表示目标时间窗的结束时刻。
针对图2所示的情况:
当用户打开相机,并开启动态拍摄模式,终端设备通过摄像头按照预设帧率实时拍摄照片(该照片为原始视频帧),终端设备的GPU通过对原始视频帧进行相应的图像处理,例如,对原始视频帧进行美颜特效、滤镜特效、静态图层叠加以及动态图层叠加中的一项或多项特效处理,生成上述视频帧;同时,终端设备通过音频采集单元(如麦克风)实时采集音频帧。
其中,美颜特效表示对人像进行大眼、瘦脸、磨皮等效果处理。滤镜特效表示实现特殊图像效果的处理,例如,清新效果、自然效果、亮白效果等等。静态图层叠加可以包括但不限于:静态贴纸叠加、静态边框叠加、静态文字叠加等中的一项或多项。动态图层叠加可以包括但不限于:动态贴纸叠加、动态边框叠加、动态文字叠加等等。
终端设备从GPU中实时读出上述视频帧,并从音频采集单元获取音频帧;并对获取的视频帧和音频帧进行缓存。
需要说明的是,在上述过程中,终端设备可采用类似于“先进先出”的方式,从GPU中读出最新的视频帧和音频帧插入相应的缓存队列中,并删除缓存队列中最早的视频帧和音频帧。当终端设备检测到快门键被触发时,终端设备从缓存的视频帧和音频帧中获取目标时间窗的视频帧和音频帧。
示例性地,终端设备缓存视频帧是一个缓存队列,缓存队列例如可以缓存61帧视频帧,则缓存队列的结构为:[0,1……60],当第61帧视频帧到达时,将第0帧视频帧丢弃,并将第61帧视频帧进行缓存,缓存队列更新为[1,2……61]。且终端设备拍摄和缓存是相互独立的过程,即上述缓存队列会一直按照上述“先进先出”的规律丢弃和缓存。当检测到快门键被触发,终端设备从缓存队列中将所有视频帧写入编码器中,以使编码器进行编码。
针对图3所示的情况:
当用户打开相机,并开启动态拍摄模式,终端设备实时检测快门键是否被触发;当检测到快门键被触发时,终端设备的摄像头按照预设的帧率采集视频帧,并通过音频采集单元实时采集音频帧。其中,采集时长即为目标时间窗的时长。终端设备从GPU实时获取视频帧并写入编码器中,在将视频帧写入编码器的同时将视频帧写入缓存队列中,缓存队列的结构与前述相同。且终端设备实时从音频采集设备获取音频帧,并写入编码器中以及相应的缓存队列中。
应理解,在图3所示的情况,若在上述目标时间窗内,用户退出当前的相机,或者,将当前的相机退出至后台运行,则终端设备的摄像头和音频采集单元可能会导致终端设备无法正确获取目标时间窗的视频帧和/或音频帧,相机可在用户退出时,弹出提示信息,并根据用户的选择执行相应的处理。
示例性地,相机可在用户退出时,弹出提示信息“当前动态照片未拍摄完成,请确认是否退出”,并提供“确认退出”以及“取消退出”的选项供用户选择。
针对图4所示的情况:
针对目标时间窗包括的第一子时间窗,可采用图2所示的情况的具体实现方式获取第一子时间窗的视频帧和音频帧;针对目标时间窗包括的第二子时间窗,可采用图3所示的情况的具体实现方式获取第二子时间窗的视频帧和音频帧。具体地,针对图4所示的情况,终端设备可以从缓存队列中获取第一子时间窗的视频帧;可以从GPU实时获取第二子时间窗的视频帧并写入编码器中,在将第二子时间窗的视频帧写入编码器的同时将第二子时间窗的视频帧写入缓存队列中,缓存队列的结构与前述相同。
终端设备将上述第一子时间窗的视频帧和音频帧、以及第二子时间窗的视频帧和音频帧均写入编码器,以使编码器进行编码,生成视频文件。其中,第一子时间窗的时间长度和第二子时间窗的时间长度可以是预先设定好的,两个子时间窗的时间长度之和等于目标时间窗的时间长度即可。例如,目标时间窗的时间长度为3秒,可以预先设定第一子时间窗的时间长度为1秒,第二子时间窗的时间长度为2秒。
S103、合并目标时间窗的视频帧和音频帧,生成视频文件。
终端设备采用预设编码方式将目标时间窗的视频帧和音频帧编码成视频文件。需要强调的一点是:编码过程中,需要将视频帧和音频帧同步对齐,以保证生成的视频文件中的画面和声音同步。
S104、将视频文件链接至静态照片的尾部,以生成动态照片。
其中,JPEG格式的照片允许添加一些附加信息,这为本步骤中链接视频文件提供了基础。当静态照片为JPEG格式时,本方案可以将视频文件的起始地址以及用于指示照片类型为动态照片的信息写入所述JPEG格式的静态照片尾部的Exif信息,从而生成动信息丰富的动态照片。且生成的动态照片为JPEG格式。
可选地,用于指示照片类型为动态照片的信息可以为数字标识;例如,当标识为1时,表示照片类型为动态照片;当标识为0时,表示照片类型为静态照片。应理解,在实际应用中,实现方式并不限制。
采用上述方式时,JPEG格式的静态照片的文件头与原先保持一致,因此,采用看图软件进行解析时,不会影响JPEG格式的静态照片的解析,当解析至JPEG格式的静态照片的尾部时,可根据标识确定该照片为动态照片,并根据视频文件的起始地址读取视频文件。应理解,JPEG格式的静态照片的解析过程和视频文件的解析过程相对独立,耦合性较小。
参照图5所示的动态照片的结构,JPEG格式的静态照片的尾部字段的下一个字节即为视频文件的文件头,其中,视频文件的文件头可以包括:视频文件的长度、视频文件的起始位置与静态照片之间的位置关系、视频文件中与静态照片的时间戳最近或相同的视频帧的相关信息等等。
本实施例提供的动态照片生成方法,通过从GPU获取经过了各种图像处理后的视频帧,能够应用于使用特效拍摄动态照片和未使用特效拍摄动态照片的场景,适用性更强,可扩展性更强。另外,本方案通过将视频文件链接至静态照片的尾部,降低了静态照片和视频文件的耦合性,且使动态照片的传播更加简单。另外,通过本方案生成的动态照片更加清晰。
图6为本公开另一实施例提供的动态照片生成方法的流程图。参照图6所示,本实施例的方法包括:
S201、终端设备接收摄像头上传的视频帧。若需要进行特效处理,则执行S202,之后再执行S203;若不需要进行特效处理,则执行S203。
S202、对所述摄像头上传的视频帧进行特效处理。
具体地,终端设备的GPU对摄像头上传的视频帧进行特效处理。可以理解,GPU包括用于进行图像处理的单元和用于控制显示的单元。
S203、将视频帧发送至GPU进行显示。
应理解,步骤S203中所指的“视频帧”可以是S202经过特效处理后获得的视频帧,也可以是S201直接上传的视频帧。具体地,若传送至GPU进行显示的视频帧为经过特效处理后获得的视频帧,则可以理解为视频帧从GPU中用于进行图像处理的单元传送至用于控制显示的单元。若为无需经过特效处理的视频帧,则可以直接将视频帧传输至GPU中用于控制显示的单元。
且需要说明的是,若用户当前使用特效进行拍摄,则后续终端设备获取的均为特效处理后的视频帧;若用户当前未使用特效进行拍摄,则后续终端设备获取的均为未经特效处理的视频帧。
S201至S203可以是用户仅打开相机(即拍照软件),但未开启动态拍摄模式的情况下,终端设备的处理流程。若用户未开启动态拍摄模式,则终端设备检测到用户快门键被触发时(即根据快门键的触发时刻),终端设备获取相机拍摄的静态照片,并且可进一步存储上述获得的静态照片。若用户当前使用特效进行拍摄,则终端设备可以从GPU获取经过特效处理后的静态照片并存储。
若用户在打开相机(拍照软件)时,默认开启动态拍摄模式,或者,用户打开相机,并手动的方式开启动态拍摄模式,则执行S204之后的步骤。也就是说,在一些情况下,S201至S203为可选步骤。
S204、判断是否开启动态拍摄模式。若是,则实时检测快门键是否被触发,并执行以下步骤。
S2051、终端设备采用RGB格式的数据读取方式从GPU中读取视频帧,其中,视频帧是满足RGB格式的YUV数据。
示例性地,满足RGB格式的YUV数据的格式为:YUVYUVYUV。
S2052、终端设备通过音频采集单元采集音频帧。
其中,S2051与S2052并行执行。
S206、终端设备对满足RGB格式的视频帧的YUV数据进行格式转换,获得YUV格式的视频帧。
示例性地,将YUVYUVYUV转换为YYYYUUVV,其中,YYYYUUVV即为标准的YUV格式。
S207、终端设备对视频帧和音频帧进行缓存。
具体地,终端设备可根据内存储器的资源占用比例确定将视频帧和音频帧缓存至内存储器和/或外存储器。
一种可能的实现方式,若内存储器的资源占用比例大于第一预设阈值,则终端设备将视频帧缓存在终端设备的外存储器中;若内存储器的资源占用比例小于或等于第一预设阈值,且大于第二预设阈值,则终端设备将视频帧缓存至内存储器;若内存储器的资源占用比例小于或等于第二预设阈值,则将视频帧缓存至内存储器。
应理解,第一预设阈值大于第二预设阈值。
在上述基础上,终端设备还可以将音频帧缓存至存储器或者外存储器,由于音频帧的数据量通常较小,因此,可将音频帧直接缓存在内存储器中,以减少数据写入/写出带来的资源消耗。
S208、当检测到快门键被触发时,终端设备从缓存中获取目标时间窗的视频帧和音频帧,并合并目标时间窗的视频帧和音频帧,生成视频文件。
具体地,若步骤S207中,终端设备将视频帧和音频帧缓存在内存储器中,则终端设备从内存储器中读取目标时间窗的视频帧和音频帧,并写入编码器中,以生成视频文件。
若S207中,终端设备将视频帧缓存在外存储器中,将音频帧缓存在内存储器中,则终端设备从外存储器中读取目标时间窗的视频帧并写入内存储器中;从内存储器中读取目标时间窗的视频帧和音频帧,并写入编码器中,以生成视频文件。
若S207中,终端设备将音频帧和视频帧均缓存在外存储器中,则终端设备从外存储器中读取目标时间窗的视频帧和音频帧,并写入内存储器中;从内存储器中读取目标时间窗的视频帧和音频帧,并写入编码器中,以生成视频文件。。
S209、当检测到快门键被触发时,终端设备获取摄像头拍摄的JPEG格式的静态照片。
其中,S208和S209的执行顺序不分先后。本步骤可参照图1所示实施例中S103的详细描述,此处不再赘述。
S210、将视频文件链接至JPEG格式的静态照片的尾部,以生成动态照片。
本步骤可参照图1所示实施例中S104的详细描述,此处不再赘述。
在实际应用中,GPU支持RGB格式的数据读取,且YUV格式占用的存储空间较小,不同的单元或者设备之间通常以YUV格式进行数据交互,因此,为兼容GPU,本实施例中,通过终端设备的GPU将摄像头底层上传的YUV格式的数据转换为满足RGB格式的YUV数据,之后,终端设备可采用RGB格式的数据读取方式从GPU中读出YUV数据。
图7为本公开一实施例提供的动态照片生成装置的结构示意图。本实施例提供的动态照片生成装置可以为终端设备或者终端设备的一部分。参照图7所示,本实施例提供的动态照片生成装置700包括:
第一获取模块701,用于快门键被触发时,获取相机拍摄得到的静态照片。
第二获取模块702,用于根据所述快门键的触发时刻,获取目标时间窗的视频帧和音频帧;其中,所述目标时间窗的视频帧是从显示芯片GPU获取的;所述目标时间窗的音频帧是从音频采集单元获取的。
编码模块703,用于合并目标时间窗内的视频帧和音频帧,生成视频文件。
动态照片生成模块704,用于将所述视频文件链接至所述静态照片的尾部,以生成动态照片。
在一些可能的设计中,所述静态照片和动态照片均为JPEG格式。
在一些可能的设计中,所述第二获取模块702,具体用于从所述GPU中读取满足RGB格式的所述视频帧的YUV数据;并对所述YUV数据进行格式转换,获得标准YUV格式的目标时间窗的视频帧。
在一些可能的设计中,所述YUV数据是根据RGB格式,对初始格式的所述目标时间窗的视频帧的数据进行转换获得的;其中,所述初始格式与所述RGB格式不同。
在一些可能的设计中,所述目标时间窗的视频帧是根据内存储器的资源占用比例缓存在所述内存储器和/或外存储器中的;所述目标时间窗的音频帧缓存在所述内存储器中。
在一些可能的设计中,所述目标时间窗的视频帧是对拍摄到的原始视频帧进行特效处理后获得的;其中,所述特效包括:美颜特效、滤镜特效、静态图层叠加以及动态图层叠加中的一项或多项。
在一些可能的设计中,动态照片生成模块704,具体用于将所述视频文件的起始地址以及用于指示照片类型为动态照片的信息写入所述静态照片尾部的Exif信息,以生成所述动态照片。
在一些可能的设计中,所述视频文件的格式为MP4格式。
本实施例提供的动态照片生成装置可以用于执行上述任一方法实施例,其实现原理以及技术效果类似,可参照前述实施例的描述,此处不再赘述。
图8为本公开一实施例提供的电子设备的结构示意图。参照图8所示,本实施例提供的电子设备800包括:存储器801和处理器802。
其中,存储器801可以是独立的物理单元,与处理器802可以通过总线803连接。存储器801、处理器802也可以集成在一起,通过硬件实现等。
存储器801用于存储程序指令,处理器802调用该程序指令,执行以上述任一方法实施例的操作。
可选地,当上述实施例的方法中的部分或全部通过软件实现时,上述电子设备800也可以只包括处理器802。用于存储程序的存储器801位于电子设备800之外,处理器802通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。
处理器802可以是中央处理器(Central Processing Unit,CPU),网络处理器(Network Processor,NP)或者CPU和NP的组合。
处理器802还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(Application-Specific Integrated Circuit,ASIC),可编程逻辑器件(ProgrammableLogic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD),现场可编程逻辑门阵列(Field-Programmable GateArray,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。
存储器801可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random-Access Memory,RAM);存储器也可以包括非易失性存储器(Non-volatileMemory),例如快闪存储器(Flash Memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-state Drive,SSD);存储器还可以包括上述种类的存储器的组合。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质中包括计算机程序指令,所述计算机程序指令在被处理器执行时,以执行以上述任一实施例的方法。
本公开实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,所述动态照片生成装置的至少一个处理器可以从所述可读存储介质中读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得所述动态照片生成装置执行上述任一方法实施例。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种动态照片生成方法,其特征在于,包括:
快门键被触发时,获取相机拍摄得到的静态照片;
根据所述快门键的触发时刻,获取目标时间窗的视频帧和音频帧;其中,所述目标时间窗的视频帧是从显示芯片GPU获取的;所述目标时间窗的音频帧是从音频采集单元获取的;
合并所述目标时间窗的视频帧和音频帧,生成视频文件;
将所述视频文件链接至所述静态照片的尾部,以生成动态照片。
2.根据权利要求1所述的方法,其特征在于,所述静态照片和动态照片均为JPEG格式。
3.根据权利要求2所述的方法,其特征在于,所述根据所述快门键的触发时刻,获取目标时间窗的视频帧和音频帧,包括:
从所述GPU中读取满足RGB格式的所述视频帧的YUV数据;
对所述YUV数据进行格式转换,获得标准YUV格式的目标时间窗的视频帧。
4.根据权利要求3所述的方法,其特征在于,所述YUV数据是根据RGB格式,对初始格式的所述目标时间窗的视频帧的数据进行转换获得的;其中,所述初始格式与所述RGB格式不同。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述目标时间窗的视频帧是根据内存储器的资源占用比例缓存在所述内存储器和/或外存储器中的;所述目标时间窗的音频帧缓存在所述内存储器中。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述目标时间窗的视频帧是对拍摄到的原始视频帧进行特效处理后获得的;
其中,所述特效包括:美颜特效、滤镜特效、静态图层叠加以及动态图层叠加中的一项或多项。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述将所述视频文件链接至所述静态照片的尾部,以生成动态照片,包括:
将所述视频文件的起始地址以及用于指示照片类型为动态照片的信息写入所述静态照片尾部的Exif信息,以生成所述动态照片。
8.一种动态照片生成装置,其特征在于,包括:
第一获取模块,用于当快门键被触发时,获取相机拍摄得到的静态照片;
第二获取模块,用于根据所述快门键的触发时刻,获取目标时间窗的视频帧和音频帧;其中,所述目标时间窗的视频帧是从显示芯片GPU获取的;所述目标时间窗的音频帧是从音频采集单元获取的;
编码模块,用于合并所述目标时间窗内的视频帧和音频帧,生成视频文件;
动态照片生成模块,用于将所述视频文件链接至所述静态照片的尾部,以生成动态照片。
9.一种电子设备,其特征在于,包括:存储器、处理器以及计算机程序指令;
所述存储器被配置为存储所述计算机程序指令;
所述处理器被配置为执行所述计算机程序指令,当所述处理器执行所述计算机程序指令时,以执行如权利要求1至7任一项所述的方法。
10.一种可读存储介质,其特征在于,包括:计算机程序指令;
所述计算机程序指令,被电子设备的至少一个处理器执行时,以执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110287240.4A CN113077532A (zh) | 2021-03-17 | 2021-03-17 | 动态照片生成方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110287240.4A CN113077532A (zh) | 2021-03-17 | 2021-03-17 | 动态照片生成方法、装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113077532A true CN113077532A (zh) | 2021-07-06 |
Family
ID=76612783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110287240.4A Pending CN113077532A (zh) | 2021-03-17 | 2021-03-17 | 动态照片生成方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113077532A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098442A (zh) * | 2022-07-25 | 2022-09-23 | 润芯微科技(江苏)有限公司 | 一种智能汽车动态照片生成转换解析方法及其系统 |
WO2024000352A1 (en) * | 2022-06-30 | 2024-01-04 | Intel Corporation | Methods and apparatus to improve camera image quality |
CN117714816A (zh) * | 2023-05-24 | 2024-03-15 | 荣耀终端有限公司 | 电子设备及其多媒体数据生成方法 |
CN117714845A (zh) * | 2023-05-24 | 2024-03-15 | 荣耀终端有限公司 | 电子设备及其拍摄方法 |
-
2021
- 2021-03-17 CN CN202110287240.4A patent/CN113077532A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024000352A1 (en) * | 2022-06-30 | 2024-01-04 | Intel Corporation | Methods and apparatus to improve camera image quality |
CN115098442A (zh) * | 2022-07-25 | 2022-09-23 | 润芯微科技(江苏)有限公司 | 一种智能汽车动态照片生成转换解析方法及其系统 |
CN117714816A (zh) * | 2023-05-24 | 2024-03-15 | 荣耀终端有限公司 | 电子设备及其多媒体数据生成方法 |
CN117714845A (zh) * | 2023-05-24 | 2024-03-15 | 荣耀终端有限公司 | 电子设备及其拍摄方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113077532A (zh) | 动态照片生成方法、装置及可读存储介质 | |
TWI510085B (zh) | 視訊及多張靜態影像平行產生方法以及使用此方法的裝置 | |
CN115002340B (zh) | 一种视频处理方法和电子设备 | |
JP2010011289A (ja) | 撮像装置及びプログラム | |
CN104125388B (zh) | 一种拍摄并存储相片的方法和装置 | |
KR100902419B1 (ko) | 캡쳐 영상을 시간 지연 없이 표시할 수 있는 영상 처리장치, 방법 및 상기 방법을 프로그램화하여 수록한컴퓨터로 읽을 수 있는 기록매체 | |
CN107360369B (zh) | 摄像装置及摄像装置的拍照方法、计算机可读存储介质 | |
JP5783737B2 (ja) | 撮像装置および動画記録装置の制御方法 | |
CN106485653B (zh) | 用户终端及全景图片动态缩略图的生成方法 | |
WO2023035921A1 (zh) | 一种录像中抓拍图像的方法及电子设备 | |
JP2018535572A (ja) | カメラプレビュー | |
KR20100077940A (ko) | 디지털 이미지 처리 장치 및 방법 | |
CN111432121A (zh) | 生成方法、电子装置和存储介质 | |
CN110913118B (zh) | 视频处理方法、装置及存储介质 | |
US9197815B2 (en) | Image management apparatus and image management method | |
JP2014096654A (ja) | 撮像装置及びプログラム | |
JP2013118518A (ja) | 撮像装置 | |
JP2015023317A5 (ja) | 画像管理装置及び画像管理方法、プログラム、並びに記憶媒体 | |
US11961539B2 (en) | Methods and apparatus for enabling playback of content during an ongoing capture | |
JP6282136B2 (ja) | 撮像装置及びその制御方法 | |
KR100827142B1 (ko) | 휴대단말기에서 영상 데이터 추출을 위한 장치 및 방법 | |
JP5486233B2 (ja) | 撮像装置及びその制御方法 | |
KR100902421B1 (ko) | 캡쳐 영상을 시간 지연 없이 표시할 수 있는 영상 처리장치, 방법 및 상기 방법을 프로그램화하여 수록한컴퓨터로 읽을 수 있는 기록매체 | |
JP7003286B2 (ja) | 撮影装置、撮影方法、及びプログラム | |
KR20170028593A (ko) | 움직이는 영상 생성방법 및 생성프로그램 |
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 |