CN101968887A - 一种富媒体场景的局部渲染方法 - Google Patents
一种富媒体场景的局部渲染方法 Download PDFInfo
- Publication number
- CN101968887A CN101968887A CN 201010276402 CN201010276402A CN101968887A CN 101968887 A CN101968887 A CN 101968887A CN 201010276402 CN201010276402 CN 201010276402 CN 201010276402 A CN201010276402 A CN 201010276402A CN 101968887 A CN101968887 A CN 101968887A
- Authority
- CN
- China
- Prior art keywords
- rendering
- failed areas
- scene
- current
- playing
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种富媒体场景的局部渲染方法,通过1)尽量减少不必要的渲染,即仅仅需要渲染的时候才渲染,在合成步骤中,标识场景树是否因为时间或用户交互事件发生了改变,如果改变,进入到渲染阶段,反之则不需要进行渲染,减少了不必要的渲染。2)尽量减小每次渲染的区域,本发明通过计算需要渲染的失效区域来进行局部渲染,仅在发生改变的元素影响的范围内进行渲染,很大程度上减少了渲染得区域,从而提高了执行效率。在本发明中,通过减少不必要渲染和采用局部渲染策略,减少了渲染时间以及资源占用。
Description
技术领域
本发明属于计算机矢量图形渲染技术领域,更为具体地讲,涉及一种富媒体场景的局部渲染方法。
背景技术
富媒体有别于传统媒体,它将文本、矢量图形、图片、动画、音视频等多种媒体对象在时间/空间上进行有机结合,提供丰富的表现形式和交互能力,其主要特征是可基于时间或用户交互的基础上产生动态行为。
最近的研究报告表明,越来越多的富媒体应用被装载到移动终端上,例如,交互式电视、游戏、动态UI等。这些应用要求更低的内存消耗和更高的播放速度。目前移动领域的富媒体应用倾向于使用专门的富媒体引擎,通过定义基于XML规范的轻量级标记语言,脚本及其它技术等展现各种的富媒体应用。例如W3C的SVG Tiny 1.2标准,以及基于SVG Tiny 1.2标准上的扩展技术如,MPEG组织的LASeR标准、3GPP组织的DIMS标准,私有技术如NOKIA倡导的MORE方案和Adobe公司的Flashlite等。
富媒体内容播放的速度很大程度上取决于富媒体引擎所采用的渲染技术,移动终端上的渲染技术可以分为软件、硬件和软硬件结合三种。但是目前移动设备大多尚未配备硬件加速技术,且图形加速接口也不统一,所以移动设备的渲染技术还是主要采用纯软件实现方案。在具体实现过程中,在保证图形质量的情况下,除了需要充分考虑到降低计算量、减少内存需求,实现快速绘制外,还需要考虑到CPU处理能力、电池供电能力和内存带宽等因素。
针对软件实现的富媒体场景渲染,其主要的优化策略体现在渲染流程方面。经过国内外专家学者的研究,这些方面都取得了长足的进步。例如,Jean-Claude等人在LASeR中定义了富媒体场景处理的基本流程,Cyril Concolato等人对此流程进行了优化,提出了富媒体场景处理可以细分为读取(Reading),合成(Compositing),渲染(Rendering)三个步骤的思想,并给出了部分的优化策略。
图1是富媒体场景处理流程示意图。
如图1所示,通常情况下富媒体场景处理流程一般分为3个步骤,分别是:
Step1.读取:这个步骤主要负责读入场景文档并解析创建场景树;
Step2.合成:这个步骤主要负责根据时间触发动画或者用户交互事件去改变当前场景树的状态;
Step3.渲染:主要负责根据Step2产生的场景树进行渲染,渲染完毕后,返回读取场景文档或合成步骤。
经过对比发现,读取步骤虽然耗时很多,但是在场景处理流程中发生的次数并不多,一般发生在场景切换,或者LASeR等技术中接收到场景单元的时刻,剩下的两个部分将在场景处理中频繁发生,与合成相比,渲染占用了大量的时间,成为场景生命周期中最耗时间的一个环节,占用了大概80%的cpu时间。下表是现有技术中,在不同用例下采用渲染整个视口(viewport)的方式处理场景,三个步骤分别运行一次占用的时间对比。时间单位是毫秒,测试用例来源于08年9月份发布的W3C SVGTiny1.2TestSuite Beta3版本。
表1
从表1看来,渲染步骤是富媒体场景处理流程中最耗时的步骤,而造成这一结果的原因之一是一些没有发生变化或没有被变化影响到的元素也被渲染了,造成了资源无谓的浪费;另一方面在矢量图形光栅化填充过程中由于嵌入式设备的数据总线速度较低,对内存的大量读写也会耗费大量的时间。
发明内容
本发明目的在于克服现有渲染方法的不足,提出一种耗时少,资源占用少的富媒体场景的局部渲染方法。
为实现上述发明目的,本发明富媒体场景的局部渲染方法,其特征在于,包括以下步骤:
(1)、在合成步骤中,如果满足以下任意一条件:
a1、当前场景时间触发了脚本执行或改变了动画元素的状态,造成了场景树的改变;
a2、用户交互或外部事件触发脚本对场景树进行了任何修改或者使动画元素状态发生了改变;
则进入到渲染阶段,反之则不进行渲染;
(2)、渲染阶段
b1、失效区域计算
遍历场景树,对任意一个可绘制元素,因为动画或者脚本的缘故,引起了该元素或其部分属性发生了变化,则重新计算当前时刻该元素的边框位置,并与该元素上一次渲染时保存的边框的位置进行合并,生成该元素需要渲染的元素失效区域;
将该元素的失效区域与当前文档失效区域进行合并,生成新的当前文档失效区域;遍历过程中,第一个元素的失效区域不需要合并,直接作为当前文档失效区域;
遍历场景树完成后,得到最终的当前文档失效区域;
b2、渲染
将步骤b1计算出来的最终的当前文档失效区域作为此次渲染的范围进行渲染;当前场景树上边框与此文档失效区域相交的元素也进行被渲染,并且将其边框保存,在下一次渲染的时候参与失效区域的计算。
本发明的发明目的是这样实现的:
通过分析很多富媒体应用,我们发现,需要对整个视口范围内的内容都进行渲染的情景并不多,而且还可以将这些情景进行总结,优化算法的实现。综上所述,对渲染流程的改进主要体现在以下几个方面:
1).尽量减少不必要的渲染,即仅仅需要渲染的时候才渲染,在合成步骤中,标识场景树是否因为时间或用户交互事件发生了改变;
在合成步骤中,如果步骤(1)两条中任意一条满足的话,都会进入到渲染阶段,反之则不需要进行渲染,减少了不必要的渲染。同时,相比现有技术,本发明的改进在于,在设计中动画的执行和元素的布局是放在渲染时执行的,这样更利于缩短合成的时间。
2).尽量减小每次渲染的区域,即局部渲染;尽管现在移动终端的处理能力增强了,但是面对越来越大的屏幕,如果渲染整个视口中的内容仍然是一件很耗时间的事,尤其对于像富媒体这类交互性和特效都很强的应用来说。本发明通过计算需要渲染的失效区域来进行局部渲染,仅在发生改变的元素影响的范围内进行渲染,很大程度上减少了渲染得区域,从而提高了执行效率。
在本发明中,通过减少不必要渲染和采用局部渲染策略,减少了渲染时间以及资源占用。
附图说明
图1是富媒体场景处理流程示意图;
图2是元素失效区域计算示意图;
图3是文档失效区域计算示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图2是元素失效区域计算示意图。
如图2所示,在本实施例中,元素A由于动画或者脚本的缘故,引起该元素发生了位置变化,此时重新计算当前时刻该元素的边框位置,并与该元素上一次渲染时保存的边框的位置进行合并,生成该元素需要渲染的元素失效区域。
计算一个元素的边框位置以及边框合并生成元素失效区域的时间远小于实际绘制一个元素的时间,因此,对于资源的占用可以忽略不计。
图3是文档失效区域计算示意图。
在本实施例中,如图3所示,将元素B的失效区域与当前文档失效区域进行合并,生成新的当前文档失效区域。在本实施例中,当前文档失效区域是元素A的失效区域构成的,此时,它与元素B的失效区域生成新的当前文档失效区域。
在本实施例中,首先对svg element进行了区分。渲染是对当前场景树上所有可绘制元素进行顺序绘制,可以绘制的元素包括以下几类:
1)Basic Shape:<circle>,<ellipse>,<glyph>,<image>,<line>,<path>,<polygon>,<polyline>,<rect>;
2)Text:<text>,<textArea>,<tspan>;
3)Structure:<svg>,<a>,<g>,<switch>,<use>,<animation>;
这些元素都有边框(bounding box)来定位他们在画布(canvas)上的位置,通常每次渲染的时候都会计算每个元素的边框是否与SVG场景的视口相交,如果相交,那么此元素需要绘制,而视口一般与屏幕大小相映射,这种情况下,如果视口中的元素很多的话,渲染的速度会很慢,直接影响到了场景播放的帧率,这对于资源受限的移动终端是不能接受的。渲染是合成步骤中场景被改变导致的结果,跟踪发生改变的元素,并且仅在它们影响的范围内进行渲染,很大程度上减小渲染的区域,从而提高执行效率。
在本实施例中,在计算一个元素的失效区域时,按照以下一些规则:
1)如果该元素的属性因为动画或者脚本而发生变化的话,而且此属性又是可以被继承的话,包括该元素节点在内,其所有子节点元素的边框也应该被置为失效,需要重新计算,并加入到当前失效区域的计算中;
2)如果该元素因为动画或者脚本被添加进场景树或从场景树删除的话,那么它当前的边框将被加入到失效区域的计算中;
3)对于<use>节点来说,它的边框是其当前坐标系与其所引用的节点元素的边框进行计算的结果;
4)而对于<animation>来说,其边框就是其当前坐标系与其视口进行计算的结果;
5)在一些会引起整个文档视图发生变化的情况下,例如SVGScroll Event,SVGResize Event,SVGRotate Event,SVGZomm Event,或者通过动画改变了当前文档的viewBox或者视口等,可以不进行失效区域的计算,将整个视口作为当前渲染的失效区域,这样可以节省计算时间。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (3)
1.一种富媒体场景的局部渲染方法,其特征在于,包括以下步骤:
(1)、在合成步骤中,如果满足以下任意一条件:
a1、当前场景时间触发了脚本执行或改变了动画元素的状态,造成了场景树的改变;
a2、用户交互或外部事件触发脚本对场景树进行了任何修改或者使动画元素状态发生了改变;
则进入到渲染阶段,反之则不进行渲染;
(2)、渲染阶段
b1、失效区域计算
遍历场景树,对任意一个可绘制元素,因为动画或者脚本的缘故,引起了该元素或其部分属性发生了变化,则重新计算当前时刻该元素的边框位置,并与该元素上一次渲染时保存的边框的位置进行合并,生成该元素需要渲染的元素失效区域;
将该元素的失效区域与当前文档失效区域进行合并,生成新的当前文档失效区域;遍历过程中,第一个元素的失效区域不需要合并,直接作为当前文档失效区域;
遍历场景树完成后,得到最终的当前文档失效区域;
b2、渲染
将步骤b1计算出来的最终的当前文档失效区域作为此次渲染的范围进行渲染;当前场景树上边框与此文档失效区域相交的元素也进行被渲染,并且将其边框保存,在下一次渲染的时候参与失效区域的计算。
2.根据权利要求1所述的富媒体场景的局部渲染方法,其特征在于,步骤(2)b1中,对触发的脚本或动画引起整个文档视图发生变化的情况下,不进行当前文档失效区域的计算。
3.根据权利要求1所述的富媒体场景的局部渲染方法,其特征在于,步骤(2)b1中,所述的因为动画或者脚本而发生属性变化的元素,如果发生变化的属性又是可以被继承的话,包括该元素节点在内,其所有子节点元素的边框也应该被置为失效,需要重新计算,并加入到当前失效区域的计算中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010276402 CN101968887A (zh) | 2010-09-08 | 2010-09-08 | 一种富媒体场景的局部渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010276402 CN101968887A (zh) | 2010-09-08 | 2010-09-08 | 一种富媒体场景的局部渲染方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101968887A true CN101968887A (zh) | 2011-02-09 |
Family
ID=43548037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010276402 Pending CN101968887A (zh) | 2010-09-08 | 2010-09-08 | 一种富媒体场景的局部渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101968887A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663002A (zh) * | 2012-03-16 | 2012-09-12 | 掌中帷幄(北京)科技有限公司 | 结构化文档的渲染方法及*** |
CN104602116A (zh) * | 2014-12-26 | 2015-05-06 | 北京农业智能装备技术研究中心 | 一种交互式富媒体可视化渲染方法及*** |
WO2015090064A1 (zh) * | 2013-12-19 | 2015-06-25 | 华为技术有限公司 | 页面渲染方法及装置 |
CN105069834A (zh) * | 2015-08-05 | 2015-11-18 | 北京乐动卓越科技有限公司 | 一种游戏图像渲染方法及*** |
CN106060522A (zh) * | 2016-06-29 | 2016-10-26 | 努比亚技术有限公司 | 一种视频图像的处理装置及方法 |
CN108171783A (zh) * | 2018-03-20 | 2018-06-15 | 联想(北京)有限公司 | 图像渲染方法、***以及电子设备 |
CN108881706A (zh) * | 2017-05-16 | 2018-11-23 | 北京三星通信技术研究有限公司 | 控制多媒体设备工作的方法及装置 |
CN109064540A (zh) * | 2018-08-10 | 2018-12-21 | (株)韩国诺仪器株式会社 | 视图渲染***、频谱分析仪和渲染方法 |
CN109145272A (zh) * | 2018-07-27 | 2019-01-04 | 广州视源电子科技股份有限公司 | 文本渲染和布局方法、装置、设备和存储介质 |
CN111481920A (zh) * | 2019-01-25 | 2020-08-04 | 上海察亚软件有限公司 | 一种适用于移动端的游戏内图像处理*** |
CN111611031A (zh) * | 2019-02-26 | 2020-09-01 | 华为技术有限公司 | 一种图形绘制方法和电子设备 |
CN112598568A (zh) * | 2020-12-28 | 2021-04-02 | 航天科技控股集团股份有限公司 | 全液晶仪表动态渲染方法 |
WO2021134462A1 (en) * | 2019-12-31 | 2021-07-08 | Qualcomm Incorporated | Methods and apparatus to facilitate region of interest tracking for in-motion frames |
CN114708377A (zh) * | 2022-06-02 | 2022-07-05 | 杭州华鲤智能科技有限公司 | 一种虚拟空间中的3d图像渲染方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252597A (zh) * | 2008-04-03 | 2008-08-27 | 电子科技大学 | 一种缩短富媒体场景呈现等待时间的方法 |
CN101281532A (zh) * | 2008-05-22 | 2008-10-08 | 成都普辰瑞通通讯技术有限公司 | 一种可扩展的富媒体场景操作方法 |
CN101539845A (zh) * | 2009-04-24 | 2009-09-23 | 无锡天脉聚源传媒科技有限公司 | 用于富媒体交互展示的软件视频墙方法 |
US20090265603A1 (en) * | 2008-04-21 | 2009-10-22 | Samsung Electronics Co., Ltd. | Apparatus and method for composing scenes using rich media contents |
US20090282286A1 (en) * | 2006-08-17 | 2009-11-12 | Froejdh Per | Error recovery for rich media |
-
2010
- 2010-09-08 CN CN 201010276402 patent/CN101968887A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090282286A1 (en) * | 2006-08-17 | 2009-11-12 | Froejdh Per | Error recovery for rich media |
CN101252597A (zh) * | 2008-04-03 | 2008-08-27 | 电子科技大学 | 一种缩短富媒体场景呈现等待时间的方法 |
US20090265603A1 (en) * | 2008-04-21 | 2009-10-22 | Samsung Electronics Co., Ltd. | Apparatus and method for composing scenes using rich media contents |
CN101281532A (zh) * | 2008-05-22 | 2008-10-08 | 成都普辰瑞通通讯技术有限公司 | 一种可扩展的富媒体场景操作方法 |
CN101539845A (zh) * | 2009-04-24 | 2009-09-23 | 无锡天脉聚源传媒科技有限公司 | 用于富媒体交互展示的软件视频墙方法 |
Non-Patent Citations (1)
Title |
---|
《计算机辅助设计与图形学学报》 20100831 张骥先,罗蕾,姜帆 移动设备上富媒体场景渲染优化策略 全文 1-3 第22卷, 第8期 2 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663002B (zh) * | 2012-03-16 | 2014-05-07 | 掌中帷幄(北京)科技有限公司 | 结构化文档的渲染方法及*** |
CN102663002A (zh) * | 2012-03-16 | 2012-09-12 | 掌中帷幄(北京)科技有限公司 | 结构化文档的渲染方法及*** |
WO2015090064A1 (zh) * | 2013-12-19 | 2015-06-25 | 华为技术有限公司 | 页面渲染方法及装置 |
CN104602116A (zh) * | 2014-12-26 | 2015-05-06 | 北京农业智能装备技术研究中心 | 一种交互式富媒体可视化渲染方法及*** |
CN104602116B (zh) * | 2014-12-26 | 2019-02-22 | 北京农业智能装备技术研究中心 | 一种交互式富媒体可视化渲染方法及*** |
CN105069834A (zh) * | 2015-08-05 | 2015-11-18 | 北京乐动卓越科技有限公司 | 一种游戏图像渲染方法及*** |
CN105069834B (zh) * | 2015-08-05 | 2018-06-01 | 北京乐动卓越科技有限公司 | 一种游戏图像渲染方法及*** |
CN106060522A (zh) * | 2016-06-29 | 2016-10-26 | 努比亚技术有限公司 | 一种视频图像的处理装置及方法 |
CN108881706A (zh) * | 2017-05-16 | 2018-11-23 | 北京三星通信技术研究有限公司 | 控制多媒体设备工作的方法及装置 |
CN108881706B (zh) * | 2017-05-16 | 2023-10-10 | 北京三星通信技术研究有限公司 | 控制多媒体设备工作的方法及装置 |
US10867426B2 (en) | 2018-03-20 | 2020-12-15 | Lenovo (Beijing) Co., Ltd. | Image rendering method and system |
CN108171783A (zh) * | 2018-03-20 | 2018-06-15 | 联想(北京)有限公司 | 图像渲染方法、***以及电子设备 |
CN109145272A (zh) * | 2018-07-27 | 2019-01-04 | 广州视源电子科技股份有限公司 | 文本渲染和布局方法、装置、设备和存储介质 |
CN109145272B (zh) * | 2018-07-27 | 2022-09-16 | 广州视源电子科技股份有限公司 | 文本渲染和布局方法、装置、设备和存储介质 |
CN109064540A (zh) * | 2018-08-10 | 2018-12-21 | (株)韩国诺仪器株式会社 | 视图渲染***、频谱分析仪和渲染方法 |
CN111481920A (zh) * | 2019-01-25 | 2020-08-04 | 上海察亚软件有限公司 | 一种适用于移动端的游戏内图像处理*** |
CN111611031A (zh) * | 2019-02-26 | 2020-09-01 | 华为技术有限公司 | 一种图形绘制方法和电子设备 |
WO2021134462A1 (en) * | 2019-12-31 | 2021-07-08 | Qualcomm Incorporated | Methods and apparatus to facilitate region of interest tracking for in-motion frames |
CN112598568A (zh) * | 2020-12-28 | 2021-04-02 | 航天科技控股集团股份有限公司 | 全液晶仪表动态渲染方法 |
CN112598568B (zh) * | 2020-12-28 | 2024-05-31 | 航天科技控股集团股份有限公司 | 全液晶仪表动态渲染方法 |
CN114708377A (zh) * | 2022-06-02 | 2022-07-05 | 杭州华鲤智能科技有限公司 | 一种虚拟空间中的3d图像渲染方法 |
CN114708377B (zh) * | 2022-06-02 | 2022-09-30 | 杭州华鲤智能科技有限公司 | 一种虚拟空间中的3d图像渲染方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101968887A (zh) | 一种富媒体场景的局部渲染方法 | |
Wang et al. | Real-time high-quality stereo vision system in FPGA | |
CN101968888A (zh) | 一种适用于移动终端的矢量图形填充方法 | |
US11252226B2 (en) | Methods and apparatus for distribution of application computations | |
US20080148076A1 (en) | Power aware software pipelining for hardware accelerators | |
CN1946163A (zh) | 用于制作和播放具有热点区域的交互式视频的方法 | |
CN103021023A (zh) | 一种基于浏览器的三维场景构建方法 | |
CN104202546B (zh) | Cave沉浸式虚拟显示***与显示方法 | |
CN101840566A (zh) | 一种基于gpu并行计算的实时阴影生成方法及*** | |
CN104680572A (zh) | 基于bim的移动终端建筑模型渲染性能优化方法和*** | |
CN102982159A (zh) | 一种三维网页多场景快速切换方法 | |
CN104063224B (zh) | 基于三维gis切换多个精细化控制场景的方法及装置 | |
CN112802168A (zh) | 动画生成方法、装置及电视终端 | |
CN103460292B (zh) | 定义立体视觉图形对象的场景图形 | |
CN113784167A (zh) | 一种基于3d渲染的互动视频制作和播放的方法及终端 | |
CN104517309A (zh) | 帧循环中的动画处理方法和装置 | |
US20100278507A1 (en) | Subtitle Generation System and Method Thereof | |
CN102945558A (zh) | 一种高模渲染的优化方法 | |
Sun | Research on the application of 3D animation special effects in animated films: taking the film avatar as an example | |
CN104270673A (zh) | 文艺节目虚拟图文实时处理方法及*** | |
Chen | Virtual Anchors in the Metaverse: Exploring the Future of Live Broadcasting in the Digital Age | |
CN102096935A (zh) | 基于分块渲染的gpu中反走样线段的生成 | |
CN104252476A (zh) | 一种降低有效页面遮盖率的显示方法及*** | |
CN102306076B (zh) | 图形动态纹理的生成方法及终端 | |
CN100405404C (zh) | 一种虚拟人实时绘制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20110209 |