CN100345164C - 一种动态虚拟形象的合成方法 - Google Patents

一种动态虚拟形象的合成方法 Download PDF

Info

Publication number
CN100345164C
CN100345164C CNB2004100379993A CN200410037999A CN100345164C CN 100345164 C CN100345164 C CN 100345164C CN B2004100379993 A CNB2004100379993 A CN B2004100379993A CN 200410037999 A CN200410037999 A CN 200410037999A CN 100345164 C CN100345164 C CN 100345164C
Authority
CN
China
Prior art keywords
frame
image
synthetic
color
vivid
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 - Lifetime
Application number
CNB2004100379993A
Other languages
English (en)
Other versions
CN1696979A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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
Priority to CNB2004100379993A priority Critical patent/CN100345164C/zh
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to PCT/CN2005/000019 priority patent/WO2005111929A1/zh
Priority to JP2007511833A priority patent/JP4361950B2/ja
Priority to CA2566787A priority patent/CA2566787C/en
Priority to US11/596,223 priority patent/US10032290B2/en
Priority to RU2006143545/09A priority patent/RU2343543C2/ru
Priority to KR1020067026235A priority patent/KR100882250B1/ko
Publication of CN1696979A publication Critical patent/CN1696979A/zh
Priority to HK06104733A priority patent/HK1084476A1/xx
Application granted granted Critical
Publication of CN100345164C publication Critical patent/CN100345164C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)

Abstract

本发明公开了一种动态虚拟形象的合成方法,包括:a.合成服务器端接收用户发来的用户请求,根据用户请求中的信息获取合成所需虚拟形象所有构件的构件图像文件;b.根据层号逐个读取一个构件相应的构件图像文件,并将当前读取的构件图像文件统一为规定格式;c.确定中间形象和格式化后构件的合成形象帧数、每帧的显示停留时间以及构件中帧与中间形象中帧的对应合成关系,按照该对应合成关系,根据每帧的显示停留时间将构件与中间形象对应的帧进行合成;d.判断是否合成完所有构件,如果是,则将合成的虚拟形象按帧写入虚拟形象图像文件;否则,执行步骤b及其后续步骤。采用该方法能实现动态虚拟形象的合成,并为用户提供更好的服务。

Description

一种动态虚拟形象的合成方法
技术领域
本发明涉及图像处理技术,特别是指一种动态虚拟形象的合成方法。
背景技术
虚拟形象是近年在网上发展起来的一项技术,网上虚拟形象已经逐步成为网民的一种时尚,它能体现用户的个性化,展现用户创意,深受网民喜爱。目前,虚拟形象的存储大都基于可交换的图像文件格式(GIF,Graphics InterchangeFormat),每个虚拟形象由多个构件合成。这里,所述的构件是指合成虚拟形象的各个部件图像,以GIF文件格式存放,每个构件都是一个单帧的GIF图像。
所述GIF格式是一种基本的标准图像文件存储格式,一个GIF文件可以包含多幅彩色图像,每一幅彩色图像称为一帧,也就是说,一个GIF文件中可以存储多个帧。GIF图像可分为单帧和多帧图像,一般,单帧表现为静止图像,多帧图像一帧帧显示,像演幻灯片那样形成动态效果或称动画效果。但是,每一帧又与单独一幅图像有区别,因为单独一帧往往不能成为一幅图像,GIF图像中的一帧要表现为可视图像,必须与其前面的帧相关联。GIF图像文件是以数据块(block)为单位来存储图像的相关信息,一个GIF文件由表示图形/图像的数据块、数据子块以及显示图形/图像的控制信息块组成,称为GIF数据流(Data Stream)。数据流中的所有控制信息块和数据块都必须在文件头(Header)和文件结束块(Trailer)之间。GIF文件格式采用了字典LZW(Lempel-Ziv Walch)压缩算法来存储图像数据,允许用户为图像设置背景的透明(transparency)属性。
GIF文件的典型结构如表一所示:
  编号   组成部分名称  描述
  1   Header  GIF文件头
  2   Logical Screen Descriptor  逻辑屏幕描述块
  3   Global Color Table  全局彩色表
...扩展模块(任选)...
  4   Image Descriptor  图像描述块   可重复n个
  5   Local Color Table  局部彩色表(可重复n次)
  6   Table Based Image Data  表式压缩图像数据
  7   Graphic Control Extension  图形控制扩展块
  8   Plain Text Extension  无格式文本扩展块
  9   Comment Extension  注释扩展块
  10   Applicaton Extension  应用扩展块
  ...扩展模块(任选)...
  11   GIF Trailer  GIF文件结束块
                       表一
