运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质.pdf

上传人:li****8 文档编号:5777918 上传时间:2019-03-18 格式:PDF 页数:26 大小:3.08MB
返回 下载 相关 举报
摘要
申请专利号:

CN201280005055.0

申请日:

2012.06.27

公开号:

CN103329526A

公开日:

2013.09.25

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04N 7/26申请日:20120627|||公开

IPC分类号:

H04N7/26; H04N7/32; G06T13/20(2011.01)I; G06T15/00(2011.01)I

主分类号:

H04N7/26

申请人:

史克威尔·艾尼克斯控股公司

发明人:

岩崎哲史

地址:

日本东京都

优先权:

2012.01.31 JP 2012-019239; 2011.08.17 US 61/524,460

专利代理机构:

北京林达刘知识产权代理事务所(普通合伙) 11277

代理人:

刘新宇

PDF下载: PDF下载
内容摘要

运动图像分配服务器在对第一画面执行后级绘制处理期间选择至少一个通道的中间值贴图,并且针对所设置的各块,通过参考针对在第一画面之前绘制的第二画面所生成的相应中间值贴图来判断是否进行帧间编码。运动图像分配服务器根据该判断结果来进行编码,并且在针对第一画面的后级绘制处理结束之后将编码运动图像数据发送至外部装置。该判断结果是在第一画面的编码运动图像数据的生成完成之前被发送至外部装置的。

权利要求书

权利要求书
1.   一种运动图像分配服务器,包括:
获取部件,用于顺次获取视点信息以确定要绘制的画面;
绘制部件,用于通过使用所述获取部件所获取到的视点信息进行至少两级的绘制处理来绘制分配画面,其中,所述绘制部件在前级绘制处理中生成在后级绘制处理中要参考的特定通道的中间值贴图,并且在所述后级绘制处理中通过参考该中间值贴图来绘制所述分配画面;
分割部件,用于获取针对第一画面所生成的至少一个通道的中间值贴图,并且在对所述第一画面执行所述后级绘制处理期间将该中间值贴图分割成多个块;
指定部件,用于针对所述多个块中的各个块,在针对在所述第一画面之前绘制的第二画面所生成的同一通道的中间值贴图中,指定与该块相对应的区域;
编码部件,用于在针对所述第一画面的所述后级绘制处理结束之后,通过对所述第一画面进行编码来生成编码运动图像数据,其中,对于所述多个块中的、与所述指定部件所指定的相应区域的相似度不小于阈值的块,所述编码部件在所述第一画面的该块的图像和所述第二画面的相应区域的图像之间进行帧间编码,并且对于所述多个块中的、与所述指定部件所指定的相应区域的相似度小于所述阈值的块,所述编码部件对所述第一画面的该块的图像进行帧内编码;以及
发送部件,用于向外部装置发送数据,
其中,所述发送部件用于:
针对与所述相应区域的相似度不小于所述阈值的块,在所述编码部件完成所述第一画面的各块的编码运动图像数据的生成之前,将该块和用以指定针对该块的相应区域的特定信息发送至所述外部装置,以及
在所述编码部件完成所述第一画面的各块的编码运动图像数据的生成之后,将所述编码运动图像数据发送至所述外部装置。

2.   根据权利要求1所述的运动图像分配服务器,其中,所述至少一个通道的中间值贴图是反照率贴图、深度贴图、高光贴图和漫反射贴图之一。

3.   根据权利要求1或2所述的运动图像分配服务器,其中,所述指定部件针对所述多个块中的各个块,将所述第二画面中的相似度最高的区域指定作为所述相应区域。

4.   根据权利要求2所述的运动图像分配服务器,其中,所述指定部件包括:
第一计算部件,用于针对所述多个块中的各个块,基于绘制所述第一画面所使用的第一视点信息和针对所述第一画面所生成的深度贴图来计算在该块的顶点处绘制的绘制对象的三维坐标;以及
变换部件,用于针对所述多个块中的各个块,使用绘制所述第二画面所使用的第二视点信息来将所述第一计算部件所计算出的三维坐标变换成所述第二画面上的画面坐标,并且指定所述相应区域。

5.   一种运动图像再现设备,用于从运动图像分配服务器顺次获取通过对一帧的画面进行编码所获得的编码运动图像数据并且对所述编码运动图像数据进行解码和再现,所述运动图像再现设备包括:
第一接收部件,用于针对通过对第一画面进行编码所获得的第一编码运动图像数据,接收进行了帧间编码的块和用于指定对该块进行解码要使用的参考数据的特定信息;
解码预处理部件,用于基于所述第一接收部件所接收到的特定信息,根据通过对在所述第一编码运动图像数据之前获取到的第二编码运动图像数据进行解码所获得的第二画面,来生成对所述第一编码运动图像数据进行解码要使用的、针对进行了所述帧间编码的各块的所述参考数据;
第二接收部件,用于从所述运动图像分配服务器接收所述第一编码运动图像数据;以及
解码部件,用于使用所述解码预处理部件所生成的针对进行了所述帧间编码的各块的所述参考数据,来对所述第二接收部件所接收到的所述第一编码运动图像数据进行解码和再现。

6.   根据权利要求5所述的运动图像再现设备,其中,所述第一接收部件所进行的所述特定信息的接收是在所述第二接收部件接收到所述第一编码运动图像数据之前进行的。

7.   一种运动图像分配服务器的控制方法,包括以下步骤:
获取步骤,用于使所述运动图像分配服务器的获取部件顺次获取视点信息以确定要绘制的画面;
绘制步骤,用于使所述运动图像分配服务器的绘制部件通过使用在所述获取步骤中获取到的视点信息进行至少两级的绘制处理来绘制分配画面,其中,所述绘制部件在前级绘制处理中生成在后级绘制处理中要参考的特定通道的中间值贴图,并且在所述后级绘制处理中通过参考该中间值贴图来绘制所述分配画面;
分割步骤,用于使所述运动图像分配服务器的分割部件获取针对第一画面所生成的至少一个通道的中间值贴图,并且在对所述第一画面执行所述后级绘制处理期间将该中间值贴图分割成多个块;
指定步骤,用于使所述运动图像分配服务器的指定部件针对所述多个块中的各个块,在针对在所述第一画面之前绘制的第二画面所生成的同一通道的中间值贴图中,指定与该块相对应的区域;
编码步骤,用于使所述运动图像分配服务器的编码部件在针对所述第一画面的所述后级绘制处理结束之后,通过对所述第一画面进行编码来生成编码运动图像数据,其中,对于所述多个块中的、与在所述指定步骤中指定的相应区域的相似度不小于阈值的块,所述编码部件在所述第一画面的该块的图像和所述第二画面的相应区域的图像之间进行帧间编码,并且对于所述多个块中的、与在所述指定步骤中指定的相应区域的相似度小于所述阈值的块,所述编码部件对所述第一画面的该块的图像进行帧内编码;以及
发送步骤,用于使所述运动图像分配服务器的发送部件向外部装置发送数据,
其中,在所述发送步骤中,所述发送部件用于:
针对与所述相应区域的相似度不小于所述阈值的块,在所述编码步骤中完成所述第一画面的各块的编码运动图像数据的生成之前,将该块和用以指定针对该块的相应区域的特定信息发送至所述外部装置,以及
在所述编码步骤中完成所述第一画面的各块的编码运动图像数据的生成之后,将所述编码运动图像数据发送至所述外部装置。

8.   一种运动图像再现设备的控制方法,用于从运动图像分配服务器顺次获取通过对一帧的画面进行编码所获得的编码运动图像数据,并且对所述编码运动图像数据进行解码和再现,所述控制方法包括以下步骤:
第一接收步骤,用于使所述运动图像再现设备的第一接收部件针对通过对第一画面进行编码所获得的第一编码运动图像数据,接收进行了帧间编码的块和用于指定对该块进行解码要使用的参考数据的特定信息;
解码预处理步骤,用于使所述运动图像再现设备的解码预处理部件基于在所述第一接收步骤中接收到的特定信息,根据通过对在所述第一编码运动图像数据之前获取到的第二编码运动图像数据进行解码所获得的第二画面,来生成对所述第一编码运动图像数据进行解码要使用的、针对进行了所述帧间编码的各块的所述参考数据;
第二接收步骤,用于使所述运动图像再现设备的第二接收部件从所述运动图像分配服务器接收所述第一编码运动图像数据;以及
解码步骤,用于使所述运动图像再现设备的解码部件使用在所述解码预处理步骤中生成的针对进行了所述帧间编码的各块的所述参考数据,来对在所述第二接收步骤中接收到的所述第一编码运动图像数据进行解码和再现。

9.   一种程序,用于使计算机用作根据权利要求1至4中任一项所述的运动图像分配服务器的各部件。

10.   一种程序,用于使计算机用作根据权利要求5或6所述的运动图像再现设备的各部件。

11.   一种计算机可读记录介质,用于记录根据权利要求9或10所述的程序。

说明书

