《运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质.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针对判断用过去中间值贴图的各块中的被判断为 进行帧间编码的块, 计算相对于相关性最高的判断用过去中间值贴图的区域的运动矢量。 与用于指定被判断。