实时压缩及解压缩的绘图系统的制作方法

文档序号:2611718阅读:247来源:国知局

专利名称::实时压缩及解压缩的绘图系统的制作方法
技术领域
:本发明涉及一种绘图系统,特别涉及一种实时压缩及解压缩的绘图系统。
背景技术
:图1是已知游戏应用平台的方框图。在一般二维(twodimension、2D)游戏应用的平台上,为了节省运算量与带宽,通常是把小精灵(sprite)影像与背景(background)影像预先编码并储存于一储存装置110中。而当运算引擎(renderingengine、RE)130要读取小精灵影像与背景影像的时候,一解压缩装置120再把小精灵影像与背景影像进行解码。运算引擎(RE)130再对小精灵影像与背景影像进行影像处理,例如执行透明处理(alphablending)。然后,运算引擎(RE)130把影像处理后的RGB值储存于一暂存缓冲区(framebuffer)112。一显示装置140再读取暂存缓冲区112的数据,进而显示小精灵影像与背景影像。在对小精灵影像与背景影像编码时,最常用的方法,除了利用可变长度(variablelengthcoding,VLC)编码,还可以利用颜色对照表(colorlook-uptable、CLUT)或是霍夫曼(Huffman)编码等。当运算引擎(RE)130储存至暂存缓冲区112的数据已经是RGB值时,可针对此张影像再进一步做编码。在实时绘图及显像系统(real-timerenderinganddisplaygraphicimage)的应用中,已知技术是利用颜色对照表(CLUT)。也就是说,运算引擎(RE)130写到暂存缓冲区112的数据不再是RGB值,而是以指针(index)为主。例如一张影像只需256种颜色时,则在写到暂存缓冲区112所需的数据只要8位的指针值即可。显示影像时,再根据指针值去查询一颜色对照表(CLUT)而得到真正的RGB数据,该RGB数据可为16位或是24位。然而,此种方法最大的缺点是限制住颜色的种类。目前运算引擎(RE)130的设计皆以命令形式来驱动,所以,运算引擎(RE)130必须把一整张影像进行影像处理完成后,已知编码方法再依据此张影像以决定编码的方式,故已知编码方法通常都无法达到动态的效果。例如当运算引擎(RE)130收到一个要显示小精灵的命令且此小精灵的位置为{(20,20)-(39,39)}时,运算引擎(RE)130就会去从装置中110读取此小精灵的数据,然后把此小精灵的数据写到暂存缓冲区112的{(20,20)-(39,39)}区块中。当有另一个显示另一小精灵的命令且该小精灵的位置为{(10,10)-(49,49)}时,那么先前所显示小精灵影像就会被覆盖过去。由上所述可知,如果要对运算引擎(RE)130输出的RGB值做压缩的话,就必须等运算引擎(RE)130处理完一整张影像后,才能开始对整张影像执行压缩编码,因此会产生许多带宽的浪费,也不适合实时绘图及显像系统的架构。而目前已知的mpeg与jpeg编码压缩方法,由于需要大量的运算量和带宽,也不适合实时绘图及显像系统的应用。由于运算引擎(RE)130的输出没有被压缩,故需要较大的带宽以传送数据至该暂存缓冲区112。因此难以将暂存缓冲区112及储存装置中110整合至同一存储器装置中,而增加系统硬件成本。因此,已知的实时绘图及显像系统仍存有诸多的缺陷而有予以改进的必要。
发明内容本发明的主要目的是提供一种实时压缩及解压缩的绘图系统,以节省运算引擎传送数据至一暂存缓冲区的带宽,且可达到实时影像输出的功效,藉此减少暂存缓冲区的存取时间,以提升整个系统的效能。本发明的另一目的是提供一种实时压缩及解压缩的绘图系统,以节省运算引擎传送数据至一暂存缓冲区的使用量,且可达到实时影像输出的功效,从而减少硬件成本。为了达到上述目的,本发明提出一种实时压缩及解压缩的绘图系统,包含一储存装置、一解压缩装置、一运算引擎、一第一实时压缩装置、一暂存缓冲区及一第一实时解压缩装置。该储存装置储存至少一小精灵的压缩影像及至少一背景的压缩影像;该解压缩装置耦合至该储存装置,以对该至少一小精灵的压缩影像及该至少一背景的压缩影像执行解压缩运算而得到至少一小精灵影像及至少一背景影像;该运算引擎耦合至该解压缩装置,以对经过解压缩后的该至少一小精灵影像及该至少一背景影像执行影像处理,以产生一部分的显示影像;该第一实时压缩装置耦合至该运算引擎,以对该部分的显示影像执行实时压缩处理,而产生一压缩的部分显示影像;该暂存缓冲区耦合至该第一实时压缩装置,以暂存该压缩的部分显示影像;该第一实时解压缩装置耦合至该暂存缓冲区,以对该压缩的部分显示影像执行实时解压缩处理,并输出一影像信号,以供显示。综上所述,本发明利用第一实时压缩装置将影像处理后的多个像素执行实时压缩,以节省传送至暂存缓冲区的数据量,用以降低暂存缓冲区的存取频带宽及减少暂存缓冲区的硬件需求。图1是已知游戏应用平台的方框图;图2是本发明的实时压缩及解压缩的绘图系统的方框图;图3是本发明的小精灵的数据结构示意图;图4是本发明的运算引擎执行影像处理的示意图;图5是本发明的golomb-rice编码运算的示意图;图6是本发明的压缩数据格式的示意图;图7是本发明实时压缩及解压缩的绘图系统另一实施例的方框图。具体实施例方式本发明是一种实时压缩及解压缩的绘图系统,当一运算引擎执行完影像处理,将影像处理处理后的多个像素执行实时压缩,以节省运算引擎传送影像处理后的数据至一暂存缓冲区的带宽,且可达到实时影像输出的功效,从而减少暂存缓冲区的存取时间,以提升整个系统的效能。图2是本发明实时压缩及解压缩的绘图系统的方框图。该绘图系统包含一储存装置210、一解压缩装置220、一运算引擎230、一第一实时压缩装置240、一暂存缓冲区(framebuffer)250、一第一实时解压缩装置260、及一显示装置270。该储存装置210储存至少一小精灵的压缩影像及至少一背景的压缩影像。该解压缩装置220耦合至该储存装置210,以对该至少一小精灵的压缩影像及该至少一背景的压缩影像执行解压缩运算而得到至少一小精灵影像及至少一背景影像。该运算引擎230耦合至该解压缩装置220,以对解压缩的该至少一小精灵影像及该至少一背景影像执行影像处理,以产生一部分的显示影像。该第一实时压缩装置240耦合至该运算引擎230,以对该部分的显示影像执行实时压缩处理,而产生一压缩的部分显示影像。该暂存缓冲区250耦合至该第一实时压缩装置240,以暂存该压缩的部分显示影像。该第一实时解压缩装置260耦合至该暂存缓冲区250,以对该压缩的部分显示影像执行实时解压缩处理,并输出一影像信号,以供显示。该显示装置270耦合至该第一实时解压缩装置260,以显示该第一实时解压缩装置输出的影像信号。该储存装置210除了储存至少一小精灵的压缩影像及至少一背景的压缩影像外,该储存装置210还储存该至少一小精灵的数据结构。图3是小精灵的数据结构示意图,其中,该数据结构包含一坐标字段310、一深度字段320、及一透明处理字段330。该坐标字段310是记录小精灵显像时的位置。该深度字段320是记录该小精灵显像时的深度(depth)。该透明处理字段330记录该小精灵显像时是否执行透明处理(alphablending)。图4是该运算引擎230执行影像处理的示意图。在图4中,该储存装置210储存小精灵A的压缩影像410及数据结构420~440,以及小精灵B的压缩影像450及数据结构460~480。该运算引擎230处理一显示影像490的像素(i,j)时,该运算引擎230先检测像素(i,j)是否落在小精灵影像中。也就是说,该运算引擎230比较像素(i,j)与小精灵A的坐标420、小精灵B的坐标460。例如,像素(0,0)没有落在小精灵A的坐标及小精灵B的坐标中,故该运算引擎230获取背景的影像,作为像素(0,0)影像数据。像素(1,3)落在小精灵A的坐标中,但没有落在小精灵B的坐标中,故该运算引擎230获取小精灵A的影像,作为像素(1,3)影像数据。像素(3,5)落在小精灵A的坐标中及小精灵B的坐标中,但是小精灵B的深度为1且小精灵A的深度为2,故该运算引擎230获取小精灵B的影像,作为像素(3,5)影像数据。该运算引擎230在处理像素(1,3)时,小精灵A的透明处理为0,故该运算引擎230获取小精灵A的对应处的影像,作为像素(1,3)影像数据。若小精灵A的透明处理为1,则该运算引擎230将小精灵A对应处的影像与背景影像做透明处理(alphablending)后,再将透明处理后的影像数据作为像素(1,3)影像数据。该运算引擎230针对每8个像素执行影像处理后,则将该8个像素为一组传送至该第一实时压缩装置240。该第一实时压缩装置240对该8个像素值执行哈达玛转换(HadamardTransform),以获得该多个像素的频率域值。该哈达玛转换可以用公式(1)描述111111111111-1-1-1-111-1-1-1-11111-1-111-1-11-1-111-1-111-1-11-111-11-11-1-11-111-11-11-11-1p0p1p2p3p4p5p6p7=h0h1h2h3h4h5h6h7,---(1)]]>其中,p0~p7为该8个像素值,h0~h7为该8个像素值的频率域值。h0可视为直流值(DCterm),h1~h7可视为交流值(ACterm)。当该显示影像490的格式为RGB时,p0~p7为该8个像素的R值、G值、或是B值。当该显示影像490的格式为YUV时,p0~p7为该8个像素的Y值、U值、或是V值。该第一实时压缩装置240再对h1~h7执行golomb-rice编码运算。图5是golomb-rice编码运算的示意图。例如,h1为-6,golomb-rice编码运算是先将6除以4,而获得商为1,余数为2。因为余数为2故字段B为10。因为商为1故字段A为01。若商为2则字段A为001,若商为3则字段A为0001,依序类推。由于h1为-6,故正负号字段为1。故h1为-6时,经由golomb-rice编码后,产生01101b。该第一实时压缩装置240依据h0及golomb-rice编码后的数据,产生一对应于该8个像素p0~p7的压缩数据。图6是该压缩数据的格式的示意图。因为h0为一直流值(DCterm),故以直流字段620记录h0,其中,直流字段620是8位。h1~h7为交流值(ACterm),其值接近于0,故经golomb-rice编码后可放置于29位的交流字段630中。若h1~h7经golomb-rice编码后的位数大于29位时,也就是h1~h7经golomb-rice编码后无法放置于29位的交流字段630中,则先将h1~h7向右位移1位(也就是将h1~h7的值除以2),再对位移后的h1~h7执行golomb-rice编码。同时,在位移字段610中记录001b,以表示h1~h7向右位移1位。若仍无法放置于29位的交流字段630中,则先将h1~h7向右位移2位(也就是将h1~h7的值除以4),再对位移后的h1~h7执行golomb-rice编码。同时,在位移字段610中记录010b,以表示h1~h7向右位移2位。依此类推,直至将golomb-rice编码后的编码数据放置于29位的交流字段630中为止。该第一实时压缩装置240则将如图6所示的压缩数据写入该暂存缓冲区250中。当要显示影像时,该第一实时解压缩装置260从该暂存缓冲区250读取压缩数据,并对该压缩数据执行反golomb-rice解码运算后,以获得对应该多个像素的频率域值h1~h7。解压缩时,请一并参照图6的该压缩数据格式,当字段A为1,表示对应的hi(i=1~7)在该压缩数据中占4位,且hi的大小为“字段B的值”和“位移字段的值”的乘积的总和。字段A为01,表示对应的hi(i=1~7)在该压缩数据中占5位,且hi的大小为“4+字段B的值”和“位移字段的值”的乘积的总和。字段A为001,表示对应的hi(i=1~7)在该压缩数据中占6位,且hi的大小为“4×2+字段B的值”和“位移字段的值”的乘积的总和。依序类推,即可获得对应该多个像素的频率域值h1~h7。该第一实时解压缩装置260在对该多个像素的频率域值h0~h7执行反哈达玛转换(inverseHadamardTransform)运算后,可获得对应该多个像素值p0~p7。该反哈达玛转换可以用公式(2)描述18111111111111-1-1-1-111-1-1-1-11111-1-111-1-11-1-111-1-111-1-11-111-11-11-1-11-111-11-11-11-1h0h1h2h3h4h5h6h7=p0p1p2p3p4p5p6p7.---(2)]]>该第一实时解压缩装置260经由反哈达玛转换获得空间域(spatialdomain)的多个像素值p0~p7,再将多个像素值p0~p7传送至该显示装置270,以显示对应的影像。于本实施例中,该储存装置210及该暂存缓冲区250可为存储器。当该储存装置210及该暂存缓冲区250为存储器时,该储存装置210及该暂存缓冲区250可整合至同一存储器中。图7是本发明实时压缩及解压缩的绘图系统另一实施例的方框图。其与图2主要差别在于图7中新增数据供应装置710、一第二实时压缩装置720、及一第二实时解压缩装置730。该数据供应装置710用以提供一对象的影像数据。该数据供应装置710可为一CCD影像撷取装置、或是一CMOS影像撷取装置。该第二实时压缩装置720耦合至该数据供应装置710,以对该对象影像执行实时压缩处理,再将压缩的对象影像储存至该暂存缓冲区250中。该第二实时解压缩装置730耦合至该暂存缓冲区250,以对该压缩的对象影像执行实时解压缩处理,以获得该对象影像。该运算引擎230耦合至该第二实时解压缩装置730,以将该对象影像叠至于该显示影像之上(superimposed)。综上所述,本发明在运算引擎230执行完影像处理后利用第一实时压缩装置240将影像处理后的多个像素执行实时压缩,以节省传送至暂存缓冲区250的数据量,用以降低暂存缓冲区250的存取频带宽及减少暂存缓冲区250的硬件需求。总而言之,本发明主要的突出技术特征有三第一,由于运算引擎(RE)230的输出数据被压缩,故相较于已知技术,仅需较少的带宽即可传送数据至该暂存缓冲区250,并利用第一实时解压缩装置260执行实时解压缩,而达到实时影像输出的功效;第二,由于经运算引擎的输出数据被压缩,数据量大幅减少,藉此可以减少暂存缓冲区250的存取时间,以提升整个系统的效能;最后,相关数据的减少,间接减少暂存缓冲区的硬件需求,因此可将暂存缓冲区250及储存装置中210整合至同一存储器装置中,更进而减少系统硬件成本的功效。上述实施例仅是为了方便说明而举例而已,本发明所主张的权利范围自应以权利要求所述为准,而非仅限于上述实施例。权利要求1.一种实时压缩及解压缩的绘图系统,包含一储存装置,其储存至少一小精灵的压缩影像及至少一背景影像;一解压缩装置,耦合至该储存装置,以对该至少一小精灵的压缩影像及该至少一背景的压缩影像执行解压缩运算而得到至少一小精灵影像及至少一背景影像;一运算引擎,耦合至该解压缩装置,以对解压缩的该至少一小精灵影像及该至少一背景影像执行影像处理,以产生一部分的显示影像;一第一实时压缩装置,耦合至该运算引擎,以对该部分的显示影像执行实时压缩处理,而得到一压缩的部分显示影像;一暂存缓冲区,耦合至该第一实时压缩装置,以暂存该压缩的部分显示影像;以及一第一实时解压缩装置,耦合至该暂存缓冲区,以对该压缩的部分显示影像执行实时解压缩处理,并输出一影像信号,以供显示。2.如权利要求1所述的实时压缩及解压缩的绘图系统,还包含一显示装置,其耦合至该第一实时解压缩装置,以显示该第一实时解压缩装置输出的影像信号。3.如权利要求1所述的实时压缩及解压缩的绘图系统,其中,该储存装置还储存了该至少一小精灵的一数据结构。4.如权利要求3所述的实时压缩及解压缩的绘图系统,其中,该数据结构包含一坐标字段、一深度字段及一透明处理字段,该坐标字段记录该至少一小精灵显像时的位置,该深度字段记录该至少一小精灵显像时的深度,该透明处理字段记录该至少一小精灵显像时是否执行透明处理。5.如权利要求4所述的实时压缩及解压缩的绘图系统,其中,该运算引擎是对该至少一小精灵影像及该至少一背景影像做一透明处理。6.如权利要求4所述的实时压缩及解压缩的绘图系统,其中,该运算引擎在获取像素的影像数据时,根据小精灵的像素值判断像素是否落在小精灵影像中,如没有,则获取背景的影像作为该像素影像数据;如果落在一个小精灵影像中,则以该小精灵的影像作为该像素影像数据;如果同时落在多个小精灵影像中,则比较这些小精灵的深度值,以深度值最小的小精灵的影像作为该像素影像数据。7.如权利要求1所述的实时压缩及解压缩的绘图系统,其中,该第一实时压缩装置是对该部分的显示影像的多个像素值执行哈达玛转换,以获得该多个像素的频率域值。8.如权利要求7所述的实时压缩及解压缩的绘图系统,其中,该第一实时压缩装置是对该多个频率域值执行golomb-rice编码运算后,以获得对应于该多个像素的一压缩数据,再将该压缩数据储存至该暂存缓冲区。9.如权利要求8所述的实时压缩及解压缩的绘图系统,其中,该第一实时解压缩装置是对该压缩数据执行反golomb-rice解码运算后,以获得对应该多个像素的频率域值。10.如权利要求9所述的实时压缩及解压缩的绘图系统,其中,该第一实时解压缩装置是对该多个像素的频率域值执行反哈达玛转换运算后,以获得对应该多个像素值。11.如权利要求7所述的实时压缩及解压缩的绘图系统,其中,该多个像素为8个像素。12.如权利要求1所述的实时压缩及解压缩的绘图系统,其中,该储存装置及该暂存缓冲区为存储器。13.如权利要求12所述的实时压缩及解压缩的绘图系统,其中,该储存装置及该暂存缓冲区是整合至同一存储器中。14.如权利要求2所述的实时压缩及解压缩的绘图系统,其更包含一数据供应装置,其用以提供一对象的影像数据;一第二实时压缩装置,耦合至该数据供应装置,以对该对象影像执行实时压缩处理,而得到一压缩的对象影像,再将该压缩的对象影像储存至该暂存缓冲区中;以及一第二实时解压缩装置,耦合至该暂存缓冲区,以对该压缩的对象影像执行实时解压缩处理,以获得该对象影像。15.如权利要求14所述的实时压缩及解压缩的绘图系统,其中,该运算引擎耦合至该第二实时解压缩装置,以将该对象影像叠至于该显示影像之上。16.如权利要求15所述的实时压缩及解压缩的绘图系统,其中,该数据供应装置为一影像撷取装置。17.如权利要求16所述的实时压缩及解压缩的绘图系统,其中,该影像撷取装置为一CCD影像撷取装置或一CMOS影像撷取装置。全文摘要本发明是有关于一种实时压缩及解压缩的绘图系统,包含一储存装置、一解压缩装置、一运算引擎、一第一实时压缩装置、一暂存缓冲区、及一第一实时解压缩装置。储存装置储存一小精灵的压缩影像及一背景的压缩影像;解压缩装置执行解压缩运算,而得到一小精灵影像及一背景影像;运算引擎对解压缩的小精灵影像及背景影像执行影像处理,以产生一部分的显示影像;第一实时压缩装置对部分的显示影像执行实时压缩处理,而得到一压缩的部分显示影像;暂存缓冲区暂存压缩的部分显示影像;第一实时解压缩装置对压缩的部分显示影像执行实时解压缩处理,并输出一影像信号,以供显示。文档编号G09G5/377GK101038736SQ2006100598公开日2007年9月19日申请日期2006年3月15日优先权日2006年3月15日发明者王仕杰,石志忠申请人:凌阳科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1