一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视频流存储的优化方法、装置、介质及电子设备与流程

2022-04-09 10:13:05 来源:中国专利 TAG:


1.本发明涉及计算机图形学技术领域,具体为一种视频流存储的优化方法、装置、介质及电子设备。


背景技术:

2.在现有技术的游戏或三维动画中,动画文件是按照fbx类型存储,fbx导入通道支持动画,使用者可通过简单工作流从3d软件将骨架网格体动画导入虚幻引擎以便在游戏中使用,当前单个文件中只能导入/导出每个骨架网格体的单一动画。为提高玩家创作的积极性,可将已完成的动画视频做区块链存储,区块链需要明文存储以符合所有人可以修改的状态,但fbx类型文件在进行修改创作的过程中需解码不便进行区块链存储,亟待制定预定文件格式的标准以满足区块链存储的要求,放在区块链中进行修改存储,提高玩家创作的积极性。


技术实现要素:

3.针对现有技术的不足,本发明提供了一种视频流存储的优化方法、装置、介质及电子设备,解决了现有动画文件格式存储过程中需要解码、不便存储的问题。
4.为实现以上目的,本发明通过以下技术方案予以实现:
5.第一方面,本发明实施例提供一种视频流存储的优化方法,包括
6.建立第一基础存储区域及第二基础存储区域;
7.获取预定格式的当前动画视频流;根据当前动画视频流形成与当前动画视频流匹配的第一类数据和第二类数据;
8.于所述第一基础存储区域保存所述第一类数据,于所述第二基础存储区域保存所述第二类数据。
9.较佳地,其中所述第二存储区域至少包括动作存储单元和时间存储单元。
10.较佳地,根据当前动画视频流形成与当前动画视频流匹配的第一类数据和第二类数据具体包括:
11.获取预定格式的当前动画视频流,读取当前动画视频流中的每一帧图像数据;
12.根据第0帧图像数据形成所述第一类数据,其中第0帧图像数据为所述动画视频流的初始状态数据;
13.根据第1帧图像数据至第n帧图像数据形成所述第二类数据,其中第n帧图像数据为所述动画视频流的结束状态数据。
14.较佳地,于所述第一基础存储区域保存所述第一类数据,于所述第二基础存储区域保存所述第二类数据具体包括:
15.于所述第一基础存储区域保存所述第一类数据;
16.读取第二类数据中的时间参数和动作参数;于所述第二基础存储区域中的动作存储单元保存每一帧图像动作参数,于所述第二基础存储区域中的时间存储单元保存每一帧
图像时间参数。
17.较佳地,还包括:
18.读取所述每一帧图像的动作参数,比较当前帧图像的动作参数与上一帧图像的动作参数;
19.于当前帧图像的动作参数与上一帧图像的动作参数相同的状态下,删除当前帧图像的动作参数和当前帧的时间参数;
20.于当前帧图像的动作参数与上一帧图像的动作参数不相同的状态下,保存当前帧图像的动作参数和当前帧的时间参数。
21.较佳地,所述图像动作参数形成包括,
22.读取当前动画视频流的预制对象实现预定动作时预定部件的实时动作曲线;
23.实时动作曲线通过至少旋转、位移、缩放中的一个作用下形成当前帧图像的动作参数。
24.第二方面,本发明实施例提供一种视频流存储的优化装置,包括,
25.存储区域建立单元,用于建立第一基础存储区域及第二基础存储区域;
26.获取单元,用于获取预定格式的当前动画视频流;根据当前动画视频流形成与当前动画视频流匹配的第一类数据和第二类数据;
27.数据存储单元,用以于所述第一基础存储区域保存所述第一类数据,于所述第二基础存储区域保存所述第二类数据。
28.较佳地,所述获取单元包括,
29.读取单元,用于获取预定格式的当前动画视频流,读取当前动画视频流中的每一帧图像数据;
30.初始数据获取单元,用于根据第0帧图像数据形成所述第一类数据,其中第0帧图像数据为所述动画视频流的初始状态数据;
31.过程数据获取单元,用于根据第1帧图像数据至第n帧图像数据形成所述第二类数据,其中第n帧图像数据为所述动画视频流的结束状态数据。
32.第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的视频流存储的优化方法。
33.第四方面,本发明实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的电子设备中的视频流存储的优化方法。
34.本发明具备以下有益效果:
35.通过获取当前动画视频流的第0帧图像数据形成所述第一类数据及第1帧图像数据至第n帧图像数据形成所述第二类数据,第一类数据及第二类数据为每个骨骼在每一帧的状态的动作参数及时间参数,保留关键帧骨骼动作数据的,可减少当前动画数据的存储空间,存储过程无需解码,便于在区块链上进行存储;
36.由于gpu处理器可以处理多个简单运算任务,gpu处理器在读取第一类数据和第二类数据时,gpu处理器能够快速处理并显示,相对于cpu计算而言大大提高运算速度。本发明中第一类数据和第二类数据均采用明文方式存储,不同玩家可对获取的第一类数据及第二类数据进行二次创作,激发玩家的创造性,便于存储及玩家的二次创作。
附图说明
37.图1为本发明实施例一提供的一种视频流存储的优化方法流程图;
38.图2为本发明实施例一提供的一种视频流存储的优化方法流程图;
39.图3为本发明实施例一提供的一种视频流存储的优化方法流程图;
40.图4为本发明实施例一提供的第一基础存储区域示意图;
41.图5为本发明实施例一提供的第二基础存储区域示意图;
42.图6为本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.实施例一
45.本实施例提供一种视频流存储的优化方法,图1为本实施例提供的一种视频流存储的优化方法的流程图,具体步骤为,
46.s110、建立第一基础存储区域及第二基础存储区域;
47.具体地,建立第一基础存储区域、第二基础存储区域,例如第一基础存储区域为基础skinpose表,第二基础存储区域为mihoyott表,基础skinpose表用来记录骨骼父子关系;示意性地,手臂由三个骨骼形成,第一骨骼是第二骨骼的父骨骼,第二骨骼是第一骨骼的子骨骼,第二骨骼同时是第三骨骼的父骨骼,第三骨骼是第二骨骼的子骨骼,父骨骼的运动带动子骨骼运动,子骨骼的运动不带动父骨骼的运动。
48.s120、获取预定格式的当前动画视频流;根据当前动画视频流形成与当前动画视频流匹配的第一类数据和第二类数据;
49.具体地,获取预定格式的当前动画视频流,动画文件在保存过程中为mhytt形式存储,当玩家对某个确定的动画视频感兴趣时可直接读取mhytt的动画视频流。
50.s1201、读取当前动画视频流中的每一帧图像数据;例如当前动画视频流中一共包含有n 1个图像帧,则分配获取第0帧图像数据
……
第n帧图像数据;
51.s1202、根据第0帧图像数据形成所述第一类数据,其中第0帧图像数据为所述动画视频流的初始状态数据;第一类数据为初始状态下动画骨骼所有动画数据信息,包括至少位置值、旋转值及缩放值,或者曲柄值中的一个,例如可莉初始时头部骨骼、腿部骨骼及手部骨骼初始状态位置值、旋转值及缩放值或者曲柄值,需要说明的是,此处的头部骨骼、腿部骨骼及手部骨骼应理解为包含由骨骼关系的群组骨骼,例如手部骨骼包含有手掌骨骼、大拇指骨骼、食指骨骼、中指骨骼、无名指骨骼和小指骨骼,手掌骨骼、大拇指骨骼、食指骨骼、中指骨骼、无名指骨骼和小指骨骼之间的关系通过skinpose表存储,手掌骨骼、大拇指骨骼、食指骨骼、中指骨骼、无名指骨骼和小指骨骼的状态参数(例如旋转、位移、缩放、曲柄关系)通过mhytt表存储。
52.s1203、根据第1帧图像数据至第n帧图像数据形成所述第二类数据,其中第n帧图像数据为所述动画视频流的结束状态数据,第二类数据为从第1帧到第n帧的骨骼动画数据
信息,例如不同图像帧中各个骨骼的旋转值、位移值、缩放值及曲柄值;可莉行走时,通过每个骨骼的旋转,位移,缩放,曲柄参数形成可莉行走状态下的动作曲线。
53.s12031、从第1帧图像数据开始,根据第1帧图像数据至第n帧图像数据形成所述每一帧图像数据中动作参数,比较当前帧图像数据中的动作参数与上一帧图像数据中的动作参数;在此状态下判断相邻两帧对应的图像动作参数是否一致所述动作参数至少包含旋转、和/或位移、和/或缩放、和/或曲柄参数。
54.示意性地,由于动作曲线通过旋转、和/或位移、和/或缩放、和/或曲柄参数形成,读取当前动画视频流的预制对象(或根据第1帧图像数据至第n帧图像数据形成)中骨骼的动作曲线;根据所述动作曲线即可获取到旋转、和/或位移、和/或缩放、和/或曲柄参数。
55.s12032、于当前帧图像的动作参数与上一帧图像的动作参数全部相同的状态下,删除当前帧图像的动作参数和当前帧的时间参数;
56.s12033、于当前帧图像的动作参数与上一帧图像的动作参数不全部相同的状态下,保存当前帧图像的动作参数和当前帧的时间参数,根据被保存的数据形成所述第二类数据。
57.需要说明的是,当前帧图像的动作参数与上一帧图像的动作参数部分相同,部分不相同,则认定当前帧图像动作参数与上一帧图像动作参数不相同。
58.例如获取31帧及32帧对应帧的相匹配的可莉运动时的各个部位的旋转值、位移值、缩放值及曲柄值,对比32帧状态下对应的可莉运动时的各个部位的旋转值、位移值、缩放值及曲柄值与31帧状态下对应的可莉运动时的各个部位的旋转值、位移值、缩放值及曲柄值是否相同,如动作参数完全相同(即旋转值、位移值、缩放值及曲柄值都相同),则删除32帧状态下对应保存的可莉运动时的各个部位的旋转值、位移值、缩放值及曲柄值,保存31帧对应的帧相对应的可莉运动时的各个部位的旋转值、位移值、缩放值及曲柄值;如动作参数不相同(即旋转值、位移值、缩放值及曲柄值中有至少一个值不相同),则保存31帧及32帧对应的帧相匹配的动作参数。此过程可保留可莉行走时(包括头部、双手、双腿等)关键帧。根据关键帧拟合出三次曲线及误差设置,系统会自动在误差允许内使用线性拟合乃至保留离散的关键帧,所以可保证可莉在行走时所呈现的动画流畅性,还能达到动画压缩的效果。
59.在旋转值、位移值、缩放值及曲柄值中有至少一个值不相同时,可以将相同参数值所对应的记录删除,而保留不同参数值部分,例如当前帧图像的动作参数与上一帧图像的动作参数中旋转值、位移值相同,缩放值及曲柄值不相同,此时当前帧图像的动作参数中旋转值、位移值可以不记录,或者记录null,缩放值及曲柄值需要记录。
60.s130、于所述第一基础存储区域保存所述第一类数据,于所述第二基础存储区域保存所述第二类数据。
61.列举一具体实施方式,如图4所示,基础skinpose表用来记录骨骼父子关系,进一步地,基础skinpose表还可可以记录有第0帧图像中所有骨骼初始信息;如图5所示,mihoyott表用来记录真正的动画数据,只记录有骨骼变化的帧中骨骼的动作参数和时间的动画数据(时间信息可为帧位置信息),null代表该骨骼在当前帧数没有动态变化数据。
62.通过获取当前动画视频流的第一类数据对应的初始动作参数和第二类数据对应的不同时刻帧相匹配的预制对象完成预定动作时不同部件的动作参数及时间参数,例如可莉行走时的不同帧状态下对应的各个骨骼的旋转值、位移值、缩放值及曲柄值,存储骨骼之
间的父子关系以及骨骼的动作参数。
63.由于gpu处理器可以处理多个简单运算任务,gpu处理器在读取第一类数据和第二类数据时,gpu处理器能够快速处理并显示,相对于cpu计算而言大大提高运算速度。另外本技术中,第一类数据和第二类数据均采用明文方式存储,不同玩家可对获取的第一类数据及第二类数据进行二次创作,激发玩家的创造性,便于存储及玩家的二次创作。
64.示意性的,在dcc软件中制作动画文件,将所述制作动画文件保存为保存为mhy文件,在渲染引擎系统中读取mhytt文件,则渲染引擎中可以显示与动画文件匹配的动作或者动画视频流。
65.本实施例中,动画文件在保存过程中为mhytt文件形式存储,当玩家对某个确定的动画视频感兴趣时可直接读取mhytt文件的动画视频流。
66.需要说明的是,上述实施方式中,相较于现有技术虽然优化了存储方式,但是还存在冗余的存储与计算,例如图5中3f中bone_root对应的存储记录为null,该存储区域存储信息为多余信息,在视频流处理过程中该信息仍需要被读取,但不做处理,造成算力和存储空间的部分浪费。
67.实施例二
68.本发明实施例提供的一种视频流存储的优化装置,该装置具体包括:
69.存储区域建立单元,用于建立第一基础存储区域、第二基础存储区域;
70.获取单元,用于获取预定格式的当前动画视频流;根据当前动画视频流形成与当前动画视频流匹配的第一类数据和第二类数据;
71.数据存储单元,用以于所述第一基础存储区域保存所述第一类数据,于所述第二基础存储区域保存所述第二类数据。
72.在一种较佳的实施方式中,所述获取单元包括,
73.读取单元,用于获取预定格式的当前动画视频流,读取当前动画视频流中的每一帧图像数据;
74.初始数据获取单元,用于根据第0帧图像数据形成所述第一类数据,其中第0帧图像数据为所述动画视频流的初始状态数据;
75.过程数据获取单元,用于根据第1帧图像数据至第n帧图像数据形成所述第二类数据,其中第n帧图像数据为所述动画视频流的结束状态数据。
76.本实施例的工作原理和实施例一相同,故不一一赘述。
77.实施例三
78.本技术实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行:
79.建立第一基础存储区域、第二基础存储区域;
80.获取预定格式的当前动画视频流;根据当前动画视频流形成与当前动画视频流匹配的第一类数据和第二类数据;
81.于所述第一基础存储区域保存所述第一类数据,于所述第二基础存储区域保存所述第二类数据。
82.获取预定格式的当前动画视频流,读取当前动画视频流中的每一帧图像数据;
83.根据第0帧图像数据形成所述第一类数据,其中第0帧图像数据为所述动画视频流
的初始状态数据;
84.根据第1帧图像数据至第n帧图像数据形成所述第二类数据,其中第n帧图像数据为所述动画视频流的结束状态数据。
85.存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddr ram、sram、edo ram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
86.当然,本技术实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的视频流存储的优化方法,还可以执行本技术任意实施例所提供的视频流存储的优化方法中的相关操作。
87.实施例四
88.本技术实施例提供了一种电子设备,该电子设备中可集成本技术实施例提供的视频流存储的优化装置。图6是本技术实施例四提供的一种电子设备的结构示意图。如图6所示,本实施例提供了一种电子设备400,其包括:一个或多个处理器420;存储装置410,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器420运行,使得所述一个或多个处理器420实现:
89.建立第一基础存储区域、第二基础存储区域;
90.获取预定格式的当前动画视频流;根据当前动画视频流形成与当前动画视频流匹配的第一类数据和第二类数据;
91.于所述第一基础存储区域保存所述第一类数据,于所述第二基础存储区域保存所述第二类数据。
92.获取预定格式的当前动画视频流,读取当前动画视频流中的每一帧图像数据;
93.根据第0帧图像数据形成所述第一类数据,其中第0帧图像数据为所述动画视频流的初始状态数据;
94.根据第1帧图像数据至第n帧图像数据形成所述第二类数据,其中第n帧图像数据为所述动画视频流的结束状态数据。
95.如图6所示,该电子设备400包括处理器420、存储装置410、输入装置430和输出装置440;电子设备中处理器420的数量可以是一个或多个,图6中以一个处理器420为例;电子设备中的处理器420、存储装置410、输入装置430和输出装置440可以通过总线或其他方式连接,图6中以通过总线450连接为例。
96.存储装置410作为一种计算机可读存储介质,可用于存储软件程序、计算机可运行程序以及模块单元,如本技术实施例中的视频流存储的优化方法对应的程序指令。
97.存储装置410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。
此外,存储装置410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
98.输入装置430可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏、扬声器等设备。
99.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献