GIF文件中数据块可分成三类:控制块(Control Block)、图形描绘块(Graphic-Rendering Block)和特殊用途数据块(Special Purpose Block)。其中,控制块包含用来控制数据流(Data Stream)或者设置硬件参数的信息,其成员包括:GIF文件头(Header)、逻辑屏幕描述块(Logical Screen Descriptor)、图形控制扩展块(Graphic Control Extension)和文件结束块(Trailer)。图形描绘块包含用来描绘在显示设备上显示图形的信息和数据,其成员包括:图像描述块(Image Descriptor)和无格式文本扩展块(Plain Text Extension)。特殊用途数据块包含与图像处理无关的信息,其成员包括:注释扩展块(CommentExtension)和应用扩展块(Application Extension)。
这里,除了在控制块中的逻辑屏幕描述块(Logical Screen Descriptor)和全局彩色表(Global Color Table)的作用范围是整个数据流(Data Stream)之外,其他所有控制块仅控制跟在其后的图形描绘块。也就是说,在表一中,逻辑屏幕描述块和全局彩色表的作用范围是整个文件,应用扩展块、无格式文本扩展块、注释扩展块、图形控制扩展块仅控制跟在其后的图形描绘块。
表一中,逻辑屏幕描述块包含定义图像显示区域的参数,包括逻辑显示屏大小、背景颜色、是否有全局彩色表等信息。
彩色表,由于一个GIF文件可以包含多幅彩色图像,每幅彩色图像也许都包含适合自身特点的彩色表,所以一个GIF文件可以有好几个彩色表。但归纳起来只有两类:全局彩色表(Global Color Table)或局部彩色表(Local ColorTable)。全局彩色表可用于图像本身没有带彩色表的所有图像和无格式文本扩展块(Plain Text Extension),而局部彩色表只用于紧跟在它后面的一幅图像。当每帧图像都有局部彩色表时,此时全局彩色表可不存在。
应用扩展块包含制作该图像文件的应用程序的相关信息,如:是否循环动画显示、动画循环显示的次数等。在静止的图像文件中,此块可省略。
图形控制扩展块包含处理图形描绘块时要使用的参数:透明标志,即是否有透明、透明彩色索引、处理方法、停留时间等。处理方法用于规定图形显示之后应进行的处理,比如:a)没有指定要做任何处理;b)不处理,图形留在原处;c)显示图形的区域必须要恢复成背景颜色;d)恢复成以前显示的图形。停留时间用来指定在图形显示之后继续处理之前的等待时间,以百分之一秒为单位。
图像描述块用于记录每帧图像的大小,可包含数量不限的图像,而且也没有固定的存放顺序,仅用一个字节的图像分隔符来判断是不是图像描述块。每一幅图像都由一个图像描述块、可有可无的局部彩色表和图像数据组成。每幅图像必须要落在逻辑屏幕描述块中定义的逻辑屏尺寸范围里。
图像数据由数据子块序列组成,图像数据以彩色表的索引值记录每个像素,并用LZW算法进行压缩。
现有技术中一般采用网上通用合成软件包如GD库实现虚拟形象合成处理,由于GD库不能处理多帧GIF格式文件,只能处理单帧的GIF文件,因此,现有虚拟形象合成技术只能合成静态的虚拟形象,通常称为静态虚拟形象合成。现有技术中实现静态虚拟形象合成的过程是:先确定每个构件的前后关系,以层来定义这种前后关系;合成时,按层号顺序先以第一层与背景图像相合成,接下来用第二层与前面合成的图像相合成,直到合成完所有需要合成的层。比如,除背景以外有三个构件:裤子、衣服和脸形,而且最终的虚拟形象是:脸在衣服前,有一部分衣领被脸盖住、衣服在裤子前,即衣服挡住部分裤子,那么,预先确定的层号就是:裤子1、衣服2、脸形3;在合成时,先把裤子帖在背景上,再把衣服帖上去,最后把脸形帖上去,这里所说的帖是指采用已有的合成函数合成。
上述合成方式虽然比较简单、易实现,但由于每个部件都是单帧的,每次临时合成的图像也都是单帧的,最后合成的形象也是单帧的、静止的,也就是说,只能合成静止的虚拟形象。即使合成构件为多帧的动态GIF文件时,也只能读取第一帧进行合成,如此,使得合成的虚拟形象单一、呆板,不能满足用户的需求、令用户满意。
发明内容
有鉴于此,本发明的主要目的在于提供一种动态虚拟形象的合成方法,能实现动态虚拟形象的合成,进而为用户提供更好的服务。
为达到上述目的,本发明的技术方案是这样实现的:
一种动态虚拟形象的合成方法,该方法包括以下步骤:
a.合成服务器端接收用户发来的用户请求,根据用户请求中的信息获取合成所需虚拟形象所有构件的构件图像文件;
b.根据层号逐个读取一个构件相应的构件图像文件,并将当前读取的构件图像文件统一为规定格式;
c.确定中间形象和格式化后构件的合成形象帧数、每帧的显示停留时间以及构件中帧与中间形象中帧的对应合成关系,按照该对应合成关系,根据每帧的显示停留时间将构件与中间形象对应的帧进行合成;
d.判断是否合成完所有构件,如果是,则将合成的虚拟形象按帧写入虚拟形象图像文件;否则,执行步骤b及其后续步骤。
其中,在读取所有构件图像文件之前,该方法进一步包括:读取一底板文件。
步骤d中所述将合成的虚拟形象按帧写入虚拟形象图像文件之前进一步包括:对合成虚拟形象对应的图像文件,从最后一帧起逐帧进行压缩,直至第二帧。这里,所述压缩具体为:将当前帧与前一帧像素值逐点进行比较,如果相同,则将该点换为透明色;否则,不作处理。
步骤a之前进一步包括:预先获取所需合成虚拟形象的所有组成构件的信息;在步骤a中具体包括:用户端向合成服务器端发送携带有用户标识信息和合成虚拟形象所需构件信息的用户请求;合成服务器端通过解析用户请求获取所有构件的构件编号和相应层号,再根据所获得的构件编号和相应层号取得相应的构件图像文件。其中,所述构件信息至少包括:唯一标识构件的构件编号、当前构件的相应层号。
上述方案中,步骤b中所述将构件图像文件统一为规定格式具体包括:
b11.将当前构件图像文件中局部彩色表中的颜色加入全局彩色表,并判断全局彩色表是否超过最大颜色数,如果超过,则计算最短距离颜色,将计算的最短距离颜色加入全局彩色表,否则,直接将局部彩色表中的颜色加入全局彩色表;
b12.判断当前构件图像文件中的当前帧的每个像素点是否为透明色,如果是,则采用前面相关联帧对应像素点的颜色,如果不是,则采用当前帧像素点的颜色;
b13.将当前构件图像文件中图形控制扩展块中的显示后处理方式统一设置为:显示图形的区域必须要恢复成背景颜色。
该方法进一步包括:从构件图像文件或中间形象图像文件的图像控制扩展模块中获得每帧的显示停留时间。
上述方案中,步骤c中所述根据每帧的显示停留时间将构件与中间形象对应的帧进行合成进一步包括:
c101.计算中间形象每帧的显示时间和,同时计算构件中每帧的显示时间和,取两个显示时间和的最小公倍数作为合成形象各帧显示时间和;
c102.根据构件帧数和每帧的停留显示时间、中间形象帧数和每帧的停留显示时间、以及步骤c101得到的各帧显示时间和确定帧***点;
c103.在每个***点将构件当前帧与中间形象当前帧合成。
步骤c中所述根据每帧的显示停留时间将构件与中间形象对应的帧进行合成进一步包括:c111.取构件停留时间和与中间形象停留时间和的较大值;c112.根据构件每帧的停留显示时间、中间形象每帧的停留显示时间、以及构件停留时间和与中间形象停留时间和的较大值确定帧***点;c113.在每个***点将构件当前帧与中间形象当前帧合成。
当中间形象与构件的各帧显示停留时间统一时,步骤c中所述根据每帧的显示停留时间将构件与中间形象对应的帧进行合成进一步包括:c121.计算构件帧数与中间形象帧数的最小公倍数;c122.据构件帧数、中间形象帧数以及构件帧数与中间形象帧数的最小公倍数确定帧***点;c123.在每个***点将构件当前帧与中间形象当前帧合成。
当中间形象与构件的各帧显示停留时间统一,且构件帧数与中间形象帧数为2的幂次方时,步骤c中所述根据每帧的显示停留时间将构件与中间形象对应的帧进行合成进一步包括:c131.取构件帧数与中间形象帧数的最大值;c132.根据构件帧数、中间形象帧数以及构件帧数与中间形象帧数的最大值确定帧***点;c133.在每个***点将构件当前帧与中间形象当前帧合成。
上述方案中,步骤c中所述合成进一步包括:
c21.对构件中当前帧的每个像素点进行分析,判断当前像素点颜色是否为透明色,如果是,则合成帧相应像素点颜色与中间形象相关帧相应像素点颜色一样,则继续处理下一个像素点,如果不是,执行步骤c22;
c22.判断是否能在中间形象的全局颜色表中找一个相等颜色,如果找到,则用该相等颜色标记该合成帧相应像素点,则继续处理下一个像素点;如果未找到,则执行步骤c23;
c23.判断中间形象的全局颜色表是否填满,如没填满,则将构件中当前帧相应像素点颜色填入中间形象的全局颜色表,并以此颜色标记该合成帧相应像素点;如已填满,则在中间形象的全局颜色表中找一个最短距离颜色标记该合成帧相应像素点。
上述方案中,所述图像文件为可交换的图像文件格式GIF文件。
本发明所提供的动态虚拟形象的合成方法,在虚拟形象合成前,将所有构件的格式统一为标准格式,并在合成过程中,采用帧停留时间***方式确定合成虚拟形象的帧数、每帧显示的停留时间以及构件中的某帧与中间形象的哪一帧合成,同时,在合成后,采用从最后一帧开始,逐帧对比的压缩算法。如此,即可实现动态虚拟形象的合成,进而为用户提供更好的服务,提高用户的满意度。另外,动态虚拟形象合成技术也可能为服务提供商带来很大收益,因为实际调查表明,10%的网民希望合成动态虚拟形象,85%以上的网民非常希望合成动态虚拟形象。
附图说明
图1为本发明方法实现的处理流程图;
图2为本发明方法中进行合成时确定帧***点的原理示意图。
具体实施方式
本发明的核心思想是:在读取每个构件后,首先对构件进行标准的格式化,采用统一的全局彩色表,并采用统一的帧处理方式;然后,根据构件每帧和中间形象每帧的停留时间,确定合成时的帧***点,在每个***点完成构件帧与中间形象帧的合成。另外,在合成后,可从最后一帧开始进行逐帧对比压缩方式,减小合成后动态虚拟形象的大小。
由于每个虚拟形象构件都是一个GIF图像文件,那么,在进行合成之前先要对合成虚拟形象的所有构件进行编号,每一个构件由唯一的编号来标识。同时,还要根据每个构件在虚拟形象中的前后顺序确定每个构件的层号,每个构件的层号和编号是没有任何关系的,在合成时,同一层号的构件只能有一个。通常,从背景到前景采用从低到高的层号,也就是说,前景的层号相对较高,背景的层号相对较低,这种情况下,层号高的构件可部分挡住层号低的构件,比如:人物挡住背景,手挡住身体等等。
每个构件的编号和层号确定后,将所有构件文件以构件编号及层号的方式组织目录结构进行存储,比如:小汽车的构件编号4层号20;花朵的构件编号8层号12等等,如此,可以在合成虚拟形象时方构件便读取。
一般合成虚拟形象都是根据用户的请求来触发启动的,用户在发出请求前,会获知自己所要合成的虚拟形象是由哪些构件组成的,并同时获知相应构件的编号和层号,比如:用户预先购买所需构件,选某种背景、某种衣服进行搭配。这样,用户在发出请求时就会携带所有的构件信息,也就是说,用户将自身的标识信息和合成虚拟形象所需的构件信息一起发给网络服务器,可采用这样的请求格式:用户标识1构件编号相应层号2构件编号相应层号......n构件编号相应层号。这里,用户标识可以是相应用户的注册名或注册编号。
参见图1所示,本发明实现动态虚拟形象合成的处理流程包括以下步骤:
步骤101:当用户需要合成虚拟形象时,用户端向服务器端发送携带有用户标识信息和构件信息的用户请求;合成服务器解析所收到的用户请求,从用户请求中获取合成虚拟形象的构件个数,以及每个构件相应的构件编号、相应层号;再根据构件编号和相应层号从构件目录结构取得相应的构件图像文件。
步骤102:合成服务器在确定本次合成虚拟形象需要的所有构件后,首先要读取一个虚拟形象底板,之后将每个构件按照不同的层号依次合成到底板上。
由于每个用户选取的构件个数不一,层号也不相同,所以要在虚拟形象的最底层用一个底板,底板是按规定格式生成的GIF文件,可以是白色或透明图像;也可以把底板看成是前面已经合成的中间虚拟形象。通常底板可以由合成服务器自动添加进去。
步骤103:读取虚拟形象底板后,合成服务器根据构件编号及层号,依次从层号低的开始,读取一个构件相应的构件图像文件。
具体过程是:根据表一所给出的GIF文件格式,读取GIF文件头、逻辑屏幕描述块、全局彩色表、应用扩展块、图形控制扩展块、图像描述块、图像数据等,如果有局部彩色表,在图像描述块之后还要读局部彩色表,并存入相应内存结构中。如果该构件为动态GIF图像,那么,要读出多个图形控制扩展块、图像描述块、图像数据,组成多帧图像。每一帧中如果有自己的局部彩色表,此时帧中图像颜色由局部彩色表决定,不再由全局彩色表决定。这里,从GIF文件是否存在多个帧就可以知道该构件是否为动态GIF图像,只要在合成的构件中有一个是多帧,合成的虚拟形象就是多帧的、动态的。
由于GIF文件中注释扩展块和无格式文本扩展块在合成虚拟形象时没有用,为减少合成文件的大小,在读取GIF图像中可暂时去掉注释扩展块和无格式文本扩展块两部分。
步骤104:将所读取的构件图像文件统一为规定格式,即进行格式初始化。
根据对GIF文件格式中图形控制扩展块的描述可知,存在三方面的问题,使得合成动态GIF图像很困难:①在GIF文件中,解码器对每帧显示后的处理有四种选择,因而有四种方式的动态GIF,但是,对于静态的GIF,因为只有一帧,体现不出这四种方式的差别;②对于多帧GIF,由于在GIF中每帧可以有自己的局部彩色表,也可以不带局部彩色表,而使用全局彩色表中颜色,如此就造成多帧GIF文件的多样化;③由于每个构件的GIF文件中帧数不一样、每帧显示停留时间也不一样,如此也会造成多帧GIF文件的多样化。
针对上述三个问题,在本发明中,可采用格式化构件GIF的方式解决前两方面问题,而第三方面问题将留在合成时解决。具体的格式化方法如下:
a1.统一彩色表,即:将局部彩色表中的颜色加入全局彩色表,当超过全局彩色表最大颜色数时,新加颜色用最短距离颜色代替。
这里,颜色距离是指两种颜色的红、绿、蓝值差的平方和,这个平方和最小的两种颜色就是最短距离颜色。
b1.让每帧单独成可视图,当一帧不能单独成图,需要与前面帧相关联才形成可视图时,就将当前帧与前面相关联的帧合成,使当前帧单独成图,形成统一格式,并将图形控制扩展块中的显示后处理方式统一设置为:显示图形的区域必须要恢复成背景颜色。
这里,将当前帧与前面相关联的帧合成具体是指:分析当前帧的每个像素点,对每个像素点进行重新着色,如果是透明色,则采用前面相关联帧对应像素点的颜色,如果不是透明色,则采用当前帧像素点的颜色。
在格式化过程中,局部彩色表颜色加入全局彩色表,是在让每帧单独成图时逐步加入的;格式化后的每个构件,只有全局彩色表,每帧单独成可视图,且处理方式唯一。
步骤105:将格式化后的构件与之前合成的中间形象进行合成。本步骤所述的合成进一步分为两个步骤:
a2.根据构件以及合成的中间形象的帧数、每帧的显示停留时间,来确定构件中某帧与中间形象的哪帧进行合成,即:确定构件中每帧与中间形象中每帧之间的对应合成关系。这里,每帧显示停留时间从构件或中间形象图像文件的图像控制扩展模块中获得。
由于构件可能是动态的,有多帧图像;中间形象也可能有多帧;而且,每帧图像显示停留时间也不一定相同,所以,要将当前构件与中间形象合成,必须先确定合成形象的帧数以及当前构件中的某帧与中间形象的哪帧合成,即:先确定***点。
b2.在每个***点上,将构件中的当前帧与中间形象的当前帧合成,即:将构件中的当前帧帖到中间形象的当前帧上。
在步骤a2和b2所述的合成过程中,关键是根据构件帧和中间形象帧的相关信息确定帧***点,这里,所述的相关信息是指:构件帧数、构件每帧的停留显示时间、中间形象帧数、中间形象每帧的停留显示时间。通常的做法是:
首先,计算中间形象每帧的显示时间和,同时计算构件中每帧的显示时间和,取这两个时间和的最小公倍数作为合成形象各帧显示时间和;
然后,将构件和中间形象的各帧按时间***这个合成形象各帧显示时间和,每个***点便会产生合成后的一帧,每个合成后的帧都由构件中的某帧帖在中间形象的相关帧上合成,这里的中间形象相关帧是指在当前构件帧之前最近的中间形象帧。
构件中某帧与中间形象相关帧合成,就是将每个***点上构件的当前帧帖到中间形象的当前帧上。合成两帧时,将构件中当前帧用到的颜色加到中间形象的全局彩色表中,如果表已满,则用最短距离颜色代替。
参见图2所示,假定中间形象为三帧,分别表示为:M1、M2和M3,三帧的停留时间分别为40、50、60,则和为150;构件为三帧,分别表示为:G1、G2和G3,三帧的停留时间分别为30、30、40,和为100。那么,两个和的最小公倍数为300,也就是说,合成虚拟形象各帧的显示时间和为300。因此,中间形象的每帧循环***两次,有6个***点,即改变6次画面;构件的每帧循环***三次,有9个***点,即改变9次画面。由于中间形象与构件的第一***点,即第一帧重合,其余***点均不重合,所以共有14个***点,形成14帧。
合成帧数和停留时间确定后,就进行帧合成,每一帧都由构件中某帧与中间形象中相关帧合成,相关帧的确定是根据帧***时间点,每个合成帧都是由与合成帧***时间点最近的或重合的构件帧,和与合成帧***时间点最近的或重合的中间形象帧合成。合成方法还是将构件中的某帧帖到中间形象中的相应帧上,如有重合的帧,则将重合的两帧合成一帧。如图2所示,新合成的第1帧是将构件G1帧帖到中间形象M1帧合成的,新合成的第2帧是将构件G2帧帖到中间形象M1帧上合成的,新合成的第3帧是将构件G2帧帖到中间形象M2帧上合成的,新合成的第4帧是将构件G3帧帖到中间形象M2帧上合成的,新合成的第5帧是将构件G3帧帖到中间形象M3帧上合成的,新合成的第6帧是将构件G1帧帖到中间形象M3帧上合成的,新合成的第7帧是将构件G2帧帖到中间形象M3帧上合成的,......以此类推。这里,所述新合成的第1帧就是图2中显示的合成帧1,其它以此类推。
所说的帖是按下述方法进行的:在合成时,对构件中某帧的每个像素点进行分析:如果是透明色,则合成帧相应像素点颜色与中间形象相关帧相应像素点颜色一样,如果不是透明色,有三种处理:A)在中间形象的全局颜色表中找一个相等颜色标记该合成帧相应像素点;B)如果没有相等颜色,看中间形象的全局颜色表是否填满,如没填满,则将构件中某帧相应像素点颜色填入中间形象的全局颜色表,并以此颜色标记该合成帧相应像素点;C)中间形象的颜色表已经填满,则在中间形象的全局颜色表中找一个最短距离颜色标记该合成帧相应像素点。
为减少合成形象文件大小,在确定合成后停留时间和时,也可采用构件停留时间和与中间形象停留时间和二者中的较大值代替上述的最小公倍数。仍以图2为例,构件帧数为3,停留时间分别为40、50、60,停留时间和为150;中间形象帧数为3,停留时间分别为30、30、40,停留时间和为100;则构件停留时间和与中间形象停留时间和两者中的最大值为150。从图2可以看出,如果确定150为循环周期的话,对于中间形象就是到M3的显示停留时间结束为止,即第二个M1的位置;对于构件来说就是到第二个G2和G3之间为止,那么,对应的只需要完成七帧的合成,即图2中显示的合成后1~合成后7。其中,合成后1是将构件G1帧帖到中间形象M1帧合成的,合成后2是将构件G2帧帖到中间形象M1帧上合成的,合成后3是将构件G2帧帖到中间形象M2帧上合成的......,以此类推。这样做不仅可降低合成形象文件大小,而且对用户的感觉影响很小。
当中间形象与构件的各帧显示停留时间都统一时,停留时间***算法可转化为帧数最小公倍数法,即:将构件帧数与中间形象帧数的最小公倍数做为合成后的帧数,比如:构件帧数为3,停留时间均为50;中间形象帧数为4,停留时间均为50,则构件帧数与中间形象帧数的最小公倍数为12,也就是,确定构件帧循环***四次,中间形象帧循环***三次。
如果中间形象与构件的各帧显示停留时间都统一,并且构件帧数与中间形象的帧数为2的幂次方时,停留时间***算法便进一步转化为取构件帧数与中间形象帧数的较大值。比如:构件帧数为2,停留时间均为50;中间形象帧数为4,停留时间均为50,则确定构件帧循环***二次,中间形象帧只***一次。
步骤106:将新合成的虚拟形象作为中间形象,然后判断是否合成完所有用户所需的构件,如果是,则执行步骤107;否则,返回步骤103,按层号顺序读取下一层的构件图像文件进行处理、合成。如此循环,直至合成完所有用户选定的构件,即可得到用户所需的动态虚拟形象。
步骤107:由于合成后的动态GIF每帧单独成图,文件相对较大,为减少空间,需要对合成后的虚拟形象进行压缩。
因为按照步骤104所述:合成的虚拟形象只有全局彩色表,每个帧中像素点的值相同则代表颜色相同,因此,具体可采用以下压缩算法:选一个没用到的颜色做为透明色,从最后一帧开始,将当前帧与前一帧像素值逐点进行比较,如果相同,则将该点换为透明色,依此类推,一直比较处理压缩完第二帧;将所有帧显示后处理方式统一为:不处理,图形留在原处。经过此压缩算法后,每帧只记录与前一帧有变化的像素。采用此压缩算法后的虚拟形象文件大小将会大幅度减少,比如会从上百K减少至几十K。
步骤108:将内存结构中合成虚拟形象的GIF文件头、逻辑屏幕描述块、全局彩色表、应用扩展块按GIF文件格式分别写入虚拟形象GIF文件,再按帧分别将各帧的图形控制扩展块、图像描述块、图像数据写入虚拟形象GIF文件,最后加上GIF文件结束块。其中,图像数据的写入是以LZW法压缩写入的。
是否对合成后的虚拟形象进行压缩可以根据需要选择使用,如果不需要压缩,就直接将合成的虚拟形象按帧写入虚拟形象图像文件;如果需要压缩,再执行步骤107和108。
经过以上步骤,最后合成的动态虚拟形象是多帧图象,每一帧与前面相关帧构成一幅幅画面,这些画面循环显示形成动态效果。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (14)

