CN101211462A - 一种矢量图形加速方法及多媒体播放器 - Google Patents
一种矢量图形加速方法及多媒体播放器 Download PDFInfo
- Publication number
- CN101211462A CN101211462A CNA2007101256015A CN200710125601A CN101211462A CN 101211462 A CN101211462 A CN 101211462A CN A2007101256015 A CNA2007101256015 A CN A2007101256015A CN 200710125601 A CN200710125601 A CN 200710125601A CN 101211462 A CN101211462 A CN 101211462A
- Authority
- CN
- China
- Prior art keywords
- fundamental
- vector graphics
- graphical set
- decomposed
- set descriptor
- 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.)
- Granted
Links
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/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明适用于多媒体数据处理领域,提供了一种矢量图形加速方法及多媒体播放器,所述方法包括下述步骤:将矢量图形分解为由平底梯形或者直线组成的基本图形;将所述矢量图形的分解结果传送给硬件加速逻辑处理。本发明通过将矢量图形分解为以平底梯形和直线为基本图形的组合,使得图形加速器处理的基本图形规范、简单,便于硬件设计和实现,提升加速性能,降低产品功耗,缩短产品开发周期。
Description
技术领域
本发明属于多媒体数据处理领域,尤其涉及一种矢量图形加速方法及多媒体播放器。
背景技术
在计算机领域,一幅图像有栅格图形(Raster Graphics)和矢量图形(VectorGraphics)两种表示方式。栅格图形利用点位图(Bitmap)来刻画一幅场景,对显示设备的分辨率依赖较大。采用矢量图形可以克服栅格图形对显示设备分辨率的依赖,广泛应用于Flash动画播放、全球定位系统(Global PositioningSystem,GPS)图像处理等。
一幅二维矢量图形可由点、直线、曲线或者多边形和曲线围成的封闭几何区域构成。区域可用不同的方式填充,例如用单一颜色填充或者点位图填充。填充一般采用扫描线模型,从左到右、从上到下依次判断扫描线与各个几何图形是否相交,并将扫描线上位于区域内部的像素设置为指定模式。
填充过程需要进行大量计算,理论上可以基于通用CPU借助软件算法来实现,但是为了满足高分辨率图像的实时处理要求,CPU的时钟频率要很高。为了避免延长设计周期,提高产品成本和产品功耗,降低CPU的处理要求,一般在CPU之外引入一个由硬件加速逻辑实现的图形加速器,负责图形的填充和绘制等所有或者部分图形处理。
在对矢量图形进行处理时,现有技术中的一种方案利用软件引擎预先计算出每一条扫描线与每一条曲线的跨径(span),并记录下曲线的属性,利用一个“跨径”数据结构来描述它。每一条扫描线均依次计算,所有的“跨径”数据结构构成“跨径流(span stream)”,然后将“跨径流”提交给图形加速器。在这种方案中,封闭图形边沿在填充前已经被离散化,加速器填充的是由边沿点界定的一条条扫描线,并不知道与这些跨径相关的几何形体的整体特征,整体的几何特征内含于那些离散的点。扫描线以像素步进,对要填充的图形划分粒度过细,需要过多数据进行描述。
另一种方案以多边形和贝塞尔曲线形式给出的边沿描述信息,将贝赛尔曲线阶化,统一用多边形来表示。多边形边沿在边沿缓冲区中以边界子像素的形式进行设置,然后利用边界子像素填充封闭几何形内的其他像素。加速器接收多边形和贝赛尔曲线的边沿描述,然后在边沿缓存中置位边沿点,边沿点一旦置位,几何形体的描述信息就不再有用。多边形和贝塞尔曲线不规范,其边数和控制点数不定,增加了图形加速器的处理负担。
综上所述,现有方案并没有充分利用矢量图形的几何特征,过早地受制于显示设备的工作方式,导致图形加速器的处理逻辑复杂,处理效率低。
发明内容
本发明实施例的目的在于提供一种矢量图形加速方法,旨在解决现有方案在对矢量图形进行加速处理时,没有充分利用矢量图形的几何特征,导致图形加速器的处理逻辑复杂,处理效率低的问题。
本发明实施例是这样实现的,一种矢量图形加速方法,所述方法包括下述步骤:
将矢量图形分解为由平底梯形或者直线组成的基本图形;
将所述矢量图形的分解结果传送给硬件加速逻辑处理。
本发明实施例的另一目的在于提供一种多媒体数据的播放方法,所述方法包括下述步骤:
解析需要播放的多媒体数据,获取多媒体数据中的矢量图形;
将所述矢量图形分解为由平底梯形或者直线组成的基本图形,输出所述矢量图形的分解结果;
通过硬件加速逻辑对所述矢量图形的分解结果进行加速处理。
本发明实施例的另一目的在于提供一种多媒体数据的播放系统,所述系统包括:
应用单元,用于解析需要播放的多媒体数据,获取多媒体数据中的矢量图形;
驱动单元,用于将所述矢量图形分解为由平底梯形或者直线组成的基本图形,输出所述矢量图形的分解结果;以及
加速器单元,用于对所述矢量图形的分解结果进行加速处理。
本发明实施例的另一目的在于提供采用上述多媒体播放系统实现的多媒体播放终端。
本发明实施例的另一目的在于提供一种多媒体播放器,包括CPU、内存控制器、与所述内存控制器连接的内存、显示控制器、与所述显示控制器连接的显示器,以及连接外部存储器的存储控制器,所述播放器进一步包括:
数据解析单元,用于解析CPU写入内存中的多媒体数据,获取多媒体数据中的矢量图形;
加速驱动单元,用于将所述矢量图形分解为由平底梯形或者直线组成的基本图形,将所述矢量图形的分解结果写入内存;以及
图形加速器,用于对内存中存储的矢量图形的分解结果进行加速处理。
在本发明实施例中,通过将矢量图形分解为以平底梯形和直线为基本图形的组合,使得图形加速器处理的基本图形规范、简单,便于硬件设计和实现,提升加速性能,降低产品功耗,缩短产品开发周期。
附图说明
图1是本发明实施例提供的平底梯形示例图;
图2是本发明实施例提供的特殊平底梯形示例图;
图3是本发明实施例提供的矢量图形加速方法的实现流程图;
图4是本发明实施例提供的采用直线拟合贝赛尔曲线的示例图;
图5是本发明实施例提供的采用平底梯形拟合封闭曲线的示例图;
图6是本发明实施例提供的将不规则多边形分解为平底梯形的示例图;
图7是本发明实施例提供的平底梯形的填充方式示例图;
图8是本发明实施例提供的二维链表的结构示例图;
图9是本发明实施例提供的图形上下文的组成示意图;
图10是本发明实施例提供的多媒体播放的功能分层示意图;
图11是本发明实施例提供的多媒体播放系统的结构图;
图12是本发明实施例提供的多媒体播放器的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,选取直线和平底梯形作为基本图形,将矢量图形分解为由平底梯形或者直线组成的基本图形,传送给硬件加速逻辑处理,可以简化硬件加速逻辑,提高处理效率。
在本发明实施例选择的基本图形中,直线的斜率可以大范围变动,只要知道直线的起点和斜率,硬件加速逻辑很容易绘制整条直线。直线可以利用起点和斜率表示,如果斜率无穷大,则使用特定的表达方式进行标识。直线的绘制可以利用计算机图形学中的标准算法。
平底梯形为一种规范的四边形,其边数确定,上下底平行减少了表示梯形的参数个数,并且易于作为一个整体对其所包围的区域进行填充。同时,平底梯形划分图形有更大的划分粒度,一个平底梯形可以与多条扫描线相交。
平底梯形的上下底与x轴平行,两条侧边是两条直线。如图1所示,一个平底梯形可用六个值来表示。其中,x0和x1为梯形顶部从左至右两个端点的x坐标值,x2和x3为梯形底部从左至右两个端点的x坐标值,y0和y1为上下两条平行边上的点对应的y坐标值。
如图2a~d所示,将上下边与x轴平行的矩形或正方形均视为平底梯形,更近一步,一个平底梯形的上底或者下底其中之一可以退化为一个点,形成有一边与x轴平行的三角形。
在本发明实施例中,平底梯形可与多条扫描线相交,当指定平底梯形的六个几何特征参数,其边沿以及与其相交的扫描线就确定了,比扫描线有更大的计算粒度。
图3示出了本发明实施例提供的矢量图形加速方法的实现流程,详述如下:
在步骤S301中,将矢量图形分解为平底梯形或者直线组成的基本图形;
在本发明实施例中,曲线通过直线拟合,拟合精度决定了曲线是否平滑,评价标准一般是建立在经验统计基础上。作为本发明的一个实施例,由直线拟合的曲线为贝塞尔曲线。如图4所示,贝赛尔曲线由P1、P2和P3三个点定义,其中P1和P3是曲线的端点,P2是曲线的控制点,拟合过程示例如下:
(1)计算P1P2的中点P4和P2P3的中点P5,然后计算P4P5的中点P6;
(2)计算包围P1、P2、P3的最小矩形R的面积;
(3)如果R的面积小于指定阈值T,则用P1P6和P6P3作为曲线的拟合直线,结束拟合过程;
(4)如果R的面积大于指定阈值T,则将曲线P1P2P3分割为P1P4P6和P6P5P3两条曲线,分别对每一条曲线进行拟合,执行(1)~(4)的步骤。
以P1P4P6为例,分别计算P1P4和P4P6的中点P7和P8,然后计算P7P8的中点P9(P9在曲线上)。计算包围P1P4P6的最小矩形的面积,如果该面积小于阈值T,则用P1P9和P9P6作为曲线P1P4P6的拟合直线,结束拟合过程。如果大于T,则重复分割下去,直到满足阈值要求。阈值T一般根据经验和实际需求决定,例如分辨率为320×240的显示屏选取T=16(单位为像素的平方)即可获取比较平滑的拟合效果。
曲线用直线拟合后,曲线围成的封闭区域就可以用多边形来拟合,多边形进一步可分解为平底梯形的组合,这样曲线构成的封闭区域最终可用一系列平底梯形来拟合,如图5所示。图6示意了将一个不规则多边形分解为平底梯形的过程。
作为本发明的一个实施例,将多边形分解为平底梯形的组合的实现流程详述如下:
(1)删除多边形的水平边,因为水平边在分割过程中不起作用。
(2)按y坐标从小到大调整每条边的走向,例如边(x1,y1)→(x2,y2),如果y1大于y2,则交换边的两个端点,变为(x2,y2)→(x1,y1)。
(3)按照起点的y坐标从小到大对所有边排序,y坐标相同的边可随意排序,排序操作生成边的有序列表L。
在本发明实施例中,使用T表示边表,使用变量F来标记边表T是否更新,0表示没有更新,1表示已经更新;变量n标记已经就绪的梯形底边数目,0表示梯形底边没有一条就绪,1表示梯形的上底已经就绪,2表示两条底边都已就绪;Sc表示扫描线,Sc+1表示紧接着Sc的下一条扫描线;A[0]和A[1]表示两个有序列表,均用于记录扫描线与边的交点。利用上述符号,分解过程可如下描述:
a.初始化F为0,n为0,T为空,扫描线Sc为多边形y坐标最小的顶点所在的扫描线;
b.计算扫描线Sc的下一条扫描线Sc+1;
c.顺序遍历列表L的各边en,如果扫描线Sc与边en相交,则将其从L中删除,放入边表T中,设置F为1;
d.检查F,如果F等于1时,则n增加1,遍历T中各边em,计算边em与扫描线Sc的交点,将交点坐标加在A[n-1]链表的尾部。T中各边遍历完成后,对A[n-1]链表按照x坐标从小到大的顺序排序,然后将F置为0;
e.遍历T中各边em,检查边em与扫描线Sc+1是否不相交,如果不相交则将F设置为1,并将边em从T中删除;
f.检查n的值,如果n等于2,从A[0]的头部顺序删除两个节点,分别作为梯形上底的左端点和右端点,从A[1]的头部顺序删除两个节点,作为梯形下底的左端点和右端点,利用这四个点构成一个平底梯形,将此梯形加入分解结果列表中。重复步骤f中的动作,直到A[0]链表为空,设置n为0;
g.判断T是否为空。如果T为空,则分割结束,否则设置Sc为Sc+1,跳转到b步骤处执行。
在步骤S302中,将矢量图形分解结果传送给硬件加速逻辑处理。
在本发明实施例中,硬件加速逻辑对平底梯形填充时充分利用其的几何特征,可以顺着两条斜边向下,填充夹在两条斜边之间的区域。具体算法如下所述:
(1)设置显存的基地址base;
(2)计算平底梯形两条斜边的斜率倒数step1,step2:
step1=(x2-x0)/(y1-y0);
step2=(x3-x1)/(y1-y0);
(3)初始化起点和终点坐标(Xs,Ys)和(Xe,Ye)
Xs=x0;
Ys=y0;
Xe=x1;
Ye=y0;
(4)计算起点和终点对应的像素在显存中的地址start和end,width为显示设备x方向的分辨率。
其中,对于RGB 32BPP格式:
start=base+(Ys*width+Xs)*4;
end=base+(Ye*width+Xe)*4;
对于RGB 16BPP格式:
start=base+(Ys*width+Xs)*2;
end=base+(Ye*width+Xe)*2;
(5)按照指定的填充样式,填充start到end地址间的显存。
(6)找到下一对要填充的起点和终点:
Xs=Xs+step1;
Ys=Ys+1;
Xe=Xe+step2;
Ye=Ye+1;
(7)如果Ys超过了y1则填充结束,否则跳转到步骤(4)处执行。
需要说明的是,平底梯形的填充算法并不是唯一的。图7示出了矩形的多种填充方式,图7a沿左右两边垂直向下移动,移动过程中边长不变,图7b上下两边水平向左移动,移动过程中边长不变,图7c沿斜向上填充矩形。
作为本发明的一个实施例,为了提升硬件加速逻辑的处理性能,使得处理逻辑实现规范、简单,便于处理逻辑的设计,将分解后获得的基本图形按照如下规则进行组织:
(1)将由一个图形分解出的,具有相同的类型,并且采用同样的填充或者绘制样式多个基本图形链接在一起;
(2)将由不同图形分解出的,具有相同的类型,并且采用同样的填充或者绘制样式多个基本图形链接在一起;
(3)将链接在一起的多个基本图形形成一个图形组,同一图形组下的基本图形共享同一填充或者绘制样式;
(4)将多个图形组链接在一起。
依照上述规则,复杂矢量图形的分解结果可以用一个二维链表来表示。链表的基本节点包括图形描述符和图形组描述符。图形描述符包含有基本图形的几何特征参数及其施加的操作等信息。图形组描述符包含有基本图形构成的一组基本图形的共同属性及操作等信息。如图8所示,水平方向上,一个图形组描述符引领多个图形描述符。垂直方向上,多个图形组描述符链接在一起。图形组包括的基本图形数目可以不同,也不必来自于同一图形。
在本发明实施例中,一个二维链表中图形描述符和图形组描述符所指定的所有操作可以构成一个绘图事务,作为硬件加速逻辑处理的对象。硬件加速逻辑执行绘图事务时,遵循从左到右、从上到下的处理过程:
(1)初始化当前图形组描述符为第一个图形组描述符;
(2)读取当前图形组描述符,获取当前图形组的属性及操作,然后在水平方向上逐一处理各个图形描述符。当前图形组包括的所有基本图形均处理完成后,获取当前图形组描述符指向的下一个图形组描述符,并将其设置为当前图形组描述符。如果下一个图形组描述符不存在,则转入(3)执行,否则重复步骤(2);
(3)产生通知事件,告知绘图事务执行完毕,事件以中断、特定寄存器状态位的设置或者清除的形式出现,但并不局限于这些形式。
矢量图形分解时,可以产生一个或者多个绘图事务,并同步或者异步地推动绘图事务在硬件加速逻辑的执行。如果采用异步处理方式,对已经提交但是尚未由硬件加速逻辑处理的绘图事务进行管理。异步事务可以撤销,如果其还没有被硬件加速逻辑执行。
在本发明实施例中,绘图事务归属于图形上下文,图形上下文代表绘图事务执行的虚拟环境,包括但不局限于目标显示设备的分辨率、颜色深度和显存的地址及其长度等属性。此外,还可以提供图形和图形组描述符建立时所需的属性,例如线属性、变换矩阵属性和点位图(bitmap,BMP)属性等。
图9示意了一个图形上下文,图形上下文的属性是可修改的,但是修改的效果并不溯及已经生成的图形和图形组描述符,而只影响将要生成的图形和图形组描述符。
本发明实施例可以广泛应用于嵌入式多媒体播放装置中,例如播放Flash动画、GPS导航图像等。嵌入式媒体播放装置在设计时,往往受到很多因素的限制,例如产品成本、功耗、尺寸、开发时间等。因此优化方案往往是一种软硬件密切配合的方案,将哪一些功能用软件来实现,哪一些用硬件来实现,如何降低软硬件协调的开销等这些问题放在应用的整体框架下来考虑。作为本发明的优化实施例,如图10所示,将多媒体播放装置在功能上划分为应用层、驱动层和加速器层三个层次。
应用层解析多媒体数据,数据中记载了具体的矢量图形和操作。应用层不直接操作加速器层来处理矢量图形,而调用驱动层提供的图形处理功能,对获取的矢量图形进行处理。由于应用层的形体几何特征是不规范的,驱动层将应用层请求处理的矢量图形分解为由平底梯形或者直线组成的基本图形,并将其进行有序组织,然后交与加速器层处理。加速器层按照确定的方式逐一处理每一个基本图形。通过应用层、驱动层和加速器层密切配合,可以保证最优的系统性能。
在本发明实施例中,应用层、驱动层和加速器层利用通用处理器还是专用硬件加速逻辑来实现,没有本质上的差别,更多地受制于产品在系统性能、功耗、成本和设计周期等方面的要求。
图11示出了本发明实施例提供的多媒体播放系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。该系统可以集成在多媒体播放终端内,例如移动电话、个人数字助理(Personal Digital Assistant,PDA)、MP4、GPS导航器等,实现Flash动画文件、GPS图像等以矢量图形构成的多媒体数据的播放。
以播放Flash动画为例,应用单元根据Flash文件规格解析FLASH动画文件,分析各个标签(Tag),构造图形显示列表,执行标签规定的动作。当应用单元111分析到显示帧(ShowFrame)标签时,依次显示图形显示列表上记录的矢量图形,然后将图形显示列表清空,继续分析其他标签。图形显示列表描述了所有要显示的几何形体的边界特征、属性以及显示顺序。在本发明实施例中,应用单元111不直接操作加速器单元113处理图形显示列表的矢量图形,它调用驱动单元112提供的图形处理功能。
驱动单元112将应用单元111请求处理的矢量图形分解为类型简单、几何特征规范的平底梯形或者直线的组合。如上所述,为了提升加速器单元113的处理性能,便于处理逻辑的设计,分解结果组织模块1121可以根据基本图形的类型和绘制或者填充样式对分解结果进行有序组织,形成一个二维链表,传送给加速器单元113处理,加速器单元113按照确定的方式逐一处理每一个基本图形,对基本图形进行填充或者绘制。
图12示出了本发明实施例提供的多媒体播放器的结构,为了便于说明,仅示出了与本发明实施例相关的部分。该多媒体播放器可以是移动电话、PDA、MP4、GPS导航器等。其中,CPU121、图形加速器124、内存控制器125、显示控制器127、存储控制器129可以通过高速总线相连,组成一个片上系统(System on Chip,SoC)。
作为本发明的一个实施例,数据解析单元122和加速驱动单元123通过软件单元实现,由CPU121加载执行,以适应对矢量图形进行复杂多变的控制和处理,图形加速器124采用专用硬件加速逻辑,例如Flash加速器,以充分发挥硬件并行处理的优势。
CPU 121将Flash动画文件、GPS图像等数据从经存储控制器129与多媒体播放器连接的硬盘、存储卡等可持久性存储器120中读取出来放到内存126中,调用数据解析单元122。数据解析单元122对数据进行解析,数据中记载了具体的矢量图形和操作信息,加速驱动单元123将数据解析单元122获取的矢量图形分解为由平底梯形或者直线组成的基本图形,作为本发明的一个实施例,基本图形组织模块1231根据基本图形的类型、填充或者绘制样式等将基本图形进行链接等有序组织,链接后的结果形成一个二维链表,并将该二维链表存储在内存126中。
图形加速器124对矢量图形进行填充或者绘制时,从内存126中读取一个二维链表,根据二维链表中的图形描述符和图形组描述符,对基本图形进行填充和绘制,处理完成后产生一个中断给CPU121,接着处理下一个二维链表,基本图形填充和绘制完成后放到内存126中,显示控制器127定时或者周期性到内存126读取填充或者绘制完成的基本图形,传送到显示器128显示。
在本发明实施例中,通过将矢量图形分解为以平底梯形和直线为基本图形的组合,使得硬件加速逻辑处理的基本图形规范、简单,便于硬件设计和实现,提升图形加速性能,降低产品功耗,缩短产品开发周期。同时,分解后的基本图形以二维链表的形式组织,组织方式与矢量图形的分解过程匹配,易于加速驱动的设计和实现,一次系统调用的开销可以平摊到多个图形上,提高系统的执行效率。另外,本发明实施例将系统架构分为应用、驱动和加速三个层次,可以灵活地在软件和硬件处理逻辑之间进行功能划分,使得硬件加速逻辑实现简单,保证系统方案具有较大的灵活性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种矢量图形加速方法,其特征在于,所述方法包括下述步骤:
将矢量图形分解为由平底梯形或者直线组成的基本图形;
将所述矢量图形的分解结果传送给硬件加速逻辑处理。
2.如权利要求1所述的方法,其特征在于,所述将矢量图形分解为由平底梯形或者直线组成的基本图形的步骤具体为:
将非封闭曲线采用直线拟合;或者
将曲线围成的封闭区域采用多边形拟合,并将所述多边形分解为平底梯形的组合;或者
将多边形分解为平底梯形的组合。
3.如权利要求1或2所述的方法,其特征在于,所述将矢量图形分解为由平底梯形或者直线组成的基本图形的步骤进一步包括:
根据基本图形的类型,以及基本图形采用的填充或者绘制样式,对分解后的基本图形进行有序组织。
4.如权利要求3所述的方法,其特征在于,所述对分解后的基本图形进行有序组织的步骤具体为:
将具有相同的类型,并且采用同样的填充或者绘制样式的多个基本图形链接在一起;
将链接在一起的多个基本图形形成一个图形组;
将多个图形组链接在一起。
5.如权利要求4所述的方法,其特征在于,所述对分解后的基本图形进行有序组织的步骤进一步包括:
配置用于表示所述矢量图形的分解结果的二维数据链表,所述链表的基本节点包括图形描述符和图形组描述符;
所述图形描述符包含有基本图形的几何特征参数及操作信息;
所述图形组描述符包含有基本图形构成的一组基本图形的共同属性及操作信息。
6.一种多媒体数据的播放方法,其特征在于,所述方法包括下述步骤:
解析需要播放的多媒体数据,获取多媒体数据中的矢量图形;
将所述矢量图形分解为由平底梯形或者直线组成的基本图形,输出所述矢量图形的分解结果;
通过硬件加速逻辑对所述矢量图形的分解结果进行加速处理。
7.如权利要求6所述的方法,其特征在于,所述将矢量图形分解为由平底梯形或者直线组成的基本图形的步骤具体为:
将非封闭曲线采用直线拟合;或者
将曲线围成的封闭区域采用多边形拟合,并将所述多边形分解为平底梯形的组合;或者
将多边形分解为平底梯形的组合。
8.如权利要求6或7所述的方法,其特征在于,所述将矢量图形分解为由平底梯形或者直线组成的基本图形的步骤进一步包括:
根据基本图形的类型,以及基本图形采用的填充或者绘制样式,对分解后的基本图形进行有序组织。
9.如权利要求8所述的方法,其特征在于,所述对分解后的基本图形进行有序组织的步骤具体为:
将具有相同的类型,并且采用同样的填充或者绘制样式的多个基本图形链接在一起;
将链接在一起的多个基本图形形成一个图形组;
将多个图形组链接在一起。
10.如权利要求9所述的方法,其特征在于,所述对分解后的基本图形进行有序组织的步骤进一步包括:
配置用于表示所述矢量图形的分解结果的二维数据链表,所述链表的基本节点包括图形描述符和图形组描述符;
所述图形描述符包含有基本图形的几何特征参数及操作信息;
所述图形组描述符包含有基本图形构成的一组基本图形的共同属性及操作信息。
11.如权利要求10所述的方法,其特征在于,所述对所述矢量图形的分解结果进行加速处理的步骤具体为:
初始化当前图形组描述符为第一个图形组描述符;
读取当前图形组描述符,获取当前图形组的属性及操作信息,逐一处理各个图形描述符;
当前图形组包括的所有基本图形均处理完成后,获取当前图形组描述符指向的下一个图形组描述符,并将所述下一个图形组描述符设置为当前图形组描述符,继续处理,如果下一个图形组描述符不存在,则产生处理完毕的通知事件。
12.一种多媒体数据的播放系统,其特征在于,所述系统包括:
应用单元,用于解析需要播放的多媒体数据,获取多媒体数据中的矢量图形;
驱动单元,用于将所述矢量图形分解为由平底梯形或者直线组成的基本图形,输出所述矢量图形的分解结果;以及
加速器单元,用于对所述矢量图形的分解结果进行加速处理。
13.如权利要求12所述的系统,其特征在于,所述应用单元和驱动单元为软件单元。
14.如权利要求12或13所述的系统,其特征在于,所述驱动单元进一步包括:
分解结果组织模块,用于根据基本图形的类型,以及基本图形采用的填充或者绘制样式,对分解后的基本图形进行有序组织。
15.如权利要求14所述的系统,其特征在于,所述对分解后的基本图形进行有序组织通过链接方式,所述链接方式通过二维数据链表表示,所述链表的基本节点包括图形描述符和图形组描述符;
所述图形描述符包含有基本图形的几何特征参数及操作信息;
所述图形组描述符包含有基本图形构成的一组基本图形的共同属性及操作信息。
16.一种采用权利要求12所述的系统实现的多媒体播放终端。
17.一种多媒体播放器,包括CPU、内存控制器、与所述内存控制器连接的内存、显示控制器、与所述显示控制器连接的显示器,以及连接外部存储器的存储控制器,其特征在于,所述播放器进一步包括:
数据解析单元,用于解析CPU写入内存中的多媒体数据,获取多媒体数据中的矢量图形;
加速驱动单元,用于将所述矢量图形分解为由平底梯形或者直线组成的基本图形,将所述矢量图形的分解结果写入内存;以及
图形加速器,用于对内存中存储的矢量图形的分解结果进行加速处理。
18.如权利要求17所述的多媒体播放器,其特征在于,所述加速驱动单元进一步包括:
基本图形组织模块,用于根据基本图形的类型,以及基本图形采用的填充或者绘制样式,对分解后的基本图形进行有序组织。
19.如权利要求18所述的多媒体播放器,其特征在于,所述对分解后的基本图形进行有序组织通过链接方式,所述链接方式通过二维数据链表表示,所述链表的基本节点包括图形描述符和图形组描述符;
所述图形描述符包含有基本图形的几何特征参数及操作信息;
所述图形组描述符包含有基本图形构成的一组基本图形的共同属性及操作信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101256015A CN100550059C (zh) | 2007-12-21 | 2007-12-21 | 一种矢量图形加速方法及多媒体播放器 |
PCT/CN2008/073612 WO2009082946A1 (fr) | 2007-12-21 | 2008-12-19 | Procédé d'accélération d'image vectorielle et lecteur multimédia |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101256015A CN100550059C (zh) | 2007-12-21 | 2007-12-21 | 一种矢量图形加速方法及多媒体播放器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101211462A true CN101211462A (zh) | 2008-07-02 |
CN100550059C CN100550059C (zh) | 2009-10-14 |
Family
ID=39611468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101256015A Expired - Fee Related CN100550059C (zh) | 2007-12-21 | 2007-12-21 | 一种矢量图形加速方法及多媒体播放器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN100550059C (zh) |
WO (1) | WO2009082946A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009082946A1 (fr) * | 2007-12-21 | 2009-07-09 | Actions Semiconductor Co., Ltd. | Procédé d'accélération d'image vectorielle et lecteur multimédia |
CN102724413A (zh) * | 2011-05-09 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种自定义多边形单元实现字幕特效的方法及系统 |
CN102724414A (zh) * | 2011-05-09 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种多任务实现字幕特效的方法及系统 |
CN102724416A (zh) * | 2011-05-09 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种通过区域划分实现字幕特效的方法及系统 |
WO2013086965A1 (zh) * | 2011-12-13 | 2013-06-20 | 上海炬力集成电路设计有限公司 | 计算机图像处理中矢量化图形的处理方法及系统和装置 |
CN103593862A (zh) * | 2013-11-21 | 2014-02-19 | 广东威创视讯科技股份有限公司 | 一种图像显示方法及控制单元 |
CN103606179A (zh) * | 2013-12-02 | 2014-02-26 | 珠海金山办公软件有限公司 | 一种动画图像显示方法及装置 |
CN103731153A (zh) * | 2012-10-12 | 2014-04-16 | 上海炬力集成电路设计有限公司 | 计算机图像处理中对矢量化图形进行数据压缩的方法及装置 |
CN105528217A (zh) * | 2015-12-24 | 2016-04-27 | 北京白鹭时代信息技术有限公司 | 一种基于显示列表的局部刷新方法及装置 |
CN109656106A (zh) * | 2019-01-25 | 2019-04-19 | 墨研计算科学(南京)有限公司 | 一种计算光刻中掩模版的处理方法及装置 |
CN111273971A (zh) * | 2018-12-04 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 视图中的信息处理方法、装置及存储介质 |
CN112102435A (zh) * | 2020-09-24 | 2020-12-18 | 北京文香信息技术有限公司 | 一种几何图形绘制的方法、装置、设备及存储介质 |
CN114968041A (zh) * | 2022-05-24 | 2022-08-30 | 北京有竹居网络技术有限公司 | 基于图形的事件响应方法、装置、设备和介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105682964B (zh) * | 2013-11-01 | 2019-01-04 | 本田技研工业株式会社 | 动力产生装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644691A (en) * | 1994-10-14 | 1997-07-01 | Compaq Computer Corporation | Method and apparatus for accelerated filling of polygons on a computer display by rectangular decomposition |
EP1528512A3 (en) * | 2003-10-28 | 2006-02-15 | Samsung Electronics Co., Ltd. | Graphic decoder, image reproduction apparatus and method for graphic display acceleration based on commands |
CN100550059C (zh) * | 2007-12-21 | 2009-10-14 | 炬力集成电路设计有限公司 | 一种矢量图形加速方法及多媒体播放器 |
-
2007
- 2007-12-21 CN CNB2007101256015A patent/CN100550059C/zh not_active Expired - Fee Related
-
2008
- 2008-12-19 WO PCT/CN2008/073612 patent/WO2009082946A1/zh active Application Filing
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009082946A1 (fr) * | 2007-12-21 | 2009-07-09 | Actions Semiconductor Co., Ltd. | Procédé d'accélération d'image vectorielle et lecteur multimédia |
CN102724413B (zh) * | 2011-05-09 | 2015-11-18 | 新奥特(北京)视频技术有限公司 | 一种自定义多边形单元实现字幕特效的方法及系统 |
CN102724413A (zh) * | 2011-05-09 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种自定义多边形单元实现字幕特效的方法及系统 |
CN102724414A (zh) * | 2011-05-09 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种多任务实现字幕特效的方法及系统 |
CN102724416A (zh) * | 2011-05-09 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种通过区域划分实现字幕特效的方法及系统 |
CN102724416B (zh) * | 2011-05-09 | 2016-01-20 | 新奥特(北京)视频技术有限公司 | 一种通过区域划分实现字幕特效的方法及系统 |
CN102724414B (zh) * | 2011-05-09 | 2015-09-23 | 新奥特(北京)视频技术有限公司 | 一种多任务实现字幕特效的方法及系统 |
WO2013086965A1 (zh) * | 2011-12-13 | 2013-06-20 | 上海炬力集成电路设计有限公司 | 计算机图像处理中矢量化图形的处理方法及系统和装置 |
CN103731153B (zh) * | 2012-10-12 | 2016-09-28 | 上海炬力集成电路设计有限公司 | 计算机图像处理中对矢量化图形进行数据压缩的方法及装置 |
CN103731153A (zh) * | 2012-10-12 | 2014-04-16 | 上海炬力集成电路设计有限公司 | 计算机图像处理中对矢量化图形进行数据压缩的方法及装置 |
CN103593862A (zh) * | 2013-11-21 | 2014-02-19 | 广东威创视讯科技股份有限公司 | 一种图像显示方法及控制单元 |
WO2015081782A1 (zh) * | 2013-12-02 | 2015-06-11 | 北京金山办公软件有限公司 | 一种动画图像显示方法及装置 |
CN103606179A (zh) * | 2013-12-02 | 2014-02-26 | 珠海金山办公软件有限公司 | 一种动画图像显示方法及装置 |
CN105528217A (zh) * | 2015-12-24 | 2016-04-27 | 北京白鹭时代信息技术有限公司 | 一种基于显示列表的局部刷新方法及装置 |
CN111273971A (zh) * | 2018-12-04 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 视图中的信息处理方法、装置及存储介质 |
CN111273971B (zh) * | 2018-12-04 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 视图中的信息处理方法、装置及存储介质 |
CN109656106A (zh) * | 2019-01-25 | 2019-04-19 | 墨研计算科学(南京)有限公司 | 一种计算光刻中掩模版的处理方法及装置 |
CN109656106B (zh) * | 2019-01-25 | 2020-12-04 | 墨研计算科学(南京)有限公司 | 一种计算光刻中掩模版的处理方法及装置 |
CN112102435A (zh) * | 2020-09-24 | 2020-12-18 | 北京文香信息技术有限公司 | 一种几何图形绘制的方法、装置、设备及存储介质 |
CN114968041A (zh) * | 2022-05-24 | 2022-08-30 | 北京有竹居网络技术有限公司 | 基于图形的事件响应方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2009082946A1 (fr) | 2009-07-09 |
CN100550059C (zh) | 2009-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100550059C (zh) | 一种矢量图形加速方法及多媒体播放器 | |
CN100585631C (zh) | 图形绘制设备 | |
Lindstrom et al. | Visualization of large terrains made easy | |
US8570322B2 (en) | Method, system, and computer program product for efficient ray tracing of micropolygon geometry | |
JP4101275B2 (ja) | 走査線ベースのラスタ画像プロセッサにおける奥行き追跡の方法 | |
KR100575143B1 (ko) | 지리적 프리미티브를 포함하는 장면을 묘사하는 장치,메모리 자동 관리 방법 및 머신 판독가능 매체 | |
US5307451A (en) | Method and apparatus for generating and manipulating graphical data for display on a computer output device | |
CN110383269B (zh) | 基于多轴可变字体的动画字形 | |
CN1287330C (zh) | 用于区带渲染的有效图形状态管理 | |
CN112100795B (zh) | 一种计算机辅助设计图纸的对比方法及装置 | |
KR101136737B1 (ko) | 그래픽 처리방법 및 그 장치 | |
US6975318B2 (en) | Polygon binning process for tile-based rendering | |
CN104536743A (zh) | 基于安卓操作系统的地图标绘方法及系统 | |
JP2005044346A (ja) | 画素のランのための合成計算の最適化 | |
US20020158881A1 (en) | Apparatus and method for acceleration of 2D vector graphics using 3D graphics hardware | |
JP2005050317A (ja) | グラフィックオブジェクトシステムにおける連続フレームのレンダリング | |
CN107564077A (zh) | 一种绘制道路网的方法及装置 | |
JP7496956B2 (ja) | 画像処理のためのシステム、方法、および装置 | |
CN111339599A (zh) | 一种bim模型到gis模型的转换方法 | |
CN105894551A (zh) | 图像绘制方法及装置 | |
EP0344686A2 (en) | Clipping process and processor | |
CN105096364B (zh) | 一种动画数据生成方法、装置及电子设备 | |
JP2006139727A (ja) | 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体 | |
JPH01296389A (ja) | 図形処理方法及びその装置 | |
CN108986212B (zh) | 一种基于裂缝消除的三维虚拟地形lod模型的生成方法 |
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 | ||
C56 | Change in the name or address of the patentee | ||
CP02 | Change in the address of a patent holder |
Address after: 519085 hi tech Zone, Guangdong, Zhuhai science and Technology Innovation Coast Road, No. four, No. 1 Patentee after: Juli Integrated Circuit Design Co., Ltd. Address before: 519085 No. 1, unit 15, building 1, 1 Da Ha Road, Tang Wan Town, Guangdong, Zhuhai Patentee before: Juli Integrated Circuit Design Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091014 Termination date: 20161221 |