说明书运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质
技术领域
本发明涉及一种运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质,尤其涉及编码运动图像数据流分配技术。
背景技术
诸如个人计算机(PC)等的能够进行网络连接的客户端装置已经普及。随着这些装置的普及使用,因特网的网络人数不断增加。近来针对网络用户已经发展了使用因特网的各种服务,并且还提供了诸如游戏等的娱乐服务。
针对网络用户的服务其中之一是诸如MMORPG(Massively Multiplayer Online Role‑Playing Game,大型多人在线角色扮演游戏)等的多用户在线网络游戏。在该多用户在线网络游戏中,用户使他/她的使用中的客户端装置连接至提供游戏的服务器,由此与使用连接至该服务器的其它客户端装置的其它用户进行配对游戏或团队游戏。
在一般的多用户在线网络游戏中,各客户端装置与服务器进行游戏绘制所需的数据的发送/接收。客户端装置使用接收到的绘制所需的数据来执行绘制处理,并将所生成的游戏画面呈现至与该客户端装置相连接的显示装置,由此将该游戏画面提供给用户。用户通过操作输入接口所输入的信息被发送至服务器并且用于进行服务器中的计算处理或者被发送至与该服务器相连接的其它客户端装置。
然而,使客户端装置执行绘制处理的一些网络游戏需要用户使用具有充足的绘制性能的PC或者专用游戏机。由于该原因,网络游戏(一个内容)的用户数量依赖于该内容所需的客户端装置的性能。高性能的装置当然昂贵,并且能够拥有该装置的用户数量有限。也就是说,难以增加例如提供美观图形的游戏的需要高绘制性能的游戏的用户数量。
然而,近年来,还提供了用户在不依赖于客户端装置的诸如绘制性能等的处理能力的情况下可玩的游戏。在如国际公开2009/138878所述的游戏中,服务器获取在客户端装置中发生的操作的信息,并将通过使用该信息执行绘制处理所获得的游戏画面提供至客户端装置。
在上述国际公开2009/138878的游戏中,服务器提供至客户端装置的游戏画面是以编码运动图像数据的形式提供的,以减少要发送的信息量。诸如MPEG标准等的一般运动图像编码类型对通过分割一帧图像所获得的各块进行无运动补偿的内编码(帧内编码)或者进行通过帧间预测进行运动补偿的间编码(帧间编码),但这根据所采用的编码类型而改变。针对各编码类型,存在压缩效率高的被摄体。通常,通过对各块进行帧内编码和帧间编码来生成块(iblock和pblock),并且压缩效率高的块包括在编码数据中。
在帧内编码时,向压缩对象的未处理块图像应用DCT和游程编码(run‑length coding)等,由此对该图像进行压缩。另一方面,在帧间编码时,生成压缩对象的块图像和从前一帧图像提取出的与该块相对应的参考图像之间的差图像。然后,向该图像应用DCT和游程编码等以进行压缩。由于该原因,帧间编码包括在前一帧图像中指定与压缩对象块图像的相关性最高的区域的处理。在与相关性最高的区域的检测相关联的处理中,通过在使评价区域在前一帧图像内移动的情况下计算相对于压缩对象块图像的相似度和距离来进行分析。因而,该分析处理可能花费时间。
特别是在例如基于用户输入来交互地改变绘制内容的游戏中,需要实时绘制、即针对输入的高速响应,并且运动图像编码处理所需的时间受限。在这种情况下,需要快速地进行各块的编码处理和判断是进行帧内编码还是帧间编码的处理。然而,尚未公开对绘制画面快速高效地进行运动图像编码的具体方法。
发明内容
本发明是考虑到现有技术的上述问题而作出的。本发明提供一种用于对通过绘制处理所获得的画面快速高效地进行运动图像编码的运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质。
本发明的第一方面提供一种运动图像分配服务器,包括:获取部件,用于顺次获取视点信息以确定要绘制的画面;绘制部件,用于通过使用所述获取部件所获取到的视点信息进行至少两级的绘制处理来绘制分配画面,其中,所述绘制部件在前级绘制处理中生成在后级绘制处理中要参考的特定通道的中间值贴图,并且在所述后级绘制处理中通过参考该中间值贴图来绘制所述分配画面;分割部件,用于获取针对第一画面所生成的至少一个通道的中间值贴图,并且在对所述第一画面执行所述后级绘制处理期间将该中间值贴图分割成多个块;指定部件,用于针对所述多个块中的各个块,在针对在所述第一画面之前绘制的第二画面所生成的同一通道的中间值贴图中,指定与该块相对应的区域;编码部件,用于在针对所述第一画面的所述后级绘制处理结束之后,通过对所述第一画面进行编码来生成编码运动图像数据,其中,对于所述多个块中的、与所述指定部件所指定的相应区域的相似度不小于阈值的块,所述编码部件在所述第一画面的该块的图像和所述第二画面的相应区域的图像之间进行帧间编码,并且对于所述多个块中的、与所述指定部件所指定的相应区域的相似度小于所述阈值的块,所述编码部件对所述第一画面的该块的图像进行帧内编码;以及发送部件,用于向外部装置发送数据,其中,所述发送部件用于:针对与所述相应区域的相似度不小于所述阈值的块,在所述编码部件完成所述第一画面的各块的编码运动图像数据的生成之前,将该块和用以指定针对该块的相应区域的特定信息发送至所述外部装置,以及在所述编码部件完成所述第一画面的各块的编码运动图像数据的生成之后,将所述编码运动图像数据发送至所述外部装置。
通过以下(参考附图)对典型实施例的说明,本发明的其它特征将变得明显。
附图说明
图1是示出根据本发明实施例的运动图像分配系统的系统结构的图;
图2是示出根据本发明实施例的PC 100的功能结构的框图;
图3是示出根据本发明实施例的运动图像分配服务器200的功能结构的框图;
图4是示出根据本发明实施例的运动图像分配服务器200的运动图像分配处理的流程图;
图5是示出根据本发明实施例的绘制对象的数据结构的图;
图6是示出根据本发明实施例的运动图像分配服务器200的编码处理的流程图;
图7是示出根据本发明实施例的PC 100的运动图像再现处理的流程图;
图8是示出根据本发明实施例的PC 100的解码预处理的流程图;
图9是示出根据本发明实施例的运动图像分配系统的整体处理的流程图;
图10是示出根据本发明变形例的运动图像分配服务器200的运动图像分配处理的流程图;以及
图11是用于说明根据本发明变形例的估计假定具有最高相关性的区域的方法的图。
具体实施方式
现在将参考附图来详细说明本发明的典型实施例。注意,在以下实施例中,将说明将本发明应用于用作运动图像再现设备的PC100和运动图像分配服务器200的运动图像分配系统的示例。
运动图像分配系统的结构
图1是示出根据本发明实施例的运动图像分配系统的系统结构的图。
如图1所示,PC 100和运动图像分配服务器200经由诸如因特网等的网络300相连接。在本实施例中,PC 100接收作为运动图像分配内容的示例的在运动图像分配服务器200中执行的游戏内容的游戏画面,作为编码运动图像数据。在本实施例中,运动图像分配服务器200接收在PC 100中发生的操作(用户输入)并且以帧为单位绘制与该操作相对应的游戏画面。然后,运动图像分配服务器200对所绘制的游戏画面进行编码并将所获得的编码运动图像数据分配至PC 100。在从运动图像分配服务器200接收到编码运动图像数据时,PC 100对该编码运动图像数据进行解码和再现,由此将该游戏画面提供给用户。
在本实施例中,作为运动图像分配内容的示例,将说明用于提供利用在网络300上的运动图像分配服务器200中执行的游戏程序所绘制的游戏画面的内容。然而,本发明的实施不限于此。运动图像分配服务器200仅需被配置为进行用以绘制要提供至分配目的地的运动图像分配内容的一帧的绘制处理、并且分配通过对各帧进行编码处理所获得的编码运动图像数据。一帧的画面的绘制无需总是在运动图像分配服务器200中执行并且例如可以由外部绘制服务器来执行。
在本实施例中,将说明PC 100作为连接至运动图像分配服务器200的客户端装置。然而,本发明的实施不限于此。连接至运动图像分配服务器200的客户端装置可以是例如家用游戏机、便携式游戏机、蜂窝电话、PDA或平板电脑的能够对从运动图像分配服务器200接收到的编码运动图像数据进行解码和再现的任何其它装置。
PC 100的结构
图2是示出根据本发明实施例的PC 100的功能结构的框图。
CPU 101控制PC 100的各块的操作。更具体地,CPU 101通过读出记录在例如ROM 102或记录介质中的运动图像再现处理的操作程序并在RAM 103上展开和执行该程序来控制各块的操作。
ROM 102例如是可重写非易失性存储器。除了运动图像再现处理等的操作程序以外,ROM 102还存储PC 100的各块的操作所需的常数等的信息。
RAM 103是易失性存储器。RAM 103不仅用作操作程序展开区域,而且还用作用于临时存储PC 100的各块的操作中所输出的中间数据等的存储区域。
解码单元104对后面要说明的通信单元105所接收到的编码运动图像数据进行解码处理从而生成一帧的游戏画面。在对编码运动图像数据进行解码处理之前,解码单元104进行准备该解码处理中要使用的参考数据的解码预处理。将针对后面要说明的运动图像再现处理来详细说明解码单元104所执行的解码预处理和解码处理。
通信单元105是PC 100所配备的通信接口。通信单元105与经由网络300所连接的诸如运动图像分配服务器200等的其它装置进行数据的发送/接收。在数据发送时,通信单元105将数据转换成针对网络300或发送目的地的装置预先确定的数据发送格式,并将该数据发送至发送目的地的装置。在数据接收时,通信单元105将经由网络300接收到的数据转换成PC 100可读取的任意数据格式,并将该数据存储在例如RAM 103中。
在本实施例中,将假定PC 100和运动图像分配服务器200经由网络300相连接来进行说明。然而,如能够容易理解,PC100和运动图像分配服务器200例如可以使用线缆直接相连接。
显示单元106是诸如LCD监视器等的连接至PC 100的显示装置。显示装置106进行用以将接收到的游戏画面显示在显示区域中的显示控制。注意,显示单元106可以是内置于诸如便携式PC等的PC 100的显示装置或者使用线缆从外部连接至PC 100的显示装置。
操作输入单元107是诸如鼠标、键盘或游戏垫等的PC 100所配备的用户接口。在检测到发生了针对用户接口的操作时,操作输入单元107将与该操作相对应的控制信号输出至CPU101。
运动图像分配服务器200的结构
图3是示出根据本发明实施例的运动图像分配服务器200的功能结构的框图。
服务器CPU 201控制运动图像分配服务器200的各块的操作。更具体地,服务器CPU 201通过读出记录在例如服务器ROM202中的运动图像分配处理的操作程序并在服务器RAM 203上展开和执行该程序来控制各块的操作。
服务器ROM 202例如是可重写非易失性存储器。除了运动图像分配处理等的操作程序以外,服务器ROM 202还存储运动图像分配服务器200的各块的操作所需的常数等的信息。
服务器RAM 203是易失性存储器。服务器RAM 203不仅用作操作程序展开区域,而且还用作用于临时存储运动图像分配服务器200的各块的操作中所输出的中间数据等的存储区域。
服务器GPU 204生成要显示在PC 100的显示单元106上的游戏画面。服务器VRAM 205连接至服务器GPU 204。在从服务器CPU 201接收到绘制指令和游戏画面的绘制要使用的照相机的位置和方向的信息(视点信息)时,服务器GPU 204从例如后面要说明的服务器记录介质207读出与该绘制指令有关的绘制对象并将该绘制对象存储在GPU存储器中。在所连接的服务器VRAM 205上进行绘制的情况下,服务器GPU 204将绘制对象展开至高速缓冲存储器,然后将该展开后的绘制对象写入服务器VRAM 205。
注意,在生成游戏画面的绘制处理中,本实施例的服务器GPU 204使用所谓的递延绘制(Deferred Rendering)方法。
在传统的绘制方法中,通过进行以下处理来顺次选择和绘制游戏画面中所包括的各绘制对象。
1.顶点着色器所进行的移动/转动处理;
2.几何着色器所进行的顶点处理;以及
3.像素着色器所进行的包括以像素为单位的阴影处理的效果处理。
也就是说,传统的绘制方法是对各绘制对象进行“阴影处理→绘制”过程的所谓的正向绘制(Forward Rendering)方法。在正向绘制中,顺次处理对象。因而,根据各像素,一个对象的绘制内容可能被位于靠近照相机的位置(位于比该关注对象更靠近照相机的位置)的其它对象的绘制内容所覆盖。在这种情况下,对被后绘制的对象遮挡的先绘制的对象的部分区域浪费地应用了阴影处理。另外,例如,存在于绘制场景内的光源对于存在于该场景内的所有对象是共用的。然而,在正向绘制中,难以将用于绘制一个对象的共用计算内容重新用于绘制其它对象。由于这些原因,正向绘制在利用特别复杂的阴影处理的游戏画面绘制中不是有效率的。
另一方面,在递延绘制中,与正向绘制不同,首先计算阴影处理要使用的几何图形,然后立即进行所有绘制对象的阴影处理。也就是说,通过包括“几何绘制→阴影处理→绘制”过程的两个步骤来执行绘制处理。在递延绘制中,在前级绘制中在无需照明的情况下对几何图形连同阴影处理要使用的参数一起进行绘制,由此生成表示阴影处理要使用的中间值的多个中间值贴图(反照率贴图、深度贴图、法线贴图、高光贴图和漫反射贴图)。在后级绘制中,通过在应用所生成的多个中间值贴图的情况下使用光源进行阴影处理来绘制画面。
服务器编码单元206对利用服务器GPU 204在服务器VRAM 205上生成的游戏画面进行编码处理。服务器编码单元206将编码对象的游戏画面分割成块并且对各块进行帧内编码或帧间编码。后面将说明该编码处理的详细内容。在本实施例中,服务器编码单元206针对YCbCr的各颜色通道对各块进行DCT(离散余弦变换),然后通过游程编码对各块进行压缩。在本实施例中,将假定服务器编码单元206作为用于对游戏画面进行编码处理的单个块而存在来进行说明。然而,该编码处理可以由服务器GPU 204来执行。
服务器记录介质207是诸如HDD等的以能够拆卸的方式连接至运动图像分配服务器200的记录装置。在本实施例中,假定服务器记录介质207记录画面绘制处理中所使用的各绘制对象的数据和在画面上表现的三维场景内配置的光源的信息等。
服务器通信单元208是运动图像分配服务器200所配备的通信接口。在本实施例中,服务器通信单元208与经由网络300所连接的诸如PC 100等的其它装置进行数据的发送/接收。注意,如通信单元105那样,服务器通信单元208进行基于通信规格的数据格式转换。
运动图像分配处理
将参考图4的流程图来说明具有上述结构的根据本实施例的运动图像分配系统的运动图像分配服务器200要执行的详细运动图像分配处理。可以通过使服务器CPU 201读出记录在例如服务器ROM 202中的相应处理程序并在服务器RAM 203上展开和执行该程序来实现与该流程图相对应的处理。注意,将假定如下来进行说明:该运动图像分配处理在服务器CPU 201检测到从PC 100已接收到针对运动图像分配服务器200所提供的游戏内容的分配请求的情况下开始,并且针对游戏的各帧重复执行。
注意,在本实施例中,将假定如下来进行说明:运动图像分配服务器200将通过使用递延绘制方法绘制三维场景所生成的游戏画面以编码运动图像数据的形式提供至PC 100。然而,如上所述,运动图像分配服务器200要分配的内容不限于此,并且可以是用于提供通过以至少两个步骤绘制三维场景所获得的场景的任意内容。
在步骤S401中,服务器CPU 201更新下一个要绘制的游戏画面的视点信息。更具体地,服务器CPU 201通过例如参考服务器通信单元208所接收到的用户在PC 100上进行的与游戏有关的操作输入的信息来更新下一个要绘制的游戏画面的视点信息。可以产生视点信息的更新的用户操作例如与视点位置/方向改变操作或者作为用户的操作对象的字符的移动相对应。注意,要用于绘制游戏画面的视点信息不仅可能因在PC 100上发生的用户操作而改变而且还可能根据例如游戏的进度而改变。
在步骤S402中,服务器CPU 201使服务器GPU 204对与步骤S401中更新后的视点信息相对应的游戏画面执行前级绘制处理,由此生成后级绘制处理中要使用的各种中间值贴图。更具体地,服务器CPU 201指定包括在要绘制的游戏画面中的绘制对象并且根据绘制顺序将各绘制对象的数据发送至服务器GPU204。服务器GPU 204将传送来的绘制对象的数据存储在GPU存储器中。各绘制对象的数据具有例如图5所示的结构。在本实施例中,各数据包含与对象ID相关联的模型数据(或顶点数据和连线数据)、纹理数据以及位置/转动信息。注意,纹理数据不仅包含应用于(粘贴于)三维模型以表现其图案等的一般图像纹理(贴花纹理(decal texture)),而且还包含要用于三维模型的阴影处理或材质表现的各种贴图。
服务器GPU 204基于根据绘制指令要绘制的绘制对象的位置/转动信息的参数来使存储在GPU存储器中的模型数据移动和转动。之后,服务器GPU 204在不应用光源效果(阴影处理和明暗)的情况下将该对象绘制在服务器VRAM 205上。此时,在服务器VRAM 205上生成与最终要提供至PC 100的游戏画面相对应的多种中间值贴图。在后面要说明的后级绘制处理中所包括的阴影处理中参考这些多种中间值贴图,并且在本实施例中,这些中间值贴图至少包括以下贴图。
●反照率贴图
●深度贴图
●法线贴图
●高光贴图
●漫反射贴图
注意,除了深度贴图以外的中间值贴图是通过基于要绘制的游戏画面的视点信息而对要绘制的游戏画面中包括的所有绘制对象的数据内包含的相应纹理数据或模型数据的各多边形的信息进行转换来生成的。也就是说,在正向绘制中,针对各绘制对象考虑到其纹理数据来执行阴影处理,作为对比,在递延绘制的前级绘制处理中,通过将要绘制的整个游戏画面视为一个绘制对象来生成中间值贴图。由此,这使得能够在后级绘制处理中对整个游戏画面进行阴影处理,从而减少重复计算。
注意,深度贴图是在中间值贴图生成时绘制各绘制对象的情况下、考虑到各像素的因绘制对象的前后关系所造成的遮挡来利用传统方法生成的。
在如此完成了前级绘制处理的情况下,服务器CPU 201并行执行步骤S403~S407的处理和步骤S408~S411的处理。
在步骤S403中,服务器CPU 201将中间值贴图与用于识别绘制帧(当前帧)的帧ID相关联地存储在服务器RAM 203中。对于要提供至PC 100的编码运动图像数据的各帧,本实施例的运动图像分配服务器200将用于生成所绘制的游戏画面的中间值贴图存储在服务器RAM 203中并且保持这些中间值贴图,直到至少完成了下一帧的编码处理为止。
在步骤S404中,服务器CPU 201选择多种类型的中间值贴图中的至少一个中间值贴图以进行编码判断,并且将编码判断所用的中间值贴图(判断用中间值贴图)分割成各自具有预定像素数(例如,16个像素×16个像素)的块。如上所述,各中间值贴图与最终要提供至PC 100的游戏画面相对应,并且可用于判断在要提供的游戏画面的各块的运动图像编码中是否进行帧间预测。
在本实施例中,选择反照率贴图、深度贴图、高光贴图和漫反射贴图中的至少一个贴图作为判断用中间值贴图。注意,在所生成的中间值贴图中,原理上还可以使用法线贴图来进行编码判断。然而,该贴图利用像素值来表示法线方向。由于该原因,在绘制对象包括例如无凹凸但具有图案的表面的情况下,该表面的所有像素都具有相同值。因而,在仅使用法线贴图来进行后面要说明的编码判断的情况下,并非必须实现优选的数据压缩。因而,在本实施例中,在通过前级绘制处理所生成的多种类型的中间值贴图中,可以使用除法线贴图以外的贴图来进行编码判断。
在步骤S405中,对于判断用中间值贴图的各块,服务器CPU201在通过对紧挨当前帧之前的帧(前一帧)的游戏画面进行前级绘制处理所生成的相应中间值贴图内指定相关性最高的区域。更具体地,服务器CPU 201从服务器RAM 203读出通过对前一帧的游戏画面进行前级绘制处理所生成的中间值贴图中的、与步骤S404中选择作为判断用中间值贴图的贴图相对应(与该贴图属于同一类型)的贴图(判断用过去中间值贴图)。然后,服务器CPU 201针对各块在该判断用过去中间值贴图中搜索相关性最高的区域。
此时,服务器CPU 201将要进行编码判断的块的图像设置为参考图像,根据判断用过去中间值贴图来设置与参考图像具有一样多像素的判断对象区域,并且例如计算这些图像之间的Euclidean(欧几里德)距离,由此获取相似度。该判断对象区域的设置是在使该区域以像素为单位或以1/2像素为单位在判断用过去中间值贴图中移动的情况下进行的。服务器CPU 201最终将相对于参考图像的Euclidean距离最短(相似度最高)的区域的位置指定为相关性最高的区域的位置。
注意,在后面要说明的编码处理中进行帧间编码的情况下,本实施例的运动图像分配服务器200使用从紧挨当前帧之前的帧获取到的参考数据来对当前帧图像和参考数据之间的差图像进行编码。由于该原因,将假定还对紧挨当前帧之前的帧进行编码判断来进行说明。然而,帧间编码中要参考的过去帧不限于紧挨当前帧之前的帧,并且可以使用当前帧之前的任意帧。
在步骤S406中,服务器CPU 201判断对判断用中间值贴图的各块进行帧内编码还是帧间编码(编码判断)。更具体地,服务器CPU 201判断针对与各块的相关性最高的判断用过去中间值贴图的区域所计算出的相似度(例如,Euclidean距离的倒数)是否等于或高于预设阈值。服务器CPU 201判断为对与相关性最高的区域的相似度等于或高于阈值的块进行帧间编码、或者对相似度低于阈值的块进行帧内编码。
在步骤S407中,服务器CPU 201针对判断用过去中间值贴图的各块中的被判断为进行帧间编码的块,计算相对于相关性最高的判断用过去中间值贴图的区域的运动矢量。与用于指定被判断为进行帧间编码的块的特定信息相关联地,服务器CPU201将针对该块的运动矢量的信息发送至服务器通信单元208并使服务器通信单元208将该信息作为预处理信息发送至PC 100。
另一方面,在与步骤S403~S407的处理并行的处理中,在步骤S408中,服务器CPU 201使服务器GPU 204对与步骤S401中更新后的视点信息相对应的游戏画面执行后级绘制处理,由此生成最终要提供至PC 100的游戏画面(分配游戏画面)。更具体地,服务器CPU 201指定要应用于所绘制的游戏画面的三维场景的光源并将该光源的属性和强度等的信息发送至服务器GPU 204。服务器GPU 204在使用前级绘制处理中生成的各种中间值贴图来针对各种光源进行阴影处理(应用光源效果)的情况下,再次绘制游戏画面内所包括的绘制对象,由此在服务器VRAM 205的帧缓冲器上生成分配游戏画面。
在步骤S409中,服务器CPU 201判断步骤S406中的针对当前帧的编码判断处理是否完成。在判断为该编码判断处理完成时,服务器CPU 201使该处理进入步骤S410。在判断为编码判断处理没有完成时,重复步骤S409的处理。
在步骤S410中,服务器CPU 201如步骤S404的块分割那样将分配游戏画面分割成块,并且执行编码处理以生成编码运动图像数据。
编码处理
将参考图6来说明本实施例的运动图像分配服务器200中所执行的编码处理的详细内容。
在步骤S601中,服务器CPU 201选择分配游戏画面的块中的未编码块。
在步骤S602中,服务器CPU 201通过参考针对判断用中间值贴图所进行的编码判断处理的结果来判断是否对所选择的块进行帧间编码。在判断为对所选择的块进行帧间编码时,服务器CPU 201使该处理进入步骤S603。在判断为不进行帧间编码时,服务器CPU 201使该处理进入步骤S605。
在步骤S603中,服务器CPU 201根据在紧挨当前帧之前的帧中绘制的游戏画面(前一游戏画面)内的与所选择的块相对应的区域的图像来生成帧间编码要使用的参考图像(参考数据)。更具体地,服务器CPU 201首先从例如服务器RAM 203读出前一帧中提供至PC 100的游戏画面(过去游戏画面)。服务器CPU201从作为参考图像的过去游戏画面提取针对所选择的块所指定的与相关性最高的区域相对应的区域的图像。
在步骤S604中,服务器CPU 201生成所选择的块的图像和参考图像之间的差作为差图像并将该差图像设置为编码对象图像。更具体地,服务器CPU 201通过从所选择的块的相应像素的像素值中减去参考图像的各像素的像素值来生成该差图像(pblock)。
另一方面,在步骤S602中判断为不进行帧间编码的情况下,在步骤S605中,服务器CPU 201将所选择的块的图像设置为编码对象图像。
在步骤S606中,服务器CPU 201将编码对象图像发送至服务器编码单元206并且使服务器编码单元206执行DCT处理以将该图像转换成频域内的数据。服务器CPU 201还使服务器编码单元206对通过转换所获得的频域内的数据进行游程编码,由此生成所选择的块的编码数据。
在步骤S607中,服务器CPU 201判断是否已对所绘制的游戏画面的所有块进行了步骤S602~S606的处理。在判断为存在未处理块的情况下,服务器CPU 201使该处理返回至步骤S601。在判断为不存在未处理块时,该编码处理完成。
在根据所绘制的游戏画面生成编码运动图像数据之后,在步骤S411中,服务器CPU 201将该编码运动图像数据发送至服务器通信单元208并且使服务器通信单元208将该数据发送至PC 100,并且完成了当前帧的运动图像分配处理。
如上所述,利用通过多级绘制处理来生成要提供至PC 100的游戏画面这一事实,根据本实施例的运动图像分配服务器200在用于绘制最终游戏画面的后级绘制处理期间,可以使用通过前级绘制处理所生成的中间值贴图来确定针对游戏画面的各块的编码方法。由于在已绘制了最终游戏画面之后编码处理可以在无需确定编码方法的情况下开始,因此可以缩短将游戏画面提供至PC 100所需的时间。
运动图像再现处理
将参考图7的流程图来说明本实施例的PC 100要执行的运动图像再现处理的详细内容。可以通过使CPU 101读出记录在例如ROM 102中的相应处理程序并在RAM 103上展开和执行该处理程序来实现与该流程图相对应的处理。现在,将假定如下来进行说明:该运动图像再现处理在例如在PC 100上执行用于接收运动图像分配服务器200所提供的游戏内容的应用程序的情况下开始,并且针对游戏的各帧重复执行。
在步骤S701中,CPU 101判断通信单元105是否已从运动图像分配服务器200接收到预处理信息。在判断为已从运动图像分配服务器200接收到预处理信息时,CPU 101使该处理进入步骤S702。在判断为没有接收到该信息时,重复步骤S701的处理。
在步骤S702中,CPU 701通过参考该预处理信息来执行准备对当前帧的游戏画面进行解码所需的参考数据的解码预处理。
解码预处理
将参考图8的流程图来说明本实施例的PC 100要执行的解码预处理的详细内容。
在步骤S801中,CPU 101从当前帧中接收到的游戏画面的块中选择没有进行所使用的编码类型判断的块。
在步骤S802中,CPU 101通过参考预处理信息来判断是否已对所选择的块进行了帧间编码。更具体地,CPU 101判断预处理信息是否包括用于指定所选择的块的信息,在判断为已对所选择的块进行了帧间编码时,CPU 101使该处理进入步骤S803。在判断为没有进行帧间编码时,CPU 101使该处理进入步骤S804。
在步骤S803中,CPU 101从在紧挨当前帧之前的帧内进行解码后的游戏画面(前一帧画面)提取对所选择的块进行解码要使用的参考图像(参考数据)。更具体地,CPU 101通过参考包括在预处理信息中的与所选择的块相关联的运动矢量来指定前一帧画面中的对所选择的块进行解码要参考的区域,并且提取该区域的图像作为参考图像。
在步骤S804中,CPU 101判断是否已对当前帧中接收到的游戏画面的所有块进行了步骤S802和S803的处理。在判断为存在未处理块时,CPU 101使该处理返回至步骤S801。在判断为不存在未处理块时,该解码处理完成。
如上所述,在接收到编码运动图像数据之后要执行的解码处理之前,本实施例的PC 100可以通过参考在编码运动图像数据之前接收到的预处理信息来准备解码处理中要使用的参考数据。
在步骤S703中,CPU 101判断通信单元105是否已从运动图像分配服务器200接收到编码运动图像数据。在判断为已从运动图像分配服务器200接收到编码运动图像数据时,CPU 101使该处理进入步骤S704。在判断为没有接收到数据时,重复步骤S703的处理。
在步骤S704中,CPU 101将接收到的编码运动图像数据发送至解码单元104并且使解码单元104执行解码处理以生成游戏画面。更具体地,解码单元104对编码运动图像数据的各块进行游程编码数据串的解码和逆DCT处理,由此生成当前帧的游戏画面的块数据。对于已进行了帧间编码的块,解码单元104添加通过上述解码预处理所生成的参考数据,由此生成当前帧的游戏画面。
在步骤S705中,CPU 101将步骤S704中所生成的当前帧的游戏画面发送至显示单元106,使显示单元106将该游戏画面显示在相应的显示区域中,并且完成当前帧的运动图像再现处理。
如上所述,本实施例的运动图像分配系统中的运动图像分配服务器200可以在生成和分配编码运动图像数据信息之前将编码方法信息发送至PC 100。更具体地,由于可以在接收到编码运动图像数据之前通过预处理来准备参考数据,因此可以缩短在接收到编码运动图像数据之后所执行的解码处理的时间。也就是说,与通过参考接收到的编码运动图像数据内所包含的运动矢量来根据前一帧图像生成对已进行了帧间编码的块进行解码要使用的参考图像的传统方法相比,本实施例的运动图像分配方法可以缩短在解码后的运动图像数据的再现之前所需的时间。
也就是说,运动图像分配系统整体使用如图9所示的处理过程。应用本发明使得能够实现运动图像分配服务器200中的运动图像编码处理的高效化和PC 100中的运动图像解码处理的高效化这两者。
注意,以上已经假定在对当前帧的画面的所有块执行了编码判断之后将预处理信息发送至PC 100来说明了运动图像分配处理。然而,如能够容易地预料到,预处理信息的发送时刻不限于此。更具体地,每当通过针对各块判断是否进行帧间编码来获得结果时,代替等待所有块的判断结果,服务器CPU 201可以将该块的预处理信息发送至PC 100。在这种情况下,在PC100的CPU 101接收到预处理信息并且生成由该预处理信息指定的块的参考图像的情况下,可以期望运动图像分配处理更加高效。
在本实施例中,对于判断用中间值贴图的各块中的被判断为进行帧间编码的块,搜索判断用过去中间值贴图中的相关性最高并且包括与该块一样多的像素的区域作为编码时的参考数据。已经假定将表示该区域的运动矢量(二维矢量)发送至PC100进行了说明。然而,用作帧间编码时的参考数据的区域无需总是包括相同像素数的区域。例如,在通过放大/缩小判断用过去中间值贴图的部分区域所获得的图像与编码对象块的相关性最高的情况下,可以使用放大/缩小后的图像作为参考数据。可选地,例如,在通过使判断用过去中间值贴图的部分区域转动或投影(变形)所获得的图像与编码对象块的相关性最高的情况下,可以使用转动或投影后的图像作为参考数据。在这种情况下,为了指定要用作参考数据的前一帧画面的区域,例如,可以将放大/缩小参数或转动/投影所用的变换矩阵连同三维运动矢量或二维运动矢量一起发送至PC 100。注意,用于指定要用作参考数据的前一帧画面的区域的信息不限于此。还可使用例如用于直接指定区域的顶点坐标的信息的、能够指定该区域的任何其它形式的信息。
如上所述,本实施例的运动图像分配服务器可以对通过绘制处理所获得的画面快速高效地进行运动图像编码。更具体地,运动图像分配服务器使用用以确定要绘制的画面的视点信息来通过至少两级的绘制处理来绘制分配画面。进行该绘制处理,以使得通过参考前级绘制处理中所生成的特定通道的中间值贴图来在后级绘制处理中绘制分配画面。运动图像分配服务器在针对第一画面执行后级绘制处理期间选择至少一个通道的中间值贴图,并且通过参考针对在第一画面之前绘制的第二画面所生成的相应中间值贴图来针对所设置的各块判断是否进行帧间编码。在针对第一画面已结束了后级绘制处理之后,运动图像分配服务器根据该判断结果来进行编码并将编码运动图像数据发送至外部装置。该判断结果是在第一画面的编码运动图像数据的生成完成之前发送至外部装置的。
变形例
已经假定如下说明了上述实施例:通过使用前级绘制处理中生成的多种中间值贴图中的至少一个中间值贴图进行诸如Euclidean距离计算等的相关性计算来在前一帧中指定与相应贴图的各编码块的相关性最高的区域。通常,由于在改变计算对象区域的同时执行相关性计算作为强力搜索(brute‑force search),因此在指定相关性最高的区域的处理中计算量大。也就是说,由于需要服务器CPU 201具有在后级绘制处理期间完成所有编码块的相关性计算的计算能力,因此运动图像分配服务器200的引进成本可能增加。在该变形例中,将说明在无需进行作为强力搜索的对所有编码块的相关性计算的情况下、估计相关性最高的区域并且计算该区域的相关度的方法。
运动图像分配处理
将参考图10的流程图来说明具有与上述相同的结构的根据变形例的运动图像分配服务器200要执行的详细运动图像分配处理。注意,在本变形例的运动图像分配处理中,相同的步骤编号表示用于进行与上述实施例的运动图像分配处理相同的处理的步骤,并且将省略针对这些步骤的说明。以下将仅说明用于进行本变形例的特征处理的步骤。
在步骤S402中完成了前级绘制处理之后,在并行处理其中之一的步骤S1001中,服务器CPU 201将所生成的中间值贴图与步骤S401中更新后的视点信息(绘制视点信息)相关联地存储在服务器RAM 203中。
在步骤S1002中,服务器CPU 201选择深度贴图作为编码判断所用的多种中间值贴图的其中一个中间值贴图,并且将该贴图分割成块。
在步骤S1003中,服务器CPU 201针对深度贴图的各块估计前一帧的游戏画面中假定具有最高相关性的区域。
首先,服务器CPU 201指定在对象块的四个角的坐标处绘制的绘制对象(块特定对象)的三维坐标值。更具体地,服务器CPU 201从深度缓冲器获取对象块的四个角各自的坐标处的深度值。接着,服务器CPU 201基于绘制视点信息和对象块的四个角的坐标来指定块特定对象的方向(向着块的中心的方向)。服务器CPU 201基于绘制视点信息、所指定的向着块特定对象的方向和深度值来指定块特定对象的三维坐标。
然后,服务器CPU 201使用用于绘制前一帧的游戏画面的视点信息(过去视点信息)来将块特定对象的三维坐标转换成前一帧的游戏画面上的画面坐标。这样使得能够指定前一帧的游戏画面中的假定具有最高相关性的区域的四个角的坐标。也就是说,在本变形例中,如图11所示,可以通过对三维场景进行逆变换来指定表现与对象块相同的绘制对象的区域、即具有相关性高的绘制内容的可能性高的区域。
在步骤S1004中,服务器CPU 201针对步骤S1003中估计出具有最高相关性的区域计算相关度。更具体地,服务器CPU 201从服务器RAM 203读出通过对前一帧进行前级绘制处理所生成的深度贴图(过去深度贴图)。服务器CPU 201从过去深度贴图提取被估计为具有最高相关性的区域的图像,并且将该图像乘以例如根据过去视点信息和绘制视点信息所生成的变换矩阵,由此生成具有与对象块一样多的像素的参考图像。服务器CPU201计算参考图像和对象块的图像之间的相关度,并且使该处理进入步骤S406。
如上所述,本变形例的运动图像分配服务器200可以通过使用前级绘制处理中所生成的深度贴图进行坐标变换来估计假定与编码块的相关性最高的区域。由于该原因,无需通过计算相关度作为强力搜索来指定假定具有最高相关性的区域,因此可以减少后级绘制处理期间针对所有编码块的相关性计算的计算量。
以上已经假定如下说明了该变形例:针对在对象块内绘制的绘制对象严格指定前一帧的游戏画面上的画面坐标,并且使该图像变形为具有与对象块一样多的像素的图像,由此判断相关度。然而,本发明的实施不限于此。例如,可以针对在对象块的中心处绘制的绘制对象计算前一帧的游戏画面上的画面坐标。可以将具有与以这些坐标作为中心所设置的对象块一样多像素的区域设置为假定具有最高相关性的区域。
尽管已经参考典型实施例说明了本发明,但是应该理解,本发明不限于所公开的典型实施例。所附权利要求书的范围符合最宽的解释,以包含所有这类修改、等同结构和功能。
本申请要求2011年8月17日提交的美国专利临时申请61/524,460和2012年1月31日提交的日本专利申请2012‑019239的优先权,在此通过引用包含这些专利申请的全部内容。