1、一种动态虚拟形象的合成方法,其特征在于,该方法包括以下步骤:
a.合成服务器端接收用户发来的用户请求,根据用户请求中的信息获取合成所需虚拟形象所有构件的构件图像文件;
b.根据层号逐个读取一个构件相应的构件图像文件,并将当前读取的构件图像文件统一为规定格式;
c.确定中间形象和格式化后构件的合成形象帧数、每帧的显示停留时间以及构件中帧与中间形象中帧的对应合成关系,按照该对应合成关系,根据每帧的显示停留时间将构件与中间形象对应的帧进行合成;
d.判断是否合成完所有构件,如果是,则将合成的虚拟形象按帧写入虚拟形象图像文件;否则,执行步骤b及其后续步骤。
2、根据权利要求1所述的方法,其特征在于,在读取所有构件图像文件之前,该方法进一步包括:读取一底板文件。
3、根据权利要求1所述的方法,其特征在于,步骤d中所述将合成的虚拟形象按帧写入虚拟形象图像文件之前进一步包括:对合成虚拟形象对应的图像文件,从最后一帧起逐帧进行压缩,直至第二帧。
4、根据权利要求3所述的方法,其特征在于,所述压缩具体为:将当前帧与前一帧像素值逐点进行比较,如果相同,则将该点换为透明色;否则,不作处理。
5、根据权利要求1至3任一项所述的方法,其特征在于,步骤a之前进一步包括:预先获取所需合成虚拟形象的所有组成构件的信息;
在步骤a中具体包括:用户端向合成服务器端发送携带有用户标识信息和合成虚拟形象所需构件信息的用户请求;合成服务器端通过解析用户请求获取所有构件的构件编号和相应层号,再根据所获得的构件编号和相应层号取得相应的构件图像文件。
6、根据权利要求5所述的方法,其特征在于,所述构件信息至少包括:唯一标识构件的构件编号、当前构件的相应层号。
7、根据权利要求1至3任一项所述的方法,其特征在于,步骤b中所述将构件图像文件统一为规定格式具体包括:
b11.将当前构件图像文件中局部彩色表中的颜色加入全局彩色表,并判断全局彩色表是否超过最大颜色数,如果超过,则计算最短距离颜色,将计算的最短距离颜色加入全局彩色表,否则,直接将局部彩色表中的颜色加入全局彩色表;
b12.判断当前构件图像文件中的当前帧的每个像素点是否为透明色,如果是,则采用前面相关联帧对应像素点的颜色,如果不是,则采用当前帧像素点的颜色;
b13.将当前构件图像文件中图形控制扩展块中的显示后处理方式统一设置为:显示图形的区域必须要恢复成背景颜色。
8、根据权利要求1所述的方法,其特征在于,该方法进一步包括:从构件图像文件或中间形象图像文件的图像控制扩展模块中获得每帧的显示停留时间。
9、根据权利要求1所述的方法,其特征在于,步骤c中所述根据每帧的显示停留时间将构件与中间形象对应的帧进行合成进一步包括:
c101.计算中间形象每帧的显示时间和,同时计算构件中每帧的显示时间和,取两个显示时间和的最小公倍数作为合成形象各帧显示时间和;
c102.根据构件帧数和每帧的停留显示时间、中间形象帧数和每帧的停留显示时间、以及步骤c101得到的各帧显示时间和确定帧***点;
c103.在每个***点将构件当前帧与中间形象当前帧合成。
10、根据权利要求1所述的方法,其特征在于,步骤c中所述根据每帧的显示停留时间将构件与中间形象对应的帧进行合成进一步包括:
c111.取构件停留时间和与中间形象停留时间和的较大值;
c112.根据构件每帧的停留显示时间、中间形象每帧的停留显示时间、以及构件停留时间和与中间形象停留时间和的较大值确定帧***点;
c113.在每个***点将构件当前帧与中间形象当前帧合成。
11、根据权利要求1所述的方法,其特征在于,中间形象与构件的各帧显示停留时间统一;
步骤c中所述根据每帧的显示停留时间将构件与中间形象对应的帧进行合成进一步包括:
c121.计算构件帧数与中间形象帧数的最小公倍数;
c122.根据构件帧数、中间形象帧数以及构件帧数与中间形象帧数的最小公倍数确定帧***点;
c123.在每个***点将构件当前帧与中间形象当前帧合成。
12、根据权利要求1所述的方法,其特征在于,中间形象与构件的各帧显示停留时间统一,且构件帧数与中间形象帧数为2的幂次方;
步骤c中所述根据每帧的显示停留时间将构件与中间形象对应的帧进行合成进一步包括:
c131.取构件帧数与中间形象帧数的最大值;
c132.根据构件帧数、中间形象帧数以及构件帧数与中间形象帧数的最大值确定帧***点;
c133.在每个***点将构件当前帧与中间形象当前帧合成。
13、根据权利要求1、9、10、11或12所述的方法,其特征在于,步骤c中所述合成进一步包括:
c21.对构件中当前帧的每个像素点进行分析,判断当前像素点颜色是否为透明色,如果是,则合成帧相应像素点颜色与中间形象相关帧相应像素点颜色一样,则继续处理下一个像素点,如果不是,执行步骤c22;
c22.判断是否能在中间形象的全局颜色表中找一个相等颜色,如果找到,则用该相等颜色标记该合成帧相应像素点,则继续处理下一个像素点;如果未找到,则执行步骤c23;
c23.判断中间形象的全局颜色表是否填满,如没填满,则将构件中当前帧相应像素点颜色填入中间形象的全局颜色表,并以此颜色标记该合成帧相应像素点;如已填满,则在中间形象的全局颜色表中找一个最短距离颜色标记该合成帧相应像素点。
14、根据权利要求1至3任一项所述的方法,其特征在于,所述图像文件为:可交换的图像文件格式GIF文件。
CNB2004100379993A 2004-05-14 2004-05-14 一种动态虚拟形象的合成方法 Expired - Lifetime CN100345164C (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CNB2004100379993A CN100345164C (zh) 2004-05-14 2004-05-14 一种动态虚拟形象的合成方法
JP2007511833A JP4361950B2 (ja) 2004-05-14 2005-01-06 動的な仮想画像を合成する方法
CA2566787A CA2566787C (en) 2004-05-14 2005-01-06 Method for synthesizing dynamic virtual figures
US11/596,223 US10032290B2 (en) 2004-05-14 2005-01-06 Method for synthesizing dynamic virtual figures
PCT/CN2005/000019 WO2005111929A1 (fr) 2004-05-14 2005-01-06 Combinaison d'images virtuelles dynamiques
RU2006143545/09A RU2343543C2 (ru) 2004-05-14 2005-01-06 Способ синтезирования динамических виртуальных картинок
KR1020067026235A KR100882250B1 (ko) 2004-05-14 2005-01-06 동적인 가상 이미지를 합성하기 위한 방법
HK06104733A HK1084476A1 (en) 2004-05-14 2006-04-20 A method for dynamic virtual image combination

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100379993A CN100345164C (zh) 2004-05-14 2004-05-14 一种动态虚拟形象的合成方法

Publications (2)

Publication Number Publication Date
CN1696979A CN1696979A (zh) 2005-11-16
CN100345164C true CN100345164C (zh) 2007-10-24

Family

ID=35349692

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100379993A Expired - Lifetime CN100345164C (zh) 2004-05-14 2004-05-14 一种动态虚拟形象的合成方法

Country Status (8)

Country Link
US (1) US10032290B2 (zh)
JP (1) JP4361950B2 (zh)
KR (1) KR100882250B1 (zh)
CN (1) CN100345164C (zh)
CA (1) CA2566787C (zh)
HK (1) HK1084476A1 (zh)
RU (1) RU2343543C2 (zh)
WO (1) WO2005111929A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281653B (zh) * 2008-04-30 2011-06-15 拓维信息***股份有限公司 将观众的个人脸谱融入动画角色的方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010050843A1 (ru) * 2008-10-29 2010-05-06 Kuznetsov Petr Mikhailovich Способ формирования статических, динамических или анимационных изображений на коммуникационных устройствах
CN102036059A (zh) * 2009-09-25 2011-04-27 腾讯科技(深圳)有限公司 一种透明图像的压缩和解压缩方法、装置和***
CN103440612B (zh) * 2013-08-27 2016-12-28 华为技术有限公司 一种gpu虚拟化中图像处理方法和装置
WO2016138621A1 (zh) * 2015-03-02 2016-09-09 华为技术有限公司 一种图像处理方法、装置及电子终端
KR20190116606A (ko) 2018-04-04 2019-10-15 (주)온넷시스템즈코리아 하이브리드 이미지 정합 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1059611A1 (en) * 1999-06-11 2000-12-13 Canon Kabushiki Kaisha Image processing apparatus
US6327381B1 (en) * 1994-12-29 2001-12-04 Worldscape, Llc Image transformation and synthesis methods
CN1430086A (zh) * 2003-02-11 2003-07-16 北京邮电大学 利用平面镜构成立体图像的观看装置
JP2004062758A (ja) * 2002-07-31 2004-02-26 Canon Inc 情報処理装置および方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2994996B2 (ja) * 1995-12-01 1999-12-27 松下電器産業株式会社 マルチメディア編集装置
EP0905976A4 (en) * 1997-03-17 2010-09-29 Panasonic Corp METHOD FOR PROCESSING, TRANSMITTING AND RECEIVING DATA OF DYNAMIC IMAGES AND RELATED DEVICE
EP0895190A3 (en) * 1997-07-18 2001-01-17 Artwings Co., Ltd. Motion detection system
IL123738A0 (en) * 1998-03-19 1998-10-30 Banitt Shmuel Method for processing variable speed scenes for computer games
US6211881B1 (en) * 1998-05-13 2001-04-03 Compaq Computer Corporation Image format conversion with transparency color adjustment
WO2000064154A1 (en) 1999-04-15 2000-10-26 Sony Corporation Imaging device and signal processing method
EP1830552A1 (en) * 1999-12-28 2007-09-05 Sony Corporation Image commercial transactions system and method
WO2001059599A1 (en) * 2000-02-11 2001-08-16 Autolycus Corporation Generation and display of multi-image video streams
US6628283B1 (en) * 2000-04-12 2003-09-30 Codehorse, Inc. Dynamic montage viewer
KR20010096412A (ko) 2000-04-18 2001-11-07 양호준 인터넷을 이용한 아바타 생성장치 및 그 방법
US6618051B1 (en) * 2000-04-26 2003-09-09 Sony Corporation System and method for creating and displaying representations of holographic images
JP4560897B2 (ja) * 2000-06-02 2010-10-13 ソニー株式会社 通信装置、通信方法及び媒体
US7298520B2 (en) * 2000-08-17 2007-11-20 Dai Nippon Printing Co., Ltd. Image printing system
JP2002247566A (ja) * 2000-11-30 2002-08-30 Matsushita Electric Ind Co Ltd 画像受信装置、画像送信装置および画像伝送システム
JP2002298149A (ja) 2001-03-29 2002-10-11 Sharp Corp データ合成処理装置、データ合成処理方法、データ合成処理プログラムを記録した機械読取可能な記録媒体およびデータ合成処理プログラム
KR20010082779A (ko) 2001-05-26 2001-08-31 이경환 이미지 데이터를 이용한 아바타 제작 방법 및 아바타를이용한 에이전트 시스템
KR100516638B1 (ko) * 2001-09-26 2005-09-22 엘지전자 주식회사 화상 통신 시스템
KR20010114196A (ko) * 2001-11-30 2001-12-29 오광호 아바타 제작방법과 그를 이용한 온라인상의 아바타제작시스템 및 방법
US20030128235A1 (en) * 2002-01-10 2003-07-10 International Business Machines Corporation System for associating graphics frames with events and method therefor
AU2003233407A1 (en) 2002-03-16 2003-10-08 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US7107285B2 (en) * 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US6864897B2 (en) * 2002-04-12 2005-03-08 Mitsubishi Electric Research Labs, Inc. Analysis, synthesis and control of data signals with temporal textures using a linear dynamic system
CN1209723C (zh) 2002-04-28 2005-07-06 上海友讯网络资讯有限公司 可自由组合的虚拟形象虚拟场景的形成方法
JP2004046513A (ja) 2002-07-11 2004-02-12 Basu Plus One:Kk 2次元動画データ作成プログラム及び2次元動画データ作成方法
CN1389817A (zh) * 2002-07-16 2003-01-08 雷永昌 一种网络虚拟人像的建构方法
CN1479250A (zh) * 2002-08-29 2004-03-03 数位营运股份有限公司 虚拟图像物件化***
US7570803B2 (en) * 2003-10-08 2009-08-04 Microsoft Corporation Virtual camera translation
US7262783B2 (en) * 2004-03-03 2007-08-28 Virtual Iris Studios, Inc. System for delivering and enabling interactivity with images
US7706663B2 (en) * 2004-10-12 2010-04-27 Cyberlink Corp. Apparatus and method for embedding content information in a video bit stream
JP2010003198A (ja) * 2008-06-23 2010-01-07 Fuji Xerox Co Ltd 文書管理システム、文書管理装置、プログラム
US20110205259A1 (en) * 2008-10-28 2011-08-25 Pixtronix, Inc. System and method for selecting display modes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327381B1 (en) * 1994-12-29 2001-12-04 Worldscape, Llc Image transformation and synthesis methods
EP1059611A1 (en) * 1999-06-11 2000-12-13 Canon Kabushiki Kaisha Image processing apparatus
JP2004062758A (ja) * 2002-07-31 2004-02-26 Canon Inc 情報処理装置および方法
CN1430086A (zh) * 2003-02-11 2003-07-16 北京邮电大学 利用平面镜构成立体图像的观看装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281653B (zh) * 2008-04-30 2011-06-15 拓维信息***股份有限公司 将观众的个人脸谱融入动画角色的方法

Also Published As

Publication number Publication date
KR20070011600A (ko) 2007-01-24
HK1084476A1 (en) 2006-07-28
CN1696979A (zh) 2005-11-16
KR100882250B1 (ko) 2009-02-06
US20070279410A1 (en) 2007-12-06
RU2006143545A (ru) 2008-06-20
JP2007537516A (ja) 2007-12-20
CA2566787A1 (en) 2005-11-24
RU2343543C2 (ru) 2009-01-10
CA2566787C (en) 2015-10-20
US10032290B2 (en) 2018-07-24
WO2005111929A1 (fr) 2005-11-24
JP4361950B2 (ja) 2009-11-11

Similar Documents

Publication Publication Date Title
TWI291627B (en) Method, system for providing visual and scene graph interface in a computing environment and computer-readable medium for recording the associated instructions
EP2464093B1 (en) Image file generation device, image processing device, image file generation method, and image processing method
CN106843835A (zh) 一种元数据定制的应用***软件构建***、***构建方法
CN101510205B (zh) 实现相片自动聚类的方法、装置及***
CN1297870C (zh) 渲染***和方法
CN103927424B (zh) 利用体网格简化建筑三维模型结构的方法
CN1713264A (zh) 基于fpga的数字osd控制器
CN100345164C (zh) 一种动态虚拟形象的合成方法
CN112579086B (zh) 一种适配多平台前端View的模板构建方法
CN106294299A (zh) 一种报表生成方法及装置
CN1248856A (zh) 对视频***中的字符显示进行控制的器件
CN1361506A (zh) 用于在二维屏幕上绘制图像的绘制方法
CN107767486A (zh) 一种基于视频格式的端到端自动驾驶数据的存储方法及装置
CN110012338A (zh) 一种显示弹幕数据的方法、装置、计算机设备和存储介质
CN103065349A (zh) 一种数据渲染方法及装置
CN1204821A (zh) 图形处理器和图形处理方法
CN1908947A (zh) 一种图像传感器行为仿真模型的生成装置及方法
CN106959897A (zh) 一种基于Unity3D图像渲染的优化方法及***
CN1271566C (zh) 复用电子相框的数字图像文件合成的方法
CN106354888A (zh) 一种游戏引擎采集卡视频采集方法
CN1099643C (zh) 字型产生法
CN1287311C (zh) 具有加权信息的多媒体描述模式以及显示多媒体的方法
Castronovo et al. A generic layout-tool for summaries of meetings in a constraint-based approach
CN116400967B (zh) 一种基于uefi bios流畅播放开机动画的方法
US12039652B2 (en) Animation data encoding/decoding method and apparatus, storage medium, and computer device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1084476

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1084476

Country of ref document: HK

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20071024