CN102568525B - 流程图和时间线上的智能缓存方法 - Google Patents

流程图和时间线上的智能缓存方法 Download PDF

Info

Publication number
CN102568525B
CN102568525B CN201010617692.6A CN201010617692A CN102568525B CN 102568525 B CN102568525 B CN 102568525B CN 201010617692 A CN201010617692 A CN 201010617692A CN 102568525 B CN102568525 B CN 102568525B
Authority
CN
China
Prior art keywords
node
state
checked
pin
buffer
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.)
Expired - Fee Related
Application number
CN201010617692.6A
Other languages
English (en)
Other versions
CN102568525A (zh
Inventor
严玄
刘铁华
见良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Mei She network technology Co., Ltd
Original Assignee
China Digital Video Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Digital Video Beijing Ltd filed Critical China Digital Video Beijing Ltd
Priority to CN201010617692.6A priority Critical patent/CN102568525B/zh
Publication of CN102568525A publication Critical patent/CN102568525A/zh
Application granted granted Critical
Publication of CN102568525B publication Critical patent/CN102568525B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了流程图和时间线上的智能缓存方法,用于非线性编剪辑软件及视音频后期特效处理与合成软件中流程图和时间线上的视频片段、序列、节点的缓存,解决了视音频后期特效处理中编辑过程中的实时性问题,为了解决以上问题,本发明采用对序列或者编辑节点的缓存状态进行预设置的方式,在视音频处理过程中根据每个序列和编辑节点的缓寸状态进行调用,当需要引用这段已经编辑好的素材时,可以直接从相应的缓存文件中读取信息,从而减少重新计算需要的时间开销,以达到播放实时性的要求。从而有效的减少对I/O的依赖,以及后台大量运算所消耗的时间开支,进而提高节目编辑过程中的实时性。

Description

流程图和时间线上的智能缓存方法
技术领域
本设计适用于非线性编剪辑软件及视音频后期特效处理与合成软件中,流程图和时间线上的智能缓存方法。
背景技术
在非线性编剪辑软件及视音频后期特效处理与合成软件中,随着对节目制作要求的不断增加,经常需要处理大量高清晰度、高分辨率的素材进行同时编辑,以满足节目的丰富性和高质量的要求,但由于磁盘的I/O速度与内存速度的不匹配,以及对大量高清晰度高分辨率素材进行编码、解码或特效应用过程中产生的大量计算所需的时间开销,这样可能导致在节目编辑过程中,编辑的效果不能实时的展现给节目编辑者,从而影响到节目编辑效果,降低节目制作效率。因此,提高编辑过程中的实时性非常必要。为了解决以上问题,通常会采用硬件图形加速和软件图形加速两种办法,但是对于这两种图形加速方法,也同时会受到图形接口速度、缓存空间、及中心处理器计算速度的限制,而存在缺陷,从而影响音视频文件编辑、播放、合成过程中的实时性。
发明内容
为了解决由于磁盘的I/O速度与内存速度的不匹配,以及对大量高清晰度高分辨率素材进行编码、解码或特效应用过程中产生的大量计算所需的时间开销这一技术问题,本发明采用一种智能缓存机制没有限制,根据磁盘剩余空间的大小确定,在编辑过程中,当对某一个序列或者某个编辑节点使用缓存后,在进行一次播放后,记录当前序列或节点的效果到指定的缓存文件中。
首先,定义缓存的有如下三种状态:
1、CacheToNone表示:没有缓存;
2、CacheToMemory表示:将缓存信息保存在内存中;
3、CacheToDisk表示:将缓存信息保存在磁盘文件中。
保存在内存中的CacheToMemory文件读取速度是最快的,但是需要消耗一定的内存空间,同时受内存地址空间的限制,保存在内存中的缓存有一定的颗粒度,采用队列的方式进行存储,这样可能导致之前记录的缓存信息被后面保存的缓存给覆盖,于是定义一种保存在磁盘中的CacheToDisk类型,将缓存文件保存在磁盘上,但速度较之CacheToMemory慢一些,CacheToNone则表示没有缓存,并且定义其优先次序逐次提高,我们按缓存文件保存的位置来划分缓存的优先级,即CacheToNone的优先级最低,CacheToDisk(是否应该是CacheToMemory)的优先级最高,当同一个流程图节点的管脚或者同一时间段出现不同的缓存状态时,取优先级高的状态进行设置。
当需要引用这段已经编辑好的素材时,可以直接从相应的缓存文件中读取信息,从而减少重新计算需要的时间开销,以达到播放实时性的要求。
从而有效的减少对I/O的依赖,以及后台大量运算所消耗的时间开支,进而提高节目编辑过程中的实时性。
将在下面的描述中解释并且将由附图说明本发明的实施例的实施方式。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图做简单的介绍:
图1:表示在时间线工作环境下,设置智能缓冲在用户界面中所体现的效果图
图2:表示时间线上的缓存设置规则图;
图3:表示流程图上节点缓存设置规则图。
具体实施方式
本发明有关流程图和时间线上的智能缓存的方法,可以用于非线性编剪辑软件及视音频后期特效处理与合成软件中,具体的实施方式如下:
考虑到两种工作方式,以下将分别介绍时间线和流程图上的智能缓存机制。
一、时间线上的智能缓存机制
由于时间线上没有类似流程图上“节点”的概念,因此时间线上的智能缓存是按照区间划分的。其记录缓存的规则为:若时间线上的记录的缓存标志为“不记录缓存状态”,则将时间线上的缓存类型设置为CacheToNone,否则,将时间线上的缓存类型设置为CacheToDisk。
在时间线上渲染一帧或进行播放操作时,若当前帧已经添加至缓存文件中,则直接从缓存文件中读取相关信息,否则,将处理后的当前帧的信息根据缓存类型写入到缓存文件中,当修改时间线上某个参数值或者对时间线某段区域进行操作时,则使该操作区域的缓存无效。
时间线上的缓存设置各部分工作规则如图2所示。
具体缓存效果如图1所示。
流程图上的智能缓存机制
流程图表示的为一系列节点之间的拓扑关系,因此当修改某一个节点的状态、参数,或者改变查看的节点以及查看节点的输出都会引发流程图上节点的缓存状态,流程图上的缓存是以节点及节点的某个输出管脚为单位的,其设置规则为:
(1)改变当前查看节点的输出管脚
当从一个节点的某一个输出管脚(管脚A)移到查看该节点的另外一个输出管脚(管脚B)时,此时该节点管脚A的缓存状态和管脚B的缓存状态都将发生改变。对于管脚A:
若这个节点为记录缓存状态,则对管脚A的缓存的状态分别以如下情况判断:若管脚A没有被连接,该节点的管脚A的缓存状态为CacheToNone,否则,逐一考虑其连接的节点,若这些节点中有被查看的节点,将该节点的管脚A的缓存状态设置为CacheToDisk,否则,设置为CacheToNone;
若这个节点没有被记录为缓存状态,设置该节点的管脚A的缓存状态为CacheToNone。
对于管脚B:
若管脚B没有被连接,若这个节点为记录缓存状态,设置管脚B的缓存状态为CacheToDisk,否则设置管脚B的缓存状态为CacheToNone;
若管脚B连接有其他节点,且其连接的节点中有被查看的,若这个节点为记录缓存状态,设置管脚B的缓存状态为CacheToDisk,否则设置管脚B的缓存状态为CacheToMemory;否则,同a。
(2)节点间的切换
当在流程图上,从一个节点切换到另外的一个节点,查看的节点发生变化,这时需要改变这两个节点的缓存类型,以及与这两节点相关的节点的缓存类型。假设从查看的节点A的输出管脚A切换到查看的节点B的输出管脚B,对于节点A:
若节点A输出管脚A仍然被查看且为写缓存状态,则设其缓存状态为CacheToDisk,否则,则逐一判断与管脚A相连节点,若有被查看的节点,则设与A节点相连的管脚Index的缓存状态为CacheToMemory,否则设为CacheToNone;
若节点A输出管脚A没有被查看,则判断与A节点相连的所有节点,若其被查看且为写缓存状态,则修改这个节点的缓存状态为CacheToDisk,否则判断该节点的所有下游节点,若下游节点中存在被查看的节点,设置这个节点的缓存状态为CacheToMemory,否则设置这个节点的缓存状态为CacheToNone,继续判断与A相连的下一个节点直到全部结束。
对于节点B:
如果B节点的管脚B被查看,首先判断其与B节点相连的所有上游节点,若上游节点被查看,且该节点为写缓存状态,则置与B节点相连的管脚Index的缓存状态为CacheToDisk,否则置与B节点相连的管脚Index的缓存状态为CacheToMemory。逐一判断所有连接B的节点。然后若B节点为写缓存状态,则B节点的管脚B置其缓存状态为CacheToDisk,否则,判断与管脚B相连的下游节点,若下游节点中存在被看的节点,则置节点B的管脚B的缓存的状态为CacheToMemory,否则,置节点B的管脚B的缓存的状态为CacheToNone;
否则,若B节点的管脚B没有没查看,首先判断其与B节点相连的所有上游节点,若上游节点被查看,且该节点为写缓存状态,则置与B节点相连的管脚Index的缓存状态为CacheToDisk,否则置与B节点相连的管脚Index的缓存状态为CacheToNone,逐一判断所有连接B的节点。然后判断与管脚B相连的下游节点,若下游节点中存在被看的节点,且B节点为写缓存状态,则B节点的管脚B置其缓存状态为CacheToDisk,否则,则置节点B的管脚B的缓存的状态为CacheToMemory,否则,置节点B的管脚B的缓存的状态为CacheToNone。
时间线上的缓存设置各部分工作规则如图3所示。

Claims (4)

1.流程图和时间线上的智能缓存方法,其特征在于包括以下步骤:
确定输入单元状态;
输入单元的缓存调用;
所述确定输入单元状态为:
确定输入单元状态为流程图状态,所输入单元为流程图上节点,其缓存是以该节点及该节点的某输出管脚为基本单位;或确定输入单元状态为时间线方式,所输入单元为时间线上各序列的缓存状态,其步骤为:如该序列的缓存状态为“不记录缓存状态”,则将该序列的缓存状态设置为“没有缓存”,如该序列的缓存状态为非“不记录缓存状态”,则将该序列的缓存状态设置为“将缓存信息保存在磁盘文件中”状态。
2.如权利要求1中所述的流程图和时间线上的智能缓存方法,其特征在于,还可以加入修改时间线上序列参数值或者对时间线某段区域进行操作,如进行上述操作,则其该操作区域的缓存状态将设置为“没有缓存”状态。
3.如权利要求1中所述的流程图和时间线上的智能缓存方法,其特征在于输入单元的缓存调用,对于流程图方式,如调用基于单个节点时,切换管脚之间调用关系,其方法如下:
如该节点为记录缓存状态,则对其中一个输出管脚的缓存的状态分别以如下情况判断:若该管脚没有被其他节点连接,该节点的该管脚的缓存状态为“没有缓存”状态,若该管脚被其他节点连接,逐一考虑其连接的节点,若其他节点中有被查看的节点,将该被查看的节点的该管脚的缓存状态设置为“将缓存信息保存在磁盘文件中”状态,若其他节点中没有被查看的节点,将该没有被查看的节点的该管脚的缓存状态设置为“没有缓存”状态;如该节点没有被记录为缓存状态,则设置该节点的该管脚的缓存状态为“没有缓存”状态;
对于另外管脚:如该另外管脚没有被连接,若这个节点为记录缓存状态,则设置该另外管脚的缓存状态为“将缓存信息保存在磁盘文件中”状态,否则设置该另外管脚的缓存状态为“没有缓存”状态;
如该另外管脚连接有其他节点,且其连接的其他节点中有被查看的,若被查看的节点为记录缓存状态,设置该另外管脚的缓存状态为“将缓存信息保存在磁盘文件中”状态,否则设置该另外管脚的缓存状态为“将缓存信息保存在内存中”状态。
4.如权利要求1中所述的流程图和时间线上的智能缓存方法,其特征在于输入单元的缓存调用,对于流程图方式,如调用基于多个节点时,完成节点之间调用关系,其方法如下:
若其中一个节点输出管脚,被查看且为“记录缓存状态”,则设置其缓存状态为“将缓存信息保存在磁盘文件中”状态,否则,则逐一判断与该管脚相连节点,若有被查看的节点,则设与该被查看的节点相连的管脚索引的缓存状态设置为“将缓存信息保存在内存中”状态,若没有被查看的节点,则设与该没有查看的节点相连的管脚索引的缓存状态设置为“没有缓存”状态;
若以上节点输出管脚没有被查看,则判断与该节点相连的所有节点,若与该节点相连的所有节点被查看且为“记录缓存状态”,则修改这个被查看的所有节点的缓存状态设置为“将缓存信息保存在磁盘文件中”状态,否则判断该节点的所有下游节点,若下游节点中存在被查看的节点,设置该下游节点被查看的节点的缓存状态设置为“将缓存信息保存在内存中”状态,否则设置该下游节点被查看的节点的缓存状态为“没有缓存”状态;继续判断与该下游节点被查看的节点相连的下一个节点直到全部结束;
对于其他节点:如果该节点的管脚被查看,首先判断其与该节点相连的所有上游节点,若上游节点被查看,且该被查看的节点为“记录缓存状态”,则置与该被查看的节点相连的管脚索引的缓存状态为“将缓存信息保存在磁盘文件中”状态,否则置与该被查看的节点相连的管脚索引的缓存状态为“将缓存信息保存在内存中”状态;逐一判断所有连接该被查看的节点的节点;然后若该节点为“记录缓存状态”,则该节点的管脚置其缓存状态为“将缓存信息保存在磁盘文件中”状态,否则,判断与管脚相连的下游节点,若下游节点中存在被查看的节点,则置该被查看的节点的管脚的缓存的状态为“将缓存信息保存在内存中”状态,否则,置该被查看的节点的管脚的缓存的状态为“没有缓存”状态;
如该节点的管脚未被查看,首先判断其与该未被查看节点相连的所有上游节点,若上游节点被查看,且该被查看的上游节点为“记录缓存状态”,则置与该被查看的上游节点相连的管脚索引的缓存状态为“没有缓存”状态,否则置与该被查看的上游节点相连的管脚索引的缓存状态为“将缓存信息保存在磁盘文件中”状态,逐一判断所有连接该被查看的上游节点的节点;然后判断与管脚相连的下游节点,若下游节点中存在被查看的节点,且该被查看的下游节点为“记录缓存状态”,则该被查看的下游节点的管脚置其缓存状态为“将缓存信息保存在磁盘文件中”状态,否则,则置该被查看的下游节点的管脚的缓存的状态为“将缓存信息保存在内存中”状态,若下游节点中不存在被查看的节点,则置该被查看的下游节点的管脚的缓存的状态为“没有缓存”状态。
CN201010617692.6A 2010-12-31 2010-12-31 流程图和时间线上的智能缓存方法 Expired - Fee Related CN102568525B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010617692.6A CN102568525B (zh) 2010-12-31 2010-12-31 流程图和时间线上的智能缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010617692.6A CN102568525B (zh) 2010-12-31 2010-12-31 流程图和时间线上的智能缓存方法

Publications (2)

Publication Number Publication Date
CN102568525A CN102568525A (zh) 2012-07-11
CN102568525B true CN102568525B (zh) 2015-02-18

Family

ID=46413759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010617692.6A Expired - Fee Related CN102568525B (zh) 2010-12-31 2010-12-31 流程图和时间线上的智能缓存方法

Country Status (1)

Country Link
CN (1) CN102568525B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685427B (zh) * 2012-09-25 2018-03-16 新奥特(北京)视频技术有限公司 一种基于云平台网络的缓存方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0564247A1 (en) * 1992-04-03 1993-10-06 Adobe Systems Inc. Method and apparatus for video editing
CN101141623A (zh) * 2007-10-17 2008-03-12 华中科技大学 一种基于p2p技术的视频点播节目缓存方法
CN101350031A (zh) * 2008-08-21 2009-01-21 深圳市同洲电子股份有限公司 一种数据存储方法、数据查询方法及系统
CN101916290A (zh) * 2010-08-18 2010-12-15 中兴通讯股份有限公司 内存数据库的管理方法和装置
CN102752493A (zh) * 2011-09-29 2012-10-24 新奥特(北京)视频技术有限公司 一种特效时间线加载流程图的剪辑编辑方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0564247A1 (en) * 1992-04-03 1993-10-06 Adobe Systems Inc. Method and apparatus for video editing
CN101141623A (zh) * 2007-10-17 2008-03-12 华中科技大学 一种基于p2p技术的视频点播节目缓存方法
CN101350031A (zh) * 2008-08-21 2009-01-21 深圳市同洲电子股份有限公司 一种数据存储方法、数据查询方法及系统
CN101916290A (zh) * 2010-08-18 2010-12-15 中兴通讯股份有限公司 内存数据库的管理方法和装置
CN102752493A (zh) * 2011-09-29 2012-10-24 新奥特(北京)视频技术有限公司 一种特效时间线加载流程图的剪辑编辑方法

Also Published As

Publication number Publication date
CN102568525A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
KR101246988B1 (ko) 애니메이션 간의 매끄러운 전환
CN109409513B (zh) 一种基于神经网络的任务处理方法及相关设备
CN102103497B (zh) 有限状态机执行装置和方法、在应用中的建立和使用方法
EP1956465A2 (en) Power aware software pipelining for hardware accelerators
CN108491333A (zh) 环形缓冲区的数据写入方法、装置、设备及介质
CN106815131A (zh) 一种基于Unity引擎的游戏资源检查方法和系统
CN105187845B (zh) 视频数据解码装置及解码方法
WO2022188753A1 (zh) 视频帧缓存方法和设备
CN107291449A (zh) 一种页面渲染方法、装置及设备
WO2022095526A1 (zh) 图形引擎和适用于播放器的图形处理方法
CN105867944A (zh) Web前端数据操作层及其实现方法
CN103353866A (zh) 一种支持xna技术的三维模型文件格式转换方法
US20100271397A1 (en) Conversion of swf morph shape definitions for vector graphics rendering
CN111080505B (zh) 一种提高图元装配效率的方法、装置及计算机存储介质
CN114466227B (zh) 一种视频分析方法、装置、电子设备及存储介质
CN102568525B (zh) 流程图和时间线上的智能缓存方法
CN104731586A (zh) 一种地铁列车lcd屏可编辑界面的设计方法
WO2018082320A1 (zh) 数据流连接方法及装置
CN111330270A (zh) 一种用户界面渲染的方法
CN103198127B (zh) 大文件排序方法及系统
CN110045951B (zh) 一种神经网络硬件低功耗定制化的开发工具
CN111179383B (zh) 用于cg动画制作的渲染镜头重组方法及装置
CN1312845C (zh) 记录压缩编码表于虚拟只读存储器的方法及装置
Li et al. Implementation of a high-performance multi-threaded media player module for a cross-platform game engine based on OpenGL
JP2551102B2 (ja) データ同期方法およびその装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING MEISHE NETWORK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: CHINA DIGITAL VIDEO (BEIJING) CO., LTD.

Effective date: 20150729

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150729

Address after: 100185 Beijing city Haidian District xicaochang 1 No. 6 room 6005

Patentee after: Beijing Mei She network technology Co., Ltd

Address before: Newauto Technology Building No. 49 Beijing 100195 Haidian District Wukesong Road

Patentee before: Newauto video technology (Beijing) Co.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150218

Termination date: 20161231

CF01 Termination of patent right due to non-payment of annual fee