运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质.pdf_第1页
第1页 / 共26页
运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质.pdf_第2页
第2页 / 共26页
运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质.pdf_第3页
第3页 / 共26页
点击查看更多>>
资源描述

《运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质.pdf》由会员分享,可在线阅读,更多相关《运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质.pdf(26页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103329526 A (43)申请公布日 2013.09.25 CN 103329526 A *CN103329526A* (21)申请号 201280005055.0 (22)申请日 2012.06.27 2012-019239 2012.01.31 JP 61/524,460 2011.08.17 US H04N 7/26(2006.01) H04N 7/32(2006.01) G06T 13/20(2011.01) G06T 15/00(2011.01) (71)申请人 史克威尔艾尼克斯控股公司 地址 日本东京都 (72)发明人 岩崎哲史 (74)专利代理机构。

2、 北京林达刘知识产权代理事 务所 ( 普通合伙 ) 11277 代理人 刘新宇 (54) 发明名称 运动图像分配服务器、 运动图像再现设备、 控 制方法、 程序和记录介质 (57) 摘要 运动图像分配服务器在对第一画面执行后级 绘制处理期间选择至少一个通道的中间值贴图, 并且针对所设置的各块, 通过参考针对在第一画 面之前绘制的第二画面所生成的相应中间值贴图 来判断是否进行帧间编码。运动图像分配服务器 根据该判断结果来进行编码, 并且在针对第一画 面的后级绘制处理结束之后将编码运动图像数据 发送至外部装置。该判断结果是在第一画面的编 码运动图像数据的生成完成之前被发送至外部装 置的。 (30)。

3、优先权数据 (85)PCT申请进入国家阶段日 2013.07.10 (86)PCT申请的申请数据 PCT/JP2012/067026 2012.06.27 (87)PCT申请的公布数据 WO2013/024640 EN 2013.02.21 (51)Int.Cl. 权利要求书 3 页 说明书 12 页 附图 10 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书12页 附图10页 (10)申请公布号 CN 103329526 A CN 103329526 A *CN103329526A* 1/3 页 2 1. 一种运动图像分配服务器, 包括 : 获取部件,。

4、 用于顺次获取视点信息以确定要绘制的画面 ; 绘制部件, 用于通过使用所述获取部件所获取到的视点信息进行至少两级的绘制处理 来绘制分配画面, 其中, 所述绘制部件在前级绘制处理中生成在后级绘制处理中要参考的 特定通道的中间值贴图, 并且在所述后级绘制处理中通过参考该中间值贴图来绘制所述分 配画面 ; 分割部件, 用于获取针对第一画面所生成的至少一个通道的中间值贴图, 并且在对所 述第一画面执行所述后级绘制处理期间将该中间值贴图分割成多个块 ; 指定部件, 用于针对所述多个块中的各个块, 在针对在所述第一画面之前绘制的第二 画面所生成的同一通道的中间值贴图中, 指定与该块相对应的区域 ; 编码部。

5、件, 用于在针对所述第一画面的所述后级绘制处理结束之后, 通过对所述第一 画面进行编码来生成编码运动图像数据, 其中, 对于所述多个块中的、 与所述指定部件所指 定的相应区域的相似度不小于阈值的块, 所述编码部件在所述第一画面的该块的图像和所 述第二画面的相应区域的图像之间进行帧间编码, 并且对于所述多个块中的、 与所述指定 部件所指定的相应区域的相似度小于所述阈值的块, 所述编码部件对所述第一画面的该块 的图像进行帧内编码 ; 以及 发送部件, 用于向外部装置发送数据, 其中, 所述发送部件用于 : 针对与所述相应区域的相似度不小于所述阈值的块, 在所述编码部件完成所述第一画 面的各块的编码。

6、运动图像数据的生成之前, 将该块和用以指定针对该块的相应区域的特定 信息发送至所述外部装置, 以及 在所述编码部件完成所述第一画面的各块的编码运动图像数据的生成之后, 将所述编 码运动图像数据发送至所述外部装置。 2. 根据权利要求 1 所述的运动图像分配服务器, 其中, 所述至少一个通道的中间值贴 图是反照率贴图、 深度贴图、 高光贴图和漫反射贴图之一。 3.根据权利要求1或2所述的运动图像分配服务器, 其中, 所述指定部件针对所述多个 块中的各个块, 将所述第二画面中的相似度最高的区域指定作为所述相应区域。 4. 根据权利要求 2 所述的运动图像分配服务器, 其中, 所述指定部件包括 : 。

7、第一计算部件, 用于针对所述多个块中的各个块, 基于绘制所述第一画面所使用的第 一视点信息和针对所述第一画面所生成的深度贴图来计算在该块的顶点处绘制的绘制对 象的三维坐标 ; 以及 变换部件, 用于针对所述多个块中的各个块, 使用绘制所述第二画面所使用的第二视 点信息来将所述第一计算部件所计算出的三维坐标变换成所述第二画面上的画面坐标, 并 且指定所述相应区域。 5. 一种运动图像再现设备, 用于从运动图像分配服务器顺次获取通过对一帧的画面进 行编码所获得的编码运动图像数据并且对所述编码运动图像数据进行解码和再现, 所述运 动图像再现设备包括 : 第一接收部件, 用于针对通过对第一画面进行编码。

8、所获得的第一编码运动图像数据, 接收进行了帧间编码的块和用于指定对该块进行解码要使用的参考数据的特定信息 ; 权 利 要 求 书 CN 103329526 A 2 2/3 页 3 解码预处理部件, 用于基于所述第一接收部件所接收到的特定信息, 根据通过对在所 述第一编码运动图像数据之前获取到的第二编码运动图像数据进行解码所获得的第二画 面, 来生成对所述第一编码运动图像数据进行解码要使用的、 针对进行了所述帧间编码的 各块的所述参考数据 ; 第二接收部件, 用于从所述运动图像分配服务器接收所述第一编码运动图像数据 ; 以 及 解码部件, 用于使用所述解码预处理部件所生成的针对进行了所述帧间编码。

9、的各块的 所述参考数据, 来对所述第二接收部件所接收到的所述第一编码运动图像数据进行解码和 再现。 6. 根据权利要求 5 所述的运动图像再现设备, 其中, 所述第一接收部件所进行的所述 特定信息的接收是在所述第二接收部件接收到所述第一编码运动图像数据之前进行的。 7. 一种运动图像分配服务器的控制方法, 包括以下步骤 : 获取步骤, 用于使所述运动图像分配服务器的获取部件顺次获取视点信息以确定要绘 制的画面 ; 绘制步骤, 用于使所述运动图像分配服务器的绘制部件通过使用在所述获取步骤中获 取到的视点信息进行至少两级的绘制处理来绘制分配画面, 其中, 所述绘制部件在前级绘 制处理中生成在后级绘。

10、制处理中要参考的特定通道的中间值贴图, 并且在所述后级绘制处 理中通过参考该中间值贴图来绘制所述分配画面 ; 分割步骤, 用于使所述运动图像分配服务器的分割部件获取针对第一画面所生成的至 少一个通道的中间值贴图, 并且在对所述第一画面执行所述后级绘制处理期间将该中间值 贴图分割成多个块 ; 指定步骤, 用于使所述运动图像分配服务器的指定部件针对所述多个块中的各个块, 在针对在所述第一画面之前绘制的第二画面所生成的同一通道的中间值贴图中, 指定与该 块相对应的区域 ; 编码步骤, 用于使所述运动图像分配服务器的编码部件在针对所述第一画面的所述后 级绘制处理结束之后, 通过对所述第一画面进行编码来。

11、生成编码运动图像数据, 其中, 对于 所述多个块中的、 与在所述指定步骤中指定的相应区域的相似度不小于阈值的块, 所述编 码部件在所述第一画面的该块的图像和所述第二画面的相应区域的图像之间进行帧间编 码, 并且对于所述多个块中的、 与在所述指定步骤中指定的相应区域的相似度小于所述阈 值的块, 所述编码部件对所述第一画面的该块的图像进行帧内编码 ; 以及 发送步骤, 用于使所述运动图像分配服务器的发送部件向外部装置发送数据, 其中, 在所述发送步骤中, 所述发送部件用于 : 针对与所述相应区域的相似度不小于所述阈值的块, 在所述编码步骤中完成所述第一 画面的各块的编码运动图像数据的生成之前, 将。

12、该块和用以指定针对该块的相应区域的特 定信息发送至所述外部装置, 以及 在所述编码步骤中完成所述第一画面的各块的编码运动图像数据的生成之后, 将所述 编码运动图像数据发送至所述外部装置。 8. 一种运动图像再现设备的控制方法, 用于从运动图像分配服务器顺次获取通过对一 帧的画面进行编码所获得的编码运动图像数据, 并且对所述编码运动图像数据进行解码和 权 利 要 求 书 CN 103329526 A 3 3/3 页 4 再现, 所述控制方法包括以下步骤 : 第一接收步骤, 用于使所述运动图像再现设备的第一接收部件针对通过对第一画面进 行编码所获得的第一编码运动图像数据, 接收进行了帧间编码的块和。

13、用于指定对该块进行 解码要使用的参考数据的特定信息 ; 解码预处理步骤, 用于使所述运动图像再现设备的解码预处理部件基于在所述第一接 收步骤中接收到的特定信息, 根据通过对在所述第一编码运动图像数据之前获取到的第二 编码运动图像数据进行解码所获得的第二画面, 来生成对所述第一编码运动图像数据进行 解码要使用的、 针对进行了所述帧间编码的各块的所述参考数据 ; 第二接收步骤, 用于使所述运动图像再现设备的第二接收部件从所述运动图像分配服 务器接收所述第一编码运动图像数据 ; 以及 解码步骤, 用于使所述运动图像再现设备的解码部件使用在所述解码预处理步骤中生 成的针对进行了所述帧间编码的各块的所述。

14、参考数据, 来对在所述第二接收步骤中接收到 的所述第一编码运动图像数据进行解码和再现。 9. 一种程序, 用于使计算机用作根据权利要求 1 至 4 中任一项所述的运动图像分配服 务器的各部件。 10.一种程序, 用于使计算机用作根据权利要求5或6所述的运动图像再现设备的各部 件。 11. 一种计算机可读记录介质, 用于记录根据权利要求 9 或 10 所述的程序。 权 利 要 求 书 CN 103329526 A 4 1/12 页 5 运动图像分配服务器、 运动图像再现设备、 控制方法、 程序 和记录介质 技术领域 0001 本发明涉及一种运动图像分配服务器、 运动图像再现设备、 控制方法、 程。

15、序和记录 介质, 尤其涉及编码运动图像数据流分配技术。 背景技术 0002 诸如个人计算机 (PC) 等的能够进行网络连接的客户端装置已经普及。随着这些 装置的普及使用, 因特网的网络人数不断增加。近来针对网络用户已经发展了使用因特网 的各种服务, 并且还提供了诸如游戏等的娱乐服务。 0003 针对网络用户的服务其中之一是诸如 MMORPG(Massively Multiplayer Online Role-Playing Game, 大型多人在线角色扮演游戏 ) 等的多用户在线网络游戏。在该多用户 在线网络游戏中, 用户使他 / 她的使用中的客户端装置连接至提供游戏的服务器, 由此与 使用连。

16、接至该服务器的其它客户端装置的其它用户进行配对游戏或团队游戏。 0004 在一般的多用户在线网络游戏中, 各客户端装置与服务器进行游戏绘制所需的数 据的发送 / 接收。客户端装置使用接收到的绘制所需的数据来执行绘制处理, 并将所生成 的游戏画面呈现至与该客户端装置相连接的显示装置, 由此将该游戏画面提供给用户。用 户通过操作输入接口所输入的信息被发送至服务器并且用于进行服务器中的计算处理或 者被发送至与该服务器相连接的其它客户端装置。 0005 然而, 使客户端装置执行绘制处理的一些网络游戏需要用户使用具有充足的绘制 性能的 PC 或者专用游戏机。由于该原因, 网络游戏 ( 一个内容 ) 的用。

17、户数量依赖于该内容 所需的客户端装置的性能。 高性能的装置当然昂贵, 并且能够拥有该装置的用户数量有限。 也就是说, 难以增加例如提供美观图形的游戏的需要高绘制性能的游戏的用户数量。 0006 然而, 近年来, 还提供了用户在不依赖于客户端装置的诸如绘制性能等的处理能 力的情况下可玩的游戏。在如国际公开 2009/138878 所述的游戏中, 服务器获取在客户端 装置中发生的操作的信息, 并将通过使用该信息执行绘制处理所获得的游戏画面提供至客 户端装置。 0007 在上述国际公开 2009/138878 的游戏中, 服务器提供至客户端装置的游戏画面是 以编码运动图像数据的形式提供的, 以减少要。

18、发送的信息量。诸如 MPEG 标准等的一般运动 图像编码类型对通过分割一帧图像所获得的各块进行无运动补偿的内编码(帧内编码)或 者进行通过帧间预测进行运动补偿的间编码 ( 帧间编码 ), 但这根据所采用的编码类型而 改变。针对各编码类型, 存在压缩效率高的被摄体。通常, 通过对各块进行帧内编码和帧间 编码来生成块 (iblock 和 pblock), 并且压缩效率高的块包括在编码数据中。 0008 在帧内编码时, 向压缩对象的未处理块图像应用 DCT 和游程编码 (run-length coding)等, 由此对该图像进行压缩。 另一方面, 在帧间编码时, 生成压缩对象的块图像和从 前一帧图像。

19、提取出的与该块相对应的参考图像之间的差图像。然后, 向该图像应用 DCT 和 游程编码等以进行压缩。由于该原因, 帧间编码包括在前一帧图像中指定与压缩对象块图 说 明 书 CN 103329526 A 5 2/12 页 6 像的相关性最高的区域的处理。在与相关性最高的区域的检测相关联的处理中, 通过在使 评价区域在前一帧图像内移动的情况下计算相对于压缩对象块图像的相似度和距离来进 行分析。因而, 该分析处理可能花费时间。 0009 特别是在例如基于用户输入来交互地改变绘制内容的游戏中, 需要实时绘制、 即 针对输入的高速响应, 并且运动图像编码处理所需的时间受限。 在这种情况下, 需要快速地 。

20、进行各块的编码处理和判断是进行帧内编码还是帧间编码的处理。然而, 尚未公开对绘制 画面快速高效地进行运动图像编码的具体方法。 发明内容 0010 本发明是考虑到现有技术的上述问题而作出的。 本发明提供一种用于对通过绘制 处理所获得的画面快速高效地进行运动图像编码的运动图像分配服务器、 运动图像再现设 备、 控制方法、 程序和记录介质。 0011 本发明的第一方面提供一种运动图像分配服务器, 包括 : 获取部件, 用于顺次获取 视点信息以确定要绘制的画面 ; 绘制部件, 用于通过使用所述获取部件所获取到的视点信 息进行至少两级的绘制处理来绘制分配画面, 其中, 所述绘制部件在前级绘制处理中生成 。

21、在后级绘制处理中要参考的特定通道的中间值贴图, 并且在所述后级绘制处理中通过参考 该中间值贴图来绘制所述分配画面 ; 分割部件, 用于获取针对第一画面所生成的至少一个 通道的中间值贴图, 并且在对所述第一画面执行所述后级绘制处理期间将该中间值贴图分 割成多个块 ; 指定部件, 用于针对所述多个块中的各个块, 在针对在所述第一画面之前绘制 的第二画面所生成的同一通道的中间值贴图中, 指定与该块相对应的区域 ; 编码部件, 用 于在针对所述第一画面的所述后级绘制处理结束之后, 通过对所述第一画面进行编码来生 成编码运动图像数据, 其中, 对于所述多个块中的、 与所述指定部件所指定的相应区域的相 似。

22、度不小于阈值的块, 所述编码部件在所述第一画面的该块的图像和所述第二画面的相应 区域的图像之间进行帧间编码, 并且对于所述多个块中的、 与所述指定部件所指定的相应 区域的相似度小于所述阈值的块, 所述编码部件对所述第一画面的该块的图像进行帧内编 码 ; 以及发送部件, 用于向外部装置发送数据, 其中, 所述发送部件用于 : 针对与所述相应 区域的相似度不小于所述阈值的块, 在所述编码部件完成所述第一画面的各块的编码运动 图像数据的生成之前, 将该块和用以指定针对该块的相应区域的特定信息发送至所述外部 装置, 以及在所述编码部件完成所述第一画面的各块的编码运动图像数据的生成之后, 将 所述编码运。

23、动图像数据发送至所述外部装置。 0012 通过以下 ( 参考附图 ) 对典型实施例的说明, 本发明的其它特征将变得明显。 附图说明 0013 图 1 是示出根据本发明实施例的运动图像分配系统的系统结构的图 ; 0014 图 2 是示出根据本发明实施例的 PC 100 的功能结构的框图 ; 0015 图 3 是示出根据本发明实施例的运动图像分配服务器 200 的功能结构的框图 ; 0016 图4是示出根据本发明实施例的运动图像分配服务器200的运动图像分配处理的 流程图 ; 0017 图 5 是示出根据本发明实施例的绘制对象的数据结构的图 ; 说 明 书 CN 103329526 A 6 3/1。

24、2 页 7 0018 图 6 是示出根据本发明实施例的运动图像分配服务器 200 的编码处理的流程图 ; 0019 图 7 是示出根据本发明实施例的 PC 100 的运动图像再现处理的流程图 ; 0020 图 8 是示出根据本发明实施例的 PC 100 的解码预处理的流程图 ; 0021 图 9 是示出根据本发明实施例的运动图像分配系统的整体处理的流程图 ; 0022 图 10 是示出根据本发明变形例的运动图像分配服务器 200 的运动图像分配处理 的流程图 ; 以及 0023 图 11 是用于说明根据本发明变形例的估计假定具有最高相关性的区域的方法的 图。 具体实施方式 0024 现在将参考。

25、附图来详细说明本发明的典型实施例。 注意, 在以下实施例中, 将说明 将本发明应用于用作运动图像再现设备的PC100和运动图像分配服务器200的运动图像分 配系统的示例。 0025 运动图像分配系统的结构 0026 图 1 是示出根据本发明实施例的运动图像分配系统的系统结构的图。 0027 如图 1 所示, PC 100 和运动图像分配服务器 200 经由诸如因特网等的网络 300 相 连接。在本实施例中, PC 100 接收作为运动图像分配内容的示例的在运动图像分配服务器 200 中执行的游戏内容的游戏画面, 作为编码运动图像数据。在本实施例中, 运动图像分配 服务器 200 接收在 PC 。

26、100 中发生的操作 ( 用户输入 ) 并且以帧为单位绘制与该操作相对 应的游戏画面。然后, 运动图像分配服务器 200 对所绘制的游戏画面进行编码并将所获得 的编码运动图像数据分配至PC 100。 在从运动图像分配服务器200接收到编码运动图像数 据时, PC 100 对该编码运动图像数据进行解码和再现, 由此将该游戏画面提供给用户。 0028 在本实施例中, 作为运动图像分配内容的示例, 将说明用于提供利用在网络 300 上的运动图像分配服务器 200 中执行的游戏程序所绘制的游戏画面的内容。然而, 本发明 的实施不限于此。运动图像分配服务器 200 仅需被配置为进行用以绘制要提供至分配目。

27、的 地的运动图像分配内容的一帧的绘制处理、 并且分配通过对各帧进行编码处理所获得的编 码运动图像数据。一帧的画面的绘制无需总是在运动图像分配服务器 200 中执行并且例如 可以由外部绘制服务器来执行。 0029 在本实施例中, 将说明 PC 100 作为连接至运动图像分配服务器 200 的客户端装 置。然而, 本发明的实施不限于此。连接至运动图像分配服务器 200 的客户端装置可以是 例如家用游戏机、 便携式游戏机、 蜂窝电话、 PDA 或平板电脑的能够对从运动图像分配服务 器 200 接收到的编码运动图像数据进行解码和再现的任何其它装置。 0030 PC 100 的结构 0031 图 2 是。

28、示出根据本发明实施例的 PC 100 的功能结构的框图。 0032 CPU 101控制PC 100的各块的操作。 更具体地, CPU 101通过读出记录在例如ROM 102 或记录介质中的运动图像再现处理的操作程序并在 RAM 103 上展开和执行该程序来控 制各块的操作。 0033 ROM 102 例如是可重写非易失性存储器。除了运动图像再现处理等的操作程序以 外, ROM 102 还存储 PC 100 的各块的操作所需的常数等的信息。 说 明 书 CN 103329526 A 7 4/12 页 8 0034 RAM 103 是易失性存储器。RAM 103 不仅用作操作程序展开区域, 而且还。

29、用作用于 临时存储 PC 100 的各块的操作中所输出的中间数据等的存储区域。 0035 解码单元104对后面要说明的通信单元105所接收到的编码运动图像数据进行解 码处理从而生成一帧的游戏画面。 在对编码运动图像数据进行解码处理之前, 解码单元104 进行准备该解码处理中要使用的参考数据的解码预处理。 将针对后面要说明的运动图像再 现处理来详细说明解码单元 104 所执行的解码预处理和解码处理。 0036 通信单元 105 是 PC 100 所配备的通信接口。通信单元 105 与经由网络 300 所连 接的诸如运动图像分配服务器 200 等的其它装置进行数据的发送 / 接收。在数据发送时, 。

30、通信单元 105 将数据转换成针对网络 300 或发送目的地的装置预先确定的数据发送格式, 并将该数据发送至发送目的地的装置。在数据接收时, 通信单元 105 将经由网络 300 接收 到的数据转换成 PC 100 可读取的任意数据格式, 并将该数据存储在例如 RAM 103 中。 0037 在本实施例中, 将假定 PC 100 和运动图像分配服务器 200 经由网络 300 相连接来 进行说明。然而, 如能够容易理解, PC100 和运动图像分配服务器 200 例如可以使用线缆直 接相连接。 0038 显示单元 106 是诸如 LCD 监视器等的连接至 PC 100 的显示装置。显示装置 1。

31、06 进行用以将接收到的游戏画面显示在显示区域中的显示控制。注意, 显示单元 106 可以是 内置于诸如便携式 PC 等的 PC 100 的显示装置或者使用线缆从外部连接至 PC 100 的显示 装置。 0039 操作输入单元 107 是诸如鼠标、 键盘或游戏垫等的 PC 100 所配备的用户接口。在 检测到发生了针对用户接口的操作时, 操作输入单元 107 将与该操作相对应的控制信号输 出至 CPU101。 0040 运动图像分配服务器 200 的结构 0041 图 3 是示出根据本发明实施例的运动图像分配服务器 200 的功能结构的框图。 0042 服务器 CPU 201 控制运动图像分配。

32、服务器 200 的各块的操作。更具体地, 服务器 CPU 201 通过读出记录在例如服务器 ROM202 中的运动图像分配处理的操作程序并在服务 器 RAM 203 上展开和执行该程序来控制各块的操作。 0043 服务器 ROM 202 例如是可重写非易失性存储器。除了运动图像分配处理等的操作 程序以外, 服务器 ROM 202 还存储运动图像分配服务器 200 的各块的操作所需的常数等的 信息。 0044 服务器 RAM 203 是易失性存储器。服务器 RAM 203 不仅用作操作程序展开区域, 而且还用作用于临时存储运动图像分配服务器 200 的各块的操作中所输出的中间数据等 的存储区域。。

33、 0045 服务器GPU 204生成要显示在PC 100的显示单元106上的游戏画面。 服务器VRAM 205连接至服务器GPU 204。 在从服务器CPU 201接收到绘制指令和游戏画面的绘制要使用 的照相机的位置和方向的信息 ( 视点信息 ) 时, 服务器 GPU 204 从例如后面要说明的服务 器记录介质 207 读出与该绘制指令有关的绘制对象并将该绘制对象存储在 GPU 存储器中。 在所连接的服务器VRAM 205上进行绘制的情况下, 服务器GPU 204将绘制对象展开至高速 缓冲存储器, 然后将该展开后的绘制对象写入服务器 VRAM 205。 0046 注意, 在生成游戏画面的绘制处。

34、理中, 本实施例的服务器 GPU 204 使用所谓的递 说 明 书 CN 103329526 A 8 5/12 页 9 延绘制 (Deferred Rendering) 方法。 0047 在传统的绘制方法中, 通过进行以下处理来顺次选择和绘制游戏画面中所包括的 各绘制对象。 0048 1. 顶点着色器所进行的移动 / 转动处理 ; 0049 2. 几何着色器所进行的顶点处理 ; 以及 0050 3. 像素着色器所进行的包括以像素为单位的阴影处理的效果处理。 0051 也就是说, 传统的绘制方法是对各绘制对象进行 “阴影处理绘制” 过程的所谓的 正向绘制 (Forward Rendering) 。

35、方法。在正向绘制中, 顺次处理对象。因而, 根据各像素, 一个对象的绘制内容可能被位于靠近照相机的位置 ( 位于比该关注对象更靠近照相机的 位置 ) 的其它对象的绘制内容所覆盖。在这种情况下, 对被后绘制的对象遮挡的先绘制的 对象的部分区域浪费地应用了阴影处理。 另外, 例如, 存在于绘制场景内的光源对于存在于 该场景内的所有对象是共用的。 然而, 在正向绘制中, 难以将用于绘制一个对象的共用计算 内容重新用于绘制其它对象。由于这些原因, 正向绘制在利用特别复杂的阴影处理的游戏 画面绘制中不是有效率的。 0052 另一方面, 在递延绘制中, 与正向绘制不同, 首先计算阴影处理要使用的几何图 形。

36、, 然后立即进行所有绘制对象的阴影处理。也就是说, 通过包括 “几何绘制阴影处理 绘制” 过程的两个步骤来执行绘制处理。 在递延绘制中, 在前级绘制中在无需照明的情况下 对几何图形连同阴影处理要使用的参数一起进行绘制, 由此生成表示阴影处理要使用的中 间值的多个中间值贴图(反照率贴图、 深度贴图、 法线贴图、 高光贴图和漫反射贴图)。 在后 级绘制中, 通过在应用所生成的多个中间值贴图的情况下使用光源进行阴影处理来绘制画 面。 0053 服务器编码单元 206 对利用服务器 GPU 204 在服务器 VRAM 205 上生成的游戏画 面进行编码处理。服务器编码单元 206 将编码对象的游戏画面。

37、分割成块并且对各块进行帧 内编码或帧间编码。后面将说明该编码处理的详细内容。在本实施例中, 服务器编码单元 206 针对 YCbCr 的各颜色通道对各块进行 DCT( 离散余弦变换 ), 然后通过游程编码对各块 进行压缩。在本实施例中, 将假定服务器编码单元 206 作为用于对游戏画面进行编码处理 的单个块而存在来进行说明。然而, 该编码处理可以由服务器 GPU 204 来执行。 0054 服务器记录介质207是诸如HDD等的以能够拆卸的方式连接至运动图像分配服务 器 200 的记录装置。在本实施例中, 假定服务器记录介质 207 记录画面绘制处理中所使用 的各绘制对象的数据和在画面上表现的三。

38、维场景内配置的光源的信息等。 0055 服务器通信单元 208 是运动图像分配服务器 200 所配备的通信接口。在本实施例 中, 服务器通信单元 208 与经由网络 300 所连接的诸如 PC 100 等的其它装置进行数据的发 送 / 接收。注意, 如通信单元 105 那样, 服务器通信单元 208 进行基于通信规格的数据格式 转换。 0056 运动图像分配处理 0057 将参考图 4 的流程图来说明具有上述结构的根据本实施例的运动图像分配系统 的运动图像分配服务器 200 要执行的详细运动图像分配处理。可以通过使服务器 CPU 201 读出记录在例如服务器ROM 202中的相应处理程序并在服。

39、务器RAM 203上展开和执行该程 序来实现与该流程图相对应的处理。 注意, 将假定如下来进行说明 : 该运动图像分配处理在 说 明 书 CN 103329526 A 9 6/12 页 10 服务器 CPU 201 检测到从 PC 100 已接收到针对运动图像分配服务器 200 所提供的游戏内 容的分配请求的情况下开始, 并且针对游戏的各帧重复执行。 0058 注意, 在本实施例中, 将假定如下来进行说明 : 运动图像分配服务器 200 将通过 使用递延绘制方法绘制三维场景所生成的游戏画面以编码运动图像数据的形式提供至 PC 100。然而, 如上所述, 运动图像分配服务器 200 要分配的内容。

40、不限于此, 并且可以是用于提 供通过以至少两个步骤绘制三维场景所获得的场景的任意内容。 0059 在步骤 S401 中, 服务器 CPU 201 更新下一个要绘制的游戏画面的视点信息。更具 体地, 服务器 CPU 201 通过例如参考服务器通信单元 208 所接收到的用户在 PC 100 上进行 的与游戏有关的操作输入的信息来更新下一个要绘制的游戏画面的视点信息。 可以产生视 点信息的更新的用户操作例如与视点位置 / 方向改变操作或者作为用户的操作对象的字 符的移动相对应。注意, 要用于绘制游戏画面的视点信息不仅可能因在 PC 100 上发生的用 户操作而改变而且还可能根据例如游戏的进度而改变。

41、。 0060 在步骤 S402 中, 服务器 CPU 201 使服务器 GPU 204 对与步骤 S401 中更新后的视 点信息相对应的游戏画面执行前级绘制处理, 由此生成后级绘制处理中要使用的各种中间 值贴图。更具体地, 服务器 CPU 201 指定包括在要绘制的游戏画面中的绘制对象并且根据 绘制顺序将各绘制对象的数据发送至服务器 GPU204。服务器 GPU 204 将传送来的绘制对 象的数据存储在 GPU 存储器中。各绘制对象的数据具有例如图 5 所示的结构。在本实施例 中, 各数据包含与对象 ID 相关联的模型数据 ( 或顶点数据和连线数据 )、 纹理数据以及位 置 / 转动信息。注意。

42、, 纹理数据不仅包含应用于 ( 粘贴于 ) 三维模型以表现其图案等的一 般图像纹理 ( 贴花纹理 (decal texture), 而且还包含要用于三维模型的阴影处理或材质 表现的各种贴图。 0061 服务器GPU 204基于根据绘制指令要绘制的绘制对象的位置/转动信息的参数来 使存储在 GPU 存储器中的模型数据移动和转动。之后, 服务器 GPU 204 在不应用光源效果 ( 阴影处理和明暗 ) 的情况下将该对象绘制在服务器 VRAM 205 上。此时, 在服务器 VRAM 205上生成与最终要提供至PC 100的游戏画面相对应的多种中间值贴图。 在后面要说明的 后级绘制处理中所包括的阴影处。

43、理中参考这些多种中间值贴图, 并且在本实施例中, 这些 中间值贴图至少包括以下贴图。 0062 反照率贴图 0063 深度贴图 0064 法线贴图 0065 高光贴图 0066 漫反射贴图 0067 注意, 除了深度贴图以外的中间值贴图是通过基于要绘制的游戏画面的视点信息 而对要绘制的游戏画面中包括的所有绘制对象的数据内包含的相应纹理数据或模型数据 的各多边形的信息进行转换来生成的。 也就是说, 在正向绘制中, 针对各绘制对象考虑到其 纹理数据来执行阴影处理, 作为对比, 在递延绘制的前级绘制处理中, 通过将要绘制的整个 游戏画面视为一个绘制对象来生成中间值贴图。由此, 这使得能够在后级绘制处。

44、理中对整 个游戏画面进行阴影处理, 从而减少重复计算。 0068 注意, 深度贴图是在中间值贴图生成时绘制各绘制对象的情况下、 考虑到各像素 说 明 书 CN 103329526 A 10 7/12 页 11 的因绘制对象的前后关系所造成的遮挡来利用传统方法生成的。 0069 在如此完成了前级绘制处理的情况下, 服务器CPU 201并行执行步骤S403S407 的处理和步骤 S408 S411 的处理。 0070 在步骤 S403 中, 服务器 CPU 201 将中间值贴图与用于识别绘制帧 ( 当前帧 ) 的 帧 ID 相关联地存储在服务器 RAM 203 中。对于要提供至 PC 100 的编。

45、码运动图像数据的各 帧, 本实施例的运动图像分配服务器 200 将用于生成所绘制的游戏画面的中间值贴图存储 在服务器 RAM 203 中并且保持这些中间值贴图, 直到至少完成了下一帧的编码处理为止。 0071 在步骤S404中, 服务器CPU 201选择多种类型的中间值贴图中的至少一个中间值 贴图以进行编码判断, 并且将编码判断所用的中间值贴图 ( 判断用中间值贴图 ) 分割成各 自具有预定像素数 ( 例如, 16 个像素 16 个像素 ) 的块。如上所述, 各中间值贴图与最终 要提供至 PC 100 的游戏画面相对应, 并且可用于判断在要提供的游戏画面的各块的运动 图像编码中是否进行帧间预测。

46、。 0072 在本实施例中, 选择反照率贴图、 深度贴图、 高光贴图和漫反射贴图中的至少一个 贴图作为判断用中间值贴图。 注意, 在所生成的中间值贴图中, 原理上还可以使用法线贴图 来进行编码判断。然而, 该贴图利用像素值来表示法线方向。由于该原因, 在绘制对象包括 例如无凹凸但具有图案的表面的情况下, 该表面的所有像素都具有相同值。 因而, 在仅使用 法线贴图来进行后面要说明的编码判断的情况下, 并非必须实现优选的数据压缩。 因而, 在 本实施例中, 在通过前级绘制处理所生成的多种类型的中间值贴图中, 可以使用除法线贴 图以外的贴图来进行编码判断。 0073 在步骤S405中, 对于判断用中。

47、间值贴图的各块, 服务器CPU201在通过对紧挨当前 帧之前的帧(前一帧)的游戏画面进行前级绘制处理所生成的相应中间值贴图内指定相关 性最高的区域。更具体地, 服务器 CPU 201 从服务器 RAM 203 读出通过对前一帧的游戏画 面进行前级绘制处理所生成的中间值贴图中的、 与步骤 S404 中选择作为判断用中间值贴 图的贴图相对应 ( 与该贴图属于同一类型 ) 的贴图 ( 判断用过去中间值贴图 )。然后, 服务 器 CPU 201 针对各块在该判断用过去中间值贴图中搜索相关性最高的区域。 0074 此时, 服务器 CPU 201 将要进行编码判断的块的图像设置为参考图像, 根据判断 用过。

48、去中间值贴图来设置与参考图像具有一样多像素的判断对象区域, 并且例如计算这些 图像之间的 Euclidean( 欧几里德 ) 距离, 由此获取相似度。该判断对象区域的设置是在使 该区域以像素为单位或以 1/2 像素为单位在判断用过去中间值贴图中移动的情况下进行 的。服务器 CPU 201 最终将相对于参考图像的 Euclidean 距离最短 ( 相似度最高 ) 的区域 的位置指定为相关性最高的区域的位置。 0075 注意, 在后面要说明的编码处理中进行帧间编码的情况下, 本实施例的运动图像 分配服务器 200 使用从紧挨当前帧之前的帧获取到的参考数据来对当前帧图像和参考数 据之间的差图像进行编。

49、码。由于该原因, 将假定还对紧挨当前帧之前的帧进行编码判断来 进行说明。 然而, 帧间编码中要参考的过去帧不限于紧挨当前帧之前的帧, 并且可以使用当 前帧之前的任意帧。 0076 在步骤S406中, 服务器CPU 201判断对判断用中间值贴图的各块进行帧内编码还 是帧间编码(编码判断)。 更具体地, 服务器CPU 201判断针对与各块的相关性最高的判断 用过去中间值贴图的区域所计算出的相似度 ( 例如, Euclidean 距离的倒数 ) 是否等于或 说 明 书 CN 103329526 A 11 8/12 页 12 高于预设阈值。服务器 CPU 201 判断为对与相关性最高的区域的相似度等于或高于阈值的 块进行帧间编码、 或者对相似度低于阈值的块进行帧内编码。 0077 在步骤S407中, 服务器CPU 201针对判断用过去中间值贴图的各块中的被判断为 进行帧间编码的块, 计算相对于相关性最高的判断用过去中间值贴图的区域的运动矢量。 与用于指定被判断。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1