CN115086757B - 一种历史剪辑操作的回撤方法、装置、设备及存储介质 - Google Patents
一种历史剪辑操作的回撤方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115086757B CN115086757B CN202110269052.9A CN202110269052A CN115086757B CN 115086757 B CN115086757 B CN 115086757B CN 202110269052 A CN202110269052 A CN 202110269052A CN 115086757 B CN115086757 B CN 115086757B
- Authority
- CN
- China
- Prior art keywords
- tree structure
- nodes
- history
- target
- clipping operation
- 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 47
- 230000008859 change Effects 0.000 claims description 46
- 239000000463 material Substances 0.000 claims description 32
- 238000013507 mapping Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 10
- 244000208734 Pisonia aculeata Species 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
Abstract
本公开提供了一种历史剪辑操作的回撤方法、装置、设备及存储介质,该方法包括:当接收到针对目标历史剪辑操作的回撤请求时,确定目标历史剪辑操作对应的树结构对象;其中,树结构对象包括基于目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构;基于树结构对象,在当前剪辑界面上恢复对目标历史剪辑操作对应的历史剪辑界面的展示。本公开实施例通过目标历史剪辑操作对应的树结构对象,能够高效回撤至对任一目标历史剪辑操作对应的历史剪辑界面的展示,而不需要一步一步的逐步回撤,有效提高了多步回撤的回撤效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种历史剪辑操作的回撤方法、装置、设备及存储介质。
背景技术
音视频剪辑软件通常支持丰富多样的操作,比如:在某段时间中插入视频、音频和滤镜效果,对音视频进行裁剪,对视频进行旋转等操作。在音视频剪辑软件的设计中,定义有记录用户剪辑操作的节点,一个剪辑操作对应一个节点。
市场上流行的音视频剪辑软件大部分支持历史操作记录的功能,历史操作记录能够支持用户回撤或重做,以回到历史操作中某一节点的状态。由于各个节点之间是链式结构,从而在音视频剪辑过程中,当用户多步回撤时,需要依次回撤各个节点。例如,用户从当前的节点9回撤到相隔多步历史操作的节点1时,需要遍历所有中间的节点,即先回撤节点9,再回撤节点8,再回撤节点7,……,以此类推,直至回撤到节点1。
显然,上述逐步回撤节点的方式回撤效率低下。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种历史剪辑操作的回撤方法、装置、设备及存储介质,能够高效回撤至对任一目标历史剪辑操作对应的历史剪辑界面的展示,有效提高多步回撤的回撤效率。
第一方面,本公开提供了一种历史剪辑操作的回撤方法,所述方法包括:
当接收到针对目标历史剪辑操作的回撤请求时,确定所述目标历史剪辑操作对应的树结构对象;其中,所述树结构对象包括基于所述目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构;
基于所述树结构对象,在当前剪辑界面上恢复对所述目标历史剪辑操作对应的历史剪辑界面的展示。
一种可选的实施方式中,所述树结构对象包括至少4个层级数据结构,所述至少4个层级数据结构包括顶级数据结构、二级数据结构、三级数据结构和四级数据结构;
其中,所述顶级数据结构中的节点用于存储所述目标历史剪辑操作对应的历史剪辑界面的标识信息;
所述二级数据结构中的节点与所述历史剪辑界面中的素材轨道具有映射关系,所述二级数据结构中的节点用于存储与所述节点具有映射关系的素材轨道的显示层级,所述二级数据结构中的节点与所述三级数据结构中的节点具有对应关系;
所述三级数据结构中的节点用于存储与所述节点具有对应关系的二级数据结构中的节点对应的素材轨道上的素材对象在时间轴上的位置信息;所述三级数据结构中的节点与所述四级数据结构中的节点具有对应关系;所述四级数据结构中的节点与所述素材对象具有映射关系;
所述四级数据结构中的节点用于存储与所述节点具有映射关系的素材对象的信息;所述信息至少包括来源信息和剪辑状态信息。
一种可选的实施方式中,所述当接收到针对目标历史剪辑操作的回撤请求时,确定所述目标历史剪辑操作对应的树结构对象之前,还包括:
当接收到针对目标剪辑操作的提交请求时,基于所述目标剪辑操作对应的剪辑界面上的剪辑时间轴描述数据构建树结构,得到所述目标剪辑操作对应的树结构对象;
存储所述树结构对象,以及所述树结构对象与所述目标剪辑操作的对应关系;其中,所述目标剪辑操作为用于确定所述目标历史剪辑操作的可选剪辑操作。
一种可选的实施方式中,所述当接收到针对目标历史剪辑操作的回撤请求时,确定所述目标历史剪辑操作对应的树结构对象之前,还包括:
当接收到针对目标剪辑操作的提交请求时,确定最近一次的历史剪辑操作对应的树结构对象;
从所述树结构对象中,确定与所述目标剪辑操作对应的节点,作为变更节点;
建立并存储与所述变更节点具有映射关系的增量节点,得到所述目标剪辑操作对应的树结构对象;其中,所述增量节点继承有所述变更节点的依赖关系,所述增量节点用于存储基于所述目标剪辑操作更新后的所述变更节点中的存储信息。
一种可选的实施方式中,所述从所述树结构对象中,确定与所述目标剪辑操作对应的节点,作为变更节点,包括:
基于所述目标剪辑操作,对所述树结构对象中存在更新的节点进行标记,得到标记节点;
将直接依赖或间接依赖所述标记节点的节点,以及所述标记节点,确定为所述目标剪辑操作对应的变更节点。
一种可选的实施方式中,所述从所述树结构对象中,确定与所述目标剪辑操作对应的节点,作为变更节点之前,还包括:
基于所述目标剪辑操作对应的剪辑界面上的剪辑时间轴描述数据生成树结构对象,作为待比较树结构对象;
将所述待比较树结构对象与所述最近一次的历史剪辑操作对应的树结构对象中对应位置的节点的哈希值进行比较;
相应的,所述从所述树结构对象中,确定与所述目标剪辑操作对应的节点,作为变更节点,包括:
将所述最近一次的历史剪辑操作对应的树结构对象中的哈希值比较结果为不相等的节点,确定为变更节点。
一种可选的实施方式中,所述建立并存储与所述变更节点具有映射关系的增量节点,得到所述目标剪辑操作对应的树结构对象之前,还包括:
将所述最近一次的历史剪辑操作对应的树结构对象中的节点与所述待比较树结构对象中的节点依次进行匹配,确定所述待比较树结构对象中的新增节点;
将所述新增节点确定为变更节点。
第二方面,本公开提供了一种历史剪辑操作的回撤装置,所述装置包括:
确定模块,用于当接收到针对目标历史剪辑操作的回撤请求时,确定所述目标历史剪辑操作对应的树结构对象;其中,所述树结构对象包括基于所述目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构;
恢复模块,用于基于所述树结构对象,在当前剪辑界面上恢复对所述目标历史剪辑操作对应的历史剪辑界面的展示。
第三方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
第四方面,本公开提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供了一种历史剪辑操作的回撤方法,当接收到针对目标历史剪辑操作的回撤请求时,首先确定目标历史剪辑操作对应的树结构对象;其中,树结构对象包括基于目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构;然后基于树结构对象,在当前剪辑界面上恢复对目标历史剪辑操作对应的历史剪辑界面的展示。本公开实施例确定的树结构对象,是基于目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构,从而在当前剪辑界面上能够高效回撤至对任一目标历史剪辑操作对应的历史剪辑界面的展示,而不需要一步一步的逐步回撤,有效提高了多步回撤的回撤效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种剪辑操作与节点的对应关系示意图;
图2为本公开实施例提供的一种历史剪辑操作的回撤方法的流程图;
图3为本公开实施例提供的一种树结构对象的示意图;
图4为本公开实施例提供的UI层展示的示意图;
图5为本公开实施例提供的另一种树结构对象的示意图;
图6为本公开实施例提供的一种具有增量节点的树结构对象的示意图;
图7为本公开实施例提供的一种历史剪辑操作的回撤装置结构示意图;
图8为本公开实施例提供的一种设备结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
如图1所示,在音视频剪辑软件的定义中,一个节点记录用户的一个剪辑操作,多个节点在计算机内存中呈线性数据结构(也称链式结构)保存。由于各个节点之间是链式结构,从而当用户多步回撤时,需要依次回撤各个节点。当前这种逐步回撤节点的方式逻辑复杂、回撤效率低下,且只要其中一个节点出错,整个回撤就会出现异常。为此,如何高效地回撤到任何指定历史操作,或者说如何直接回撤到任何指定的历史操作,是目前需要解决的一个技术问题。
此外,按照现有节点的定义,是将每一次剪辑操作涉及的数据参数作为一个节点存储起来。假设有如下两步剪辑操作,操作1:用户在时间段(0秒~10秒)中添加了一个视频(网络地址为:https://www.bytedance.net/video.mp4),同时对视频进行旋转90度;操作2:用户在时间段(5秒~8秒)中添加了一个音频(网络地址为:https://www.bytedance.net/audio.wav),同时调整音量为原始的50%。相应地,通过编排将每一次剪辑操作对应的数据记录成一个节点,分别为节点1:[Action=AddVideo,TimeStart=0,TimeEnd=10,Url=https://www.bytedance.net/video.mp4,Rotation=90],和节点2:[Action=AddAudio,TimeStart=5,TimeEnd=8,Url=https://www.bytedance.net/audio.wav,Volumne=50%]。
一方面,随着软件产品功能迭代,剪辑操作的类型会越来越多,于是需要不停地设计新的操作节点类型。另一方面,在批量操作的场景下,用于保存剪辑操作的节点数据结构会很复杂;批量操作携带的参数是不可预知的,数量可能非常少或可能非常多,这样节点设计起来会非常复杂,不好维护。由此可见,目前在音视频编辑的应用中,还存在着节点数据结构复杂、种类多,不可复用、难以维护等缺陷。
基于此,为了改善上述问题至少之一,本公开实施例提供了一种历史剪辑操作的回撤方法。参考图2,为本公开实施例提供的一种历史剪辑操作的回撤方法的流程图,该方法包括:
步骤S201、当接收到针对目标历史剪辑操作的回撤请求时,确定目标历史剪辑操作对应的树结构对象。其中,树结构对象包括基于目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构。
参照图3展示的树结构对象的示意图,树结构对象包括至少4个层级数据结构,至少4个层级数据结构包括顶级数据结构、二级数据结构、三级数据结构和四级数据结构。每层数据结构均包括至少一个节点,顶级数据结构中的节点命名为NLEModel,二级数据结构中的节点命名为NLETrack,三级数据结构中的节点命名为NLETrackSlot,四级数据结构中的节点命名为NLESegment。
其中,顶级数据结构中的节点用于存储目标历史剪辑操作对应的历史剪辑界面的标识信息。NLEModel节点是一种容器,如图3中最外层的实线框所示,它可以包含至少一个NLETrack节点(图3中示意出了四个NLETrack节点)。具体的,NLEModel节点存储的历史剪辑界面的标识信息可以为当前正在剪辑的完整音视频的时间轴。
二级数据结构中的节点与历史剪辑界面中的素材轨道具有映射关系,二级数据结构中的节点用于存储与节点具有映射关系的素材轨道的显示层级,二级数据结构中的节点与三级数据结构中的节点具有对应关系。具体的,NLETrack节点也是一种容器,如图3中各个横行的虚线框所示,它可以包含至少一个NLETrackSlot节点。一个NLETrack节点用于存储一个素材轨道的显示层级。
三级数据结构中的节点用于存储与节点具有对应关系的二级数据结构中的节点对应的素材轨道上的素材对象在时间轴上的位置信息;三级数据结构中的节点与四级数据结构中的节点具有对应关系;四级数据结构中的节点与素材对象具有映射关系。具体的,NLETrackSlot节点是一种容器,如图3中NLETrack节点内部的实线框所示。一个NLETrack节点用于存储一个素材对象在时间轴上的位置信息,上述素材对象诸如文字、贴纸、滤镜和音频等。以贴纸为例,NLETrack节点C1可以存储NLETrack节点A1对应的素材轨道上贴纸在时间轴上占有的5~8秒这一位置信息。
四级数据结构中的节点用于存储与节点具有映射关系的素材对象的信息;信息至少包括来源信息和剪辑状态信息,如:记录了音视频、滤镜、特效等素材对象的文件路径或网络地址,素材对象的类型,素材对象的剪裁时间、快慢速等裁剪信息、素材对象的旋转角度等;裁剪信息包括裁剪时间。
在上述的数据结构对象中,各个层级数据结构中的节点之间的数据结构为树结构,即:NLEModel节点中包含至少一个NLETrack节点,NLETrack节点中包含至少一个NLETrackSlot节点,NLETrackSlot节点中包含至少一个NLESegment节点。通过本实施例中包括至少4个层级数据结构的数据结构对象,来存储目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据,能够不再需要为各式各样组合的剪辑操作、批量剪辑操作提供大量的节点数据结构,从而避免了维护大量数据结构带来的工作量。
步骤S202、基于树结构对象,在当前剪辑界面上恢复对目标历史剪辑操作对应的历史剪辑界面的展示。
在本实施例中,由于树结构对象是基于每一步历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的全量的树结构,消除了前后剪辑操作之间的关联性,从而基于树结构对象,可以在当前剪辑界面上高效地回撤到任一目标历史剪辑操作对应的历史剪辑界面的展示,而不需要一步一步的逐步回撤。
本公开实施例提供的历史剪辑操作的回撤方法,当接收到针对目标历史剪辑操作的回撤请求时,首先确定目标历史剪辑操作对应的树结构对象;其中,树结构对象包括基于目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构;然后基于树结构对象,在当前剪辑界面上恢复对目标历史剪辑操作对应的历史剪辑界面的展示。本公开实施例确定的树结构对象,是基于目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构,从而在当前剪辑界面上能够高效回撤至对任一目标历史剪辑操作对应的历史剪辑界面的展示,而不需要一步一步的逐步回撤,有效提高了多步回撤的回撤效率。
在一种可选的实施方式中,在确定目标历史剪辑操作对应的树结构对象之前,可以包括:当接收到针对目标剪辑操作的提交请求时,基于目标剪辑操作对应的剪辑界面上的剪辑时间轴描述数据构建树结构,得到目标剪辑操作对应的树结构对象;存储树结构对象,以及树结构对象与目标剪辑操作的对应关系。
其中,目标剪辑操作为用于确定目标历史剪辑操作的可选剪辑操作。目标剪辑操作可以为多个剪辑操作,比如包括剪辑操作1至剪辑操作4,相应的,目标历史剪辑操作可以从剪辑操作1至剪辑操作4中选取;目标剪辑操作对应的剪辑界面为最近的一个剪辑操作(即剪辑操作4)对应的剪辑界面。
参照图4,UI(User Interface,用户界面)层持有的NLEModel节点在工作读写区。在工作读写区接收到针对目标剪辑操作的提交请求时,获取提交请求中携带的目标剪辑操作对应的剪辑界面上的剪辑时间轴描述数据,并在内存只读区会生成剪辑时间轴描述数据的快照;且一次提交请求对应一份快照。目标剪辑操作包括多个剪辑操作,相应的提交请求为多次,多次提交请求对应的多份快照组成历史操作队列,每份快照都是一棵包括当前剪辑操作对应的剪辑时间轴描述数据的独立完整的树结构对象。可以看出,树结构对象存储的是最近一次剪辑操作之后剪辑界面上全量的剪辑时间轴描述数据,而且,各个树结构对象与目标剪辑操作中的各个剪辑操作之间具有一一对应关系。
在上述实施例中,每个剪辑操作都对应一个完整的树结构对象,也即目标剪辑操作对应的树结构对象采用全量方式存储剪辑时间轴描述数据。为了便于理解上述实施例中的树结构对象,可参照图5所示的一种具体的树结构对象的示意图,顶级数据结构中的节点为:NLEModel#A0,NLEModel#A0包含的二级数据结构中的节点为:NLETrack#B0、NLETrack#C0,NLETrack#B0包含的三级数据结构中的节点包括NLETrackSlot#D0、NLETrackSlot#E0、NLETrackSlot#F0……,不再一一列举。需要说明的是,图5采用数字(如上述“0”)表示节点的版本。
显然,目标剪辑操作对应的树结构对象采用全量方式存储剪辑时间轴描述数据,将造成大量的数据冗余,存在较大的存储空间消耗,内存将不能得到高效的使用。例如,当树结构对象中的某一节点发生变更时,需要基于变更后的节点构建一棵新的完整的树结构对象,新构建的树结构对象与原树结构对象相比,其他未变更节点的数据是相同的,造成大量数据冗余。
基于上述考虑,在确定目标历史剪辑操作对应的树结构对象之前,还可以提供另一种可选的实施方式,参照如下步骤1至步骤3所示:
步骤1,当接收到针对目标剪辑操作的提交请求时,确定最近一次的历史剪辑操作对应的树结构对象,该数据结构对象可参照图5所示。
步骤2,从树结构对象中,确定与目标剪辑操作对应的节点,作为变更节点。在一种具体实施例中,可以参照如下方式确定变更节点:
首先,基于目标剪辑操作,对树结构对象中存在更新的节点进行标记,得到标记节点。假设用户的目标剪辑操作是针对存储素材对象的信息的NLESegment节点进行变更,比如对NLESegment#K0中存储的贴纸的旋转角度进行变更,则可以在变更时添加标记,以将NLESegment#K0标记为标记节点。或者,还可以通过判断两个节点之间的hash值是否发生变化,来确定树结构对象中存在更新的节点,并将该节点标记为标记节点。
然后,将直接依赖或间接依赖标记节点的节点,以及标记节点,确定为目标剪辑操作对应的变更节点。参照图5可以看出,直接依赖标记节点的节点包括:NLETrackSlot#G0,间接依赖标记节点的节点包括:NLETrack#C0和NLEModel#A0;从而,将节点NLETrackSlot#G0、NLETrack#C0和NLEModel#A0确定为目标剪辑操作对应的变更节点。
步骤3,建立并存储与变更节点具有映射关系的增量节点,得到目标剪辑操作对应的树结构对象;其中,增量节点继承有变更节点的依赖关系,增量节点用于存储基于目标剪辑操作更新后的变更节点中的存储信息。
当具体实施时,可以在确定变更节点后,刷新UI,触发重建解码器以建立并存储与变更节点具有映射关系的增量节点;其中,变更节点为多个,与变更节点具有映射关系的增量节点也为多个,形成一条变更链。如图6所示,增量节点分别为:NLETrackSlot#G1、NLETrack#C1和NLEModel#A1,上述增量节点继承有变更节点的依赖关系,以增量节点NLETrack#C1为例,NLETrack#C1的依赖关系与变更节点NLETrack#C0的依赖关系相同,即NLETrack#C1包含三级数据结构中的如下节点:NLETrackSlot#G0、NLETrackSlot#H0,且NLETrack#C1属于顶级数据结构中的节点NLEModel#A0。
在本实施例中,相比于历史剪辑操作对应的树结构对象,目标剪辑操作对应的树结构对象通过增量存储的方式增加了与变更节点具有映射关系的增量节点,并共享历史剪辑操作对应的树结构对象中未发生变更的节点,该方式能够大大降低了内存空间。
此外,在从树结构对象中,确定与目标剪辑操作对应的节点,作为变更节点之前,本实施例还包括:
基于目标剪辑操作对应的剪辑界面上的剪辑时间轴描述数据生成树结构对象,作为待比较树结构对象;将待比较树结构对象与最近一次的历史剪辑操作对应的树结构对象中对应位置的节点的哈希值进行比较。
相应的,从树结构对象中确定变更节点的方式可以为:将最近一次的历史剪辑操作对应的树结构对象中的哈希值比较结果为不相等的节点,确定为变更节点。
此外,变更节点还可以为新增节点,基于此,本实施例还可以包括:将最近一次的历史剪辑操作对应的树结构对象中的节点与待比较树结构对象中的节点依次进行匹配,确定待比较树结构对象中的新增节点;将新增节点确定为变更节点。
而后,再建立并存储与变更节点具有映射关系的增量节点,并得到目标剪辑操作对应的树结构对象。
综上,本公开实施例确定的树结构对象,是基于目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构,从而在当前剪辑界面上能够高效回撤至对任一目标历史剪辑操作对应的历史剪辑界面的展示,而不需要一步一步的逐步回撤,有效提高了多步回撤的回撤效率。
基于上述方法实施例,本公开还提供了一种历史剪辑操作的回撤装置,参考图7,为本公开实施例提供的一种历史剪辑操作的回撤装置结构示意图,装置包括:
确定模块701,用于当接收到针对目标历史剪辑操作的回撤请求时,确定目标历史剪辑操作对应的树结构对象;其中,树结构对象包括基于目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构;
恢复模块702,用于基于树结构对象,在当前剪辑界面上恢复对目标历史剪辑操作对应的历史剪辑界面的展示。
一种可选的实施方式中,树结构对象包括至少4个层级数据结构,至少4个层级数据结构包括顶级数据结构、二级数据结构、三级数据结构和四级数据结构;
其中,顶级数据结构中的节点用于存储目标历史剪辑操作对应的历史剪辑界面的标识信息;
二级数据结构中的节点与历史剪辑界面中的素材轨道具有映射关系,二级数据结构中的节点用于存储与节点具有映射关系的素材轨道的显示层级,二级数据结构中的节点与三级数据结构中的节点具有对应关系;
三级数据结构中的节点用于存储与节点具有对应关系的二级数据结构中的节点对应的素材轨道上的素材对象在时间轴上的位置信息;三级数据结构中的节点与四级数据结构中的节点具有对应关系;四级数据结构中的节点与素材对象具有映射关系;
四级数据结构中的节点用于存储与节点具有映射关系的素材对象的信息;信息至少包括来源信息和剪辑状态信息。
一种可选的实施方式中,上述装置还包括存储模块,该存储模块用于:
当接收到针对目标剪辑操作的提交请求时,基于目标剪辑操作对应的剪辑界面上的剪辑时间轴描述数据构建树结构,得到目标剪辑操作对应的树结构对象;
存储树结构对象,以及树结构对象与目标剪辑操作的对应关系;其中,目标剪辑操作为用于确定目标历史剪辑操作的可选剪辑操作。
一种可选的实施方式中,上述装置还包括新增模块,该新增模块用于:
当接收到针对目标剪辑操作的提交请求时,确定最近一次的历史剪辑操作对应的树结构对象;
从树结构对象中,确定与目标剪辑操作对应的节点,作为变更节点;
建立并存储与变更节点具有映射关系的增量节点,得到目标剪辑操作对应的树结构对象;其中,增量节点继承有变更节点的依赖关系,增量节点用于存储基于目标剪辑操作更新后的变更节点中的存储信息。
一种可选的实施方式中,上述新增模块具体用于:
基于目标剪辑操作,对树结构对象中存在更新的节点进行标记,得到标记节点;
将直接依赖或间接依赖标记节点的节点,以及标记节点,确定为目标剪辑操作对应的变更节点。
一种可选的实施方式中,上述装置还包括比较模块,该比较模块用于:
基于目标剪辑操作对应的剪辑界面上的剪辑时间轴描述数据生成树结构对象,作为待比较树结构对象;将待比较树结构对象与最近一次的历史剪辑操作对应的树结构对象中对应位置的节点的哈希值进行比较;
相应的,上述新增模块具体用于:将最近一次的历史剪辑操作对应的树结构对象中的哈希值比较结果为不相等的节点,确定为变更节点。
一种可选的实施方式中,上述新增模块还用于:将最近一次的历史剪辑操作对应的树结构对象中的节点与待比较树结构对象中的节点依次进行匹配,确定待比较树结构对象中的新增节点;
将新增节点确定为变更节点。
本公开实施例提供的历史剪辑操作的回撤装置,当接收到针对目标历史剪辑操作的回撤请求时,首先确定目标历史剪辑操作对应的树结构对象;其中,树结构对象包括基于目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构;然后基于树结构对象,在当前剪辑界面上恢复对目标历史剪辑操作对应的历史剪辑界面的展示。本公开实施例确定的树结构对象,是基于目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构,从而在当前剪辑界面上能够高效回撤至对任一目标历史剪辑操作对应的历史剪辑界面的展示,而不需要一步一步的逐步回撤,有效提高了多步回撤的回撤效率。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的历史剪辑操作的回撤方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开实施例所述的历史剪辑操作的回撤方法。
另外,本公开实施例还提供了一种历史剪辑操作的回撤设备,参见图8所示,可以包括:
处理器801、存储器802、输入装置803和输出装置804。历史剪辑操作的回撤设备中的处理器801的数量可以一个或多个,图8中以一个处理器为例。在本公开的一些实施例中,处理器801、存储器802、输入装置803和输出装置804可通过总线或其它方式连接,其中,图8中以通过总线连接为例。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行历史剪辑操作的回撤设备的各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置803可用于接收输入的数字或字符信息,以及产生与历史剪辑操作的回撤设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现上述历史剪辑操作的回撤设备的各种功能。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种历史剪辑操作的回撤方法,其特征在于,所述方法包括:
当接收到针对目标历史剪辑操作的回撤请求时,从预先存储的树结构对象与剪辑操作的对应关系中,确定所述目标历史剪辑操作对应的树结构对象;其中,所述树结构对象包括基于所述目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构;
基于所述树结构对象,在当前剪辑界面上恢复对所述目标历史剪辑操作对应的历史剪辑界面的展示。
2.根据权利要求1所述的方法,其特征在于,所述树结构对象包括至少4个层级数据结构,所述至少4个层级数据结构包括顶级数据结构、二级数据结构、三级数据结构和四级数据结构;
其中,所述顶级数据结构中的节点用于存储所述目标历史剪辑操作对应的历史剪辑界面的标识信息;
所述二级数据结构中的节点与所述历史剪辑界面中的素材轨道具有映射关系,所述二级数据结构中的节点用于存储与所述节点具有映射关系的素材轨道的显示层级,所述二级数据结构中的节点与所述三级数据结构中的节点具有对应关系;
所述三级数据结构中的节点用于存储与所述节点具有对应关系的二级数据结构中的节点对应的素材轨道上的素材对象在时间轴上的位置信息;所述三级数据结构中的节点与所述四级数据结构中的节点具有对应关系;所述四级数据结构中的节点与所述素材对象具有映射关系;
所述四级数据结构中的节点用于存储与所述节点具有映射关系的素材对象的信息;所述信息至少包括来源信息和剪辑状态信息。
3.根据权利要求1或2所述方法,其特征在于,所述当接收到针对目标历史剪辑操作的回撤请求时,确定所述目标历史剪辑操作对应的树结构对象之前,还包括:
当接收到针对目标剪辑操作的提交请求时,基于所述目标剪辑操作对应的剪辑界面上的剪辑时间轴描述数据构建树结构,得到所述目标剪辑操作对应的树结构对象;
存储所述树结构对象,以及所述树结构对象与所述目标剪辑操作的对应关系;其中,所述目标剪辑操作为用于确定所述目标历史剪辑操作的可选剪辑操作。
4.根据权利要求1或2所述的方法,其特征在于,所述当接收到针对目标历史剪辑操作的回撤请求时,确定所述目标历史剪辑操作对应的树结构对象之前,还包括:
当接收到针对目标剪辑操作的提交请求时,确定最近一次的历史剪辑操作对应的树结构对象;
从所述树结构对象中,确定与所述目标剪辑操作对应的节点,作为变更节点;
建立并存储与所述变更节点具有映射关系的增量节点,得到所述目标剪辑操作对应的树结构对象;其中,所述增量节点继承有所述变更节点的依赖关系,所述增量节点用于存储基于所述目标剪辑操作更新后的所述变更节点中的存储信息。
5.根据权利要求4所述的方法,其特征在于,所述从所述树结构对象中,确定与所述目标剪辑操作对应的节点,作为变更节点,包括:
基于所述目标剪辑操作,对所述树结构对象中存在更新的节点进行标记,得到标记节点;
将直接依赖或间接依赖所述标记节点的节点,以及所述标记节点,确定为所述目标剪辑操作对应的变更节点。
6.根据权利要求4所述的方法,其特征在于,所述从所述树结构对象中,确定与所述目标剪辑操作对应的节点,作为变更节点之前,还包括:
基于所述目标剪辑操作对应的剪辑界面上的剪辑时间轴描述数据生成树结构对象,作为待比较树结构对象;
将所述待比较树结构对象与所述最近一次的历史剪辑操作对应的树结构对象中对应位置的节点的哈希值进行比较;
相应的,所述从所述树结构对象中,确定与所述目标剪辑操作对应的节点,作为变更节点,包括:
将所述最近一次的历史剪辑操作对应的树结构对象中的哈希值比较结果为不相等的节点,确定为变更节点。
7.根据权利要求6所述的方法,其特征在于,所述建立并存储与所述变更节点具有映射关系的增量节点,得到所述目标剪辑操作对应的树结构对象之前,还包括:
将所述最近一次的历史剪辑操作对应的树结构对象中的节点与所述待比较树结构对象中的节点依次进行匹配,确定所述待比较树结构对象中的新增节点;
将所述新增节点确定为变更节点。
8.一种历史剪辑操作的回撤装置,其特征在于,所述装置包括:
确定模块,用于当接收到针对目标历史剪辑操作的回撤请求时,从预先存储的树结构对象与剪辑操作的对应关系中,确定所述目标历史剪辑操作对应的树结构对象;其中,所述树结构对象包括基于所述目标历史剪辑操作对应的历史剪辑界面上的剪辑时间轴描述数据构建的树结构;
恢复模块,用于基于所述树结构对象,在当前剪辑界面上恢复对所述目标历史剪辑操作对应的历史剪辑界面的展示。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现如权利要求1-7任一项所述的方法。
10.一种设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110269052.9A CN115086757B (zh) | 2021-03-12 | 2021-03-12 | 一种历史剪辑操作的回撤方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110269052.9A CN115086757B (zh) | 2021-03-12 | 2021-03-12 | 一种历史剪辑操作的回撤方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086757A CN115086757A (zh) | 2022-09-20 |
CN115086757B true CN115086757B (zh) | 2023-12-19 |
Family
ID=83240413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110269052.9A Active CN115086757B (zh) | 2021-03-12 | 2021-03-12 | 一种历史剪辑操作的回撤方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086757B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115878010B (zh) * | 2023-03-01 | 2023-06-23 | 南方科技大学 | 一种操作交互方法、装置、电子设备和计算可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004153806A (ja) * | 2003-10-07 | 2004-05-27 | Sony Corp | 情報処理装置および方法、表示方法、並びに記録媒体 |
JP2009077040A (ja) * | 2007-09-19 | 2009-04-09 | Sharp Corp | 動画編集装置、動画編集システム、及び動画編集方法 |
CN101416173A (zh) * | 2006-03-31 | 2009-04-22 | STTWebOS股份有限公司 | 在基于万维网的环境下交换信息的方法及装置 |
CN108647017A (zh) * | 2018-05-17 | 2018-10-12 | 武汉真蓝三维科技有限公司 | 一种参数化快速生成三维互动与仿真应用软件的集成平台 |
CN109600566A (zh) * | 2018-12-03 | 2019-04-09 | 浙江工业大学 | 一种视频配音方法 |
CN109963205A (zh) * | 2017-12-25 | 2019-07-02 | 上海全土豆文化传播有限公司 | 多媒体剪辑方法及装置 |
CN110389796A (zh) * | 2019-07-01 | 2019-10-29 | 北京字节跳动网络技术有限公司 | 编辑操作处理方法、装置及电子设备 |
CN111512302A (zh) * | 2017-12-28 | 2020-08-07 | 卓普网盘股份有限公司 | 再同步内容管理系统中的元数据 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10063497B2 (en) * | 2016-06-11 | 2018-08-28 | Notion Ai, Inc. | Electronic reply message compositor and prioritization apparatus and method of operation |
-
2021
- 2021-03-12 CN CN202110269052.9A patent/CN115086757B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004153806A (ja) * | 2003-10-07 | 2004-05-27 | Sony Corp | 情報処理装置および方法、表示方法、並びに記録媒体 |
CN101416173A (zh) * | 2006-03-31 | 2009-04-22 | STTWebOS股份有限公司 | 在基于万维网的环境下交换信息的方法及装置 |
JP2009077040A (ja) * | 2007-09-19 | 2009-04-09 | Sharp Corp | 動画編集装置、動画編集システム、及び動画編集方法 |
CN109963205A (zh) * | 2017-12-25 | 2019-07-02 | 上海全土豆文化传播有限公司 | 多媒体剪辑方法及装置 |
CN111512302A (zh) * | 2017-12-28 | 2020-08-07 | 卓普网盘股份有限公司 | 再同步内容管理系统中的元数据 |
CN111566633A (zh) * | 2017-12-28 | 2020-08-21 | 卓普网盘股份有限公司 | 用于使内容项同步的提交协议 |
CN108647017A (zh) * | 2018-05-17 | 2018-10-12 | 武汉真蓝三维科技有限公司 | 一种参数化快速生成三维互动与仿真应用软件的集成平台 |
CN109600566A (zh) * | 2018-12-03 | 2019-04-09 | 浙江工业大学 | 一种视频配音方法 |
CN110389796A (zh) * | 2019-07-01 | 2019-10-29 | 北京字节跳动网络技术有限公司 | 编辑操作处理方法、装置及电子设备 |
Non-Patent Citations (3)
Title |
---|
Interface MB-Based Video Content Editing Transcoding;Yu Liu;IEEE Transactions on Circuits and Systems for Video Technology;第25卷(第2期);全文 * |
在线教学人际互动的混合研究——上海高校教师的视角;李琳琳;《华东师范大学学报(教育科学版)》(第7期);全文 * |
基于Camtasia Studio的微课视频的设计与制作;刘蕙萱;《新教育》(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115086757A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11100071B2 (en) | Key-value store tree data block spill with compaction | |
US10891264B2 (en) | Distributed, scalable key-value store | |
US8849876B2 (en) | Methods and apparatuses to optimize updates in a file system based on birth time | |
US11657092B2 (en) | Data tree with order-based node traversal | |
CA2550974C (en) | Optimized start-up verification of file system integrity | |
JP2007012060A (ja) | 逆階層構造を有するファイルシステム | |
US20210081128A1 (en) | Key-value store using journaling with selective data storage format | |
JP2007012058A (ja) | フラッシュ様媒体におけるトランザクションレコードを格納するファイルシステム | |
JP2007012056A (ja) | データ保全の先送りされた認証を有するファイルシステム | |
CN104516959A (zh) | 一种管理数据库日志的方法及装置 | |
CN103412803A (zh) | 数据恢复的方法及装置 | |
WO2015093026A1 (ja) | 書き込み情報記憶装置、方法、及び、記録媒体 | |
CN109033365B (zh) | 一种数据处理方法及相关设备 | |
US20150074336A1 (en) | Memory system, controller and method of controlling memory system | |
WO2022126470A1 (zh) | Flash数据掉电保护方法及设备 | |
CN103902562A (zh) | 一种终端数据库升级方法及相关装置 | |
US20070192533A1 (en) | Apparatus and method for managing mapping information of nonvolatile memory | |
CN115086757B (zh) | 一种历史剪辑操作的回撤方法、装置、设备及存储介质 | |
KR20110046118A (ko) | 적응적 로깅 장치 및 방법 | |
CN108062323B (zh) | 一种日志读取方法及装置 | |
US8495309B2 (en) | Variable length data protected by seqlock | |
CN111752909B (zh) | 一种多版本文件的操作方法、系统及装置 | |
US20100185652A1 (en) | Multi-Dimensional Resource Fallback | |
CN111444214A (zh) | 一种大规模数据和工业监控内存数据库处理的方法及装置 | |
CN114840545B (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 |