CN103329526B - 运动图像分配服务器和控制方法 - Google Patents

运动图像分配服务器和控制方法 Download PDF

Info

Publication number
CN103329526B
CN103329526B CN201280005055.0A CN201280005055A CN103329526B CN 103329526 B CN103329526 B CN 103329526B CN 201280005055 A CN201280005055 A CN 201280005055A CN 103329526 B CN103329526 B CN 103329526B
Authority
CN
China
Prior art keywords
picture
moving image
block
server
intermediate value
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.)
Active
Application number
CN201280005055.0A
Other languages
English (en)
Other versions
CN103329526A (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.)
Square Enix Holdings Co Ltd
Original Assignee
Square Enix Holdings 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
Application filed by Square Enix Holdings Co Ltd filed Critical Square Enix Holdings Co Ltd
Publication of CN103329526A publication Critical patent/CN103329526A/zh
Application granted granted Critical
Publication of CN103329526B publication Critical patent/CN103329526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6676Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6684Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dynamically adapting its position to keep a game object in its viewing frustrum, e.g. for tracking a character or a ball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

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

Description

运动图像分配服务器 和 控制方法
技术领域
本发明涉及一种运动图像分配服务器、运动图像再现设备、控制方法、程序和记录介质,尤其涉及编码运动图像数据流分配技术。
背景技术
诸如个人计算机(PC)等的能够进行网络连接的客户端装置已经普及。随着这些装置的普及使用,因特网的网络人数不断增加。近来针对网络用户已经发展了使用因特网的各种服务,并且还提供了诸如游戏等的娱乐服务。
针对网络用户的服务其中之一是诸如MMORPG(Massively Multiplayer OnlineRole-Playing Game,大型多人在线角色扮演游戏)等的多用户在线网络游戏。在该多用户在线网络游戏中,用户使他/她的使用中的客户端装置连接至提供游戏的服务器,由此与使用连接至该服务器的其它客户端装置的其它用户进行配对游戏或团队游戏。
在一般的多用户在线网络游戏中,各客户端装置与服务器进行游戏绘制所需的数据的发送/接收。客户端装置使用接收到的绘制所需的数据来执行绘制处理,并将所生成的游戏画面呈现至与该客户端装置相连接的显示装置,由此将该游戏画面提供给用户。用户通过操作输入接口所输入的信息被发送至服务器并且用于进行服务器中的计算处理或者被发送至与该服务器相连接的其它客户端装置。
然而,使客户端装置执行绘制处理的一些网络游戏需要用 户使用具有充足的绘制性能的PC或者专用游戏机。由于该原因,网络游戏(一个内容)的用户数量依赖于该内容所需的客户端装置的性能。高性能的装置当然昂贵,并且能够拥有该装置的用户数量有限。也就是说,难以增加例如提供美观图形的游戏的需要高绘制性能的游戏的用户数量。
然而,近年来,还提供了用户在不依赖于客户端装置的诸如绘制性能等的处理能力的情况下可玩的游戏。在如国际公开2009/138878所述的游戏中,服务器获取在客户端装置中发生的操作的信息,并将通过使用该信息执行绘制处理所获得的游戏画面提供至客户端装置。
在上述国际公开2009/138878的游戏中,服务器提供至客户端装置的游戏画面是以编码运动图像数据的形式提供的,以减少要发送的信息量。诸如MPEG标准等的一般运动图像编码类型对通过分割一帧图像所获得的各块进行无运动补偿的内编码(帧内编码)或者进行通过帧间预测进行运动补偿的间编码(帧间编码),但这根据所采用的编码类型而改变。针对各编码类型,存在压缩效率高的被摄体。通常,通过对各块进行帧内编码和帧间编码来生成块(iblock和pblock),并且压缩效率高的块包括在编码数据中。
在帧内编码时,向压缩对象的未处理块图像应用DCT和游程编码(run-lengthcoding)等,由此对该图像进行压缩。另一方面,在帧间编码时,生成压缩对象的块图像和从前一帧图像提取出的与该块相对应的参考图像之间的差图像。然后,向该图像应用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接收到编码运动图像数据时,PC100对该编码运动图像数据进行解码和再现,由此将该游戏画面提供给用户。
在本实施例中,作为运动图像分配内容的示例,将说明用于提供利用在网络300上的运动图像分配服务器200中执行的游戏程序所绘制的游戏画面的内容。然而,本发明的实施不限于此。运动图像分配服务器200仅需被配置为进行用以绘制要提供至分配目的地的运动图像分配内容的一帧的绘制处理、并且分配通过对各帧进行编码处理所获得的编码运动图像数据。一帧的画面的绘制无需总是在运动图像分配服务器200中执行并且例如可以由外部绘制服务器来执行。
在本实施例中,将说明PC 100作为连接至运动图像分配服务器200的客户端装置。然而,本发明的实施不限于此。连接至运动图像分配服务器200的客户端装置可以是例如家用游戏机、便携式游戏机、蜂窝电话、PDA或平板电脑的能够对从运动图像分配服务器200接收到的编码运动图像数据进行解码和再现的任何其它装置。
PC 100的结构
图2是示出根据本发明实施例的PC 100的功能结构的框图。
CPU 101控制PC 100的各块的操作。更具体地,CPU 101通过读出记录在例如ROM102或记录介质中的运动图像再现处理的操作程序并在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的各块的操作。更具体地,服务器CPU201通过读出记录在例如服务器ROM202中的运动图像分配处理的操作程序并在服务器RAM203上展开和执行该程序来控制各块的操作。
服务器ROM 202例如是可重写非易失性存储器。除了运动图像分配处理等的操作程序以外,服务器ROM 202还存储运动图像分配服务器200的各块的操作所需的常数等的信息。
服务器RAM 203是易失性存储器。服务器RAM 203不仅用作操作程序展开区域,而且还用作用于临时存储运动图像分配服务器200的各块的操作中所输出的中间数据等的存储区域。
服务器GPU 204生成要显示在PC 100的显示单元106上的游戏画面。服务器VRAM205连接至服务器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将通过使用递延绘制方法绘制三维场景所生成的游戏画面以编码运动图像数据的形式提供至PC100。然而,如上所述,运动图像分配服务器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中选择作为判断用中间值贴图的贴图相对应(与该贴图属于同一类型)的贴图(判断用过去中间值贴图)。然后,服务器CPU201针对各块在该判断用过去中间值贴图中搜索相关性最高的区域。
此时,服务器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中,服务器CPU201使服务器GPU 204对与步骤S401中更新后的视点信息相对应的游戏画面执行后级绘制处理,由此生成最终要提供至PC 100的游戏画面(分配游戏画面)。更具体地,服务器CPU201指定要应用于所绘制的游戏画面的三维场景的光源并将该光源的属性和强度等的信息发送至服务器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中,服务器CPU201将该编码运动图像数据发送至服务器通信单元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的优先权,在此通过引用包含这些专利申请的全部内容。

Claims (5)

1.一种运动图像分配服务器,包括:
获取部件,用于顺次获取视点信息以确定要绘制的画面;
绘制部件,用于通过使用所述获取部件所获取到的视点信息进行至少两级的绘制处理来绘制分配画面,其中,所述绘制部件在前级绘制处理中生成在后级绘制处理中要参考的特定通道的中间值贴图,并且在所述后级绘制处理中通过参考该中间值贴图来绘制所述分配画面;
分割部件,用于获取针对第一画面所生成的至少一个通道的中间值贴图,并且在对所述第一画面执行所述后级绘制处理期间将该中间值贴图分割成多个块;
指定部件,用于针对所述多个块中的各个块,在针对在所述第一画面之前绘制的第二画面所生成的同一通道的中间值贴图中,指定与该块相对应的区域;
编码部件,用于在针对所述第一画面的所述后级绘制处理结束之后,通过对所述第一画面进行编码来生成编码运动图像数据,其中,对于所述多个块中的、与所述指定部件所指定的相应区域的相似度不小于阈值的块,所述编码部件在所述第一画面的该块的图像和所述第二画面的相应区域的图像之间进行帧间编码,并且对于所述多个块中的、与所述指定部件所指定的相应区域的相似度小于所述阈值的块,所述编码部件对所述第一画面的该块的图像进行帧内编码;以及
发送部件,用于向外部装置发送数据,
其中,所述发送部件用于:
针对与所述相应区域的相似度不小于所述阈值的块,在所述编码部件完成所述第一画面的各块的编码运动图像数据的生成之前,将该块和用以指定针对该块的相应区域的特定信息发送至所述外部装置,以及
在所述编码部件完成所述第一画面的各块的编码运动图像数据的生成之后,将所述编码运动图像数据发送至所述外部装置。
2.根据权利要求1所述的运动图像分配服务器,其中,所述至少一个通道的中间值贴图是反照率贴图、深度贴图、高光贴图和漫反射贴图之一。
3.根据权利要求1或2所述的运动图像分配服务器,其中,所述指定部件针对所述多个块中的各个块,将所述第二画面中的相似度最高的区域指定作为所述相应区域。
4.根据权利要求2所述的运动图像分配服务器,其中,所述指定部件包括:
第一计算部件,用于针对所述多个块中的各个块,基于绘制所述第一画面所使用的第一视点信息和针对所述第一画面所生成的深度贴图来计算在该块的顶点处绘制的绘制对象的三维坐标;以及
变换部件,用于针对所述多个块中的各个块,使用绘制所述第二画面所使用的第二视点信息来将所述第一计算部件所计算出的三维坐标变换成所述第二画面上的画面坐标,并且指定所述相应区域。
5.一种运动图像分配服务器的控制方法,包括以下步骤:
获取步骤,用于使所述运动图像分配服务器的获取部件顺次获取视点信息以确定要绘制的画面;
绘制步骤,用于使所述运动图像分配服务器的绘制部件通过使用在所述获取步骤中获取到的视点信息进行至少两级的绘制处理来绘制分配画面,其中,所述绘制部件在前级绘制处理中生成在后级绘制处理中要参考的特定通道的中间值贴图,并且在所述后级绘制处理中通过参考该中间值贴图来绘制所述分配画面;
分割步骤,用于使所述运动图像分配服务器的分割部件获取针对第一画面所生成的至少一个通道的中间值贴图,并且在对所述第一画面执行所述后级绘制处理期间将该中间值贴图分割成多个块;
指定步骤,用于使所述运动图像分配服务器的指定部件针对所述多个块中的各个块,在针对在所述第一画面之前绘制的第二画面所生成的同一通道的中间值贴图中,指定与该块相对应的区域;
编码步骤,用于使所述运动图像分配服务器的编码部件在针对所述第一画面的所述后级绘制处理结束之后,通过对所述第一画面进行编码来生成编码运动图像数据,其中,对于所述多个块中的、与在所述指定步骤中指定的相应区域的相似度不小于阈值的块,所述编码部件在所述第一画面的该块的图像和所述第二画面的相应区域的图像之间进行帧间编码,并且对于所述多个块中的、与在所述指定步骤中指定的相应区域的相似度小于所述阈值的块,所述编码部件对所述第一画面的该块的图像进行帧内编码;以及
发送步骤,用于使所述运动图像分配服务器的发送部件向外部装置发送数据,
其中,在所述发送步骤中,所述发送部件用于:
针对与所述相应区域的相似度不小于所述阈值的块,在所述编码步骤中完成所述第一画面的各块的编码运动图像数据的生成之前,将该块和用以指定针对该块的相应区域的特定信息发送至所述外部装置,以及
在所述编码步骤中完成所述第一画面的各块的编码运动图像数据的生成之后,将所述编码运动图像数据发送至所述外部装置。
CN201280005055.0A 2011-08-17 2012-06-27 运动图像分配服务器和控制方法 Active CN103329526B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161524460P 2011-08-17 2011-08-17
US61/524,460 2011-08-17
JP2012019239A JP5155462B2 (ja) 2011-08-17 2012-01-31 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
JP2012-019239 2012-01-31
PCT/JP2012/067026 WO2013024640A1 (en) 2011-08-17 2012-06-27 Moving image distribution server, moving image reproduction apparatus, control method, program, and recording medium

Publications (2)

Publication Number Publication Date
CN103329526A CN103329526A (zh) 2013-09-25
CN103329526B true CN103329526B (zh) 2016-11-09

Family

ID=47889866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280005055.0A Active CN103329526B (zh) 2011-08-17 2012-06-27 运动图像分配服务器和控制方法

Country Status (7)

Country Link
US (2) US8873636B2 (zh)
EP (1) EP2596474A4 (zh)
JP (2) JP5155462B2 (zh)
KR (1) KR101422424B1 (zh)
CN (1) CN103329526B (zh)
CA (1) CA2803956C (zh)
WO (1) WO2013024640A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013125220A1 (ja) 2012-02-23 2013-08-29 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
CN103650001B (zh) 2012-04-12 2017-04-26 史克威尔·艾尼克斯控股公司 动画分发服务器、动画播放装置、及控制方法
JP5731566B2 (ja) 2013-04-23 2015-06-10 株式会社スクウェア・エニックス 情報処理装置、制御方法、及び記録媒体
CN105100886B (zh) * 2014-04-22 2019-03-15 腾讯科技(北京)有限公司 网络媒介信息的发布控制方法、及装置、服务器和系统
JP6379673B2 (ja) * 2014-05-26 2018-08-29 凸版印刷株式会社 描画システム、描画装置、計算装置、描画プログラム、及び描画プロセッサ基盤
US10832375B2 (en) * 2015-01-16 2020-11-10 Disney Enterprises, Inc. Image decomposition and path-space motion estimation
CN105551072B (zh) * 2015-12-11 2018-11-30 网易(杭州)网络有限公司 实现角色模型局部实时运动的方法及系统
TWI721816B (zh) 2017-04-21 2021-03-11 美商時美媒體公司 用於產生遊戲的運動向量的系統及方法
CA3060578C (en) 2017-04-21 2020-07-21 Zenimax Media Inc. Systems and methods for encoder-guided adaptive-quality rendering
GB2576286B (en) 2017-04-21 2022-09-07 Zenimax Media Inc Systems and methods for deferred post-processes in video encoding
TWI721670B (zh) 2017-04-21 2021-03-11 美商時美媒體公司 用於藉由預測運動向量及/或快取重複運動向量的玩家輸入運動補償的系統及方法
RU2752723C2 (ru) 2017-04-21 2021-07-30 Зенимакс Медиа Инк. Системы и способы для рендеринга и выдачи подсказок кодеру на основании оценки предварительно кодированной нагрузки
CN110969683A (zh) * 2018-09-30 2020-04-07 北京奇虎科技有限公司 一种动画生成方法、装置及电子设备
CN109445760B (zh) * 2018-10-08 2022-08-23 武汉联影医疗科技有限公司 图像渲染方法和系统
CN110582021B (zh) * 2019-09-26 2021-11-05 深圳市商汤科技有限公司 信息处理方法及装置、电子设备和存储介质
CN111260760B (zh) * 2020-01-10 2023-06-20 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备及存储介质
CN111563027B (zh) * 2020-04-30 2023-09-01 北京视博云信息技术有限公司 一种应用的运行监测方法、装置及系统
DE102020113454A1 (de) 2020-05-19 2021-11-25 Carl Zeiss Microscopy Gmbh Mikroskop und Verfahren zum Erzeugen eines aus mehreren mikroskopischen Einzelbildern zusammengesetzten Bildes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008048178A (ja) * 2006-08-16 2008-02-28 Sony Corp 復号処理装置及び復号処理方法並びに復号処理プログラム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2821792B2 (ja) 1990-04-04 1998-11-05 鹿島建設株式会社 型枠装置
JP2676975B2 (ja) 1990-04-20 1997-11-17 株式会社豊田自動織機製作所 無人車の運行制御装置
CA2144253C (en) * 1994-04-01 1999-09-21 Bruce F. Naylor System and method of generating compressed video graphics images
JP3287977B2 (ja) 1995-04-28 2002-06-04 松下電器産業株式会社 動きベクトル検出方法および装置と動画像符号化方法および装置
US6868191B2 (en) * 2000-06-28 2005-03-15 Telefonaktiebolaget Lm Ericsson (Publ) System and method for median fusion of depth maps
FI109633B (fi) * 2001-01-24 2002-09-13 Gamecluster Ltd Oy Menetelmä videokuvan pakkauksen nopeuttamiseksi ja/tai sen laadun parantamiseksi
US6741259B2 (en) * 2001-03-30 2004-05-25 Webtv Networks, Inc. Applying multiple texture maps to objects in three-dimensional imaging processes
JP2002369205A (ja) 2001-06-06 2002-12-20 Matsushita Electric Ind Co Ltd 動画像生成装置
WO2003083680A1 (en) * 2002-03-22 2003-10-09 Deering Michael F Scalable high performance 3d graphics
US6975329B2 (en) * 2002-12-09 2005-12-13 Nvidia Corporation Depth-of-field effects using texture lookup
EP1588327B1 (en) * 2003-01-17 2018-09-26 Koninklijke Philips N.V. Full depth map acquisition
US20090027383A1 (en) * 2003-11-19 2009-01-29 Lucid Information Technology, Ltd. Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition
JP4044069B2 (ja) * 2004-04-23 2008-02-06 株式会社ソニー・コンピュータエンタテインメント テクスチャ処理装置、テクスチャ処理方法および画像処理装置
JP4242318B2 (ja) 2004-04-26 2009-03-25 任天堂株式会社 3次元画像生成装置および3次元画像生成プログラム
US7558428B2 (en) 2004-09-13 2009-07-07 Microsoft Corporation Accelerated video encoding using a graphics processing unit
JP2007251543A (ja) * 2006-03-15 2007-09-27 Seiko Epson Corp 表示制御装置、その制御方法、情報再生装置及び電子機器
JP4931223B2 (ja) 2007-03-30 2012-05-16 株式会社バンダイナムコゲームス 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム
EP2208305B1 (en) * 2007-11-02 2017-12-13 Symbol Technologies, LLC Efficient encoding and decoding of mixed data strings in rfid tags and other media
WO2009138878A2 (en) 2008-05-12 2009-11-19 Playcast Media Systems, Ltd. Centralized streaming game server
US8264493B2 (en) 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
US8154553B2 (en) 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
CN101291415B (zh) 2008-05-30 2010-07-21 华为终端有限公司 一种三维视频通信的方法、装置及系统
WO2010043773A1 (en) * 2008-10-17 2010-04-22 Nokia Corporation Sharing of motion vector in 3d video coding
EP2184713A1 (en) * 2008-11-04 2010-05-12 Koninklijke Philips Electronics N.V. Method and device for generating a depth map
EP2384001A1 (en) 2010-04-29 2011-11-02 Alcatel Lucent Providing of encoded video applications in a network environment
US9565449B2 (en) * 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
JP5076132B1 (ja) 2011-05-25 2012-11-21 株式会社スクウェア・エニックス・ホールディングス 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム
US9044677B2 (en) 2011-07-11 2015-06-02 Roblox Corporation System for optimizing processing capacity for a group of gaming appliances engaged in play of an online game
EP3739886A1 (en) * 2011-11-18 2020-11-18 GE Video Compression, LLC Multi-view coding with efficient residual handling
WO2013107931A1 (en) * 2012-01-19 2013-07-25 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
CN103650001B (zh) * 2012-04-12 2017-04-26 史克威尔·艾尼克斯控股公司 动画分发服务器、动画播放装置、及控制方法
CN104813669B (zh) * 2012-09-21 2018-05-22 诺基亚技术有限公司 用于视频编码的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008048178A (ja) * 2006-08-16 2008-02-28 Sony Corp 復号処理装置及び復号処理方法並びに復号処理プログラム

Also Published As

Publication number Publication date
US9008187B2 (en) 2015-04-14
JP2013041568A (ja) 2013-02-28
JP2013042539A (ja) 2013-02-28
US8873636B2 (en) 2014-10-28
JP5155462B2 (ja) 2013-03-06
KR101422424B1 (ko) 2014-07-22
CA2803956A1 (en) 2013-02-17
CA2803956C (en) 2016-04-05
KR20130036357A (ko) 2013-04-11
JP5775051B2 (ja) 2015-09-09
WO2013024640A1 (en) 2013-02-21
US20150002626A1 (en) 2015-01-01
US20130263199A1 (en) 2013-10-03
EP2596474A1 (en) 2013-05-29
CN103329526A (zh) 2013-09-25
EP2596474A4 (en) 2015-05-27

Similar Documents

Publication Publication Date Title
CN103329526B (zh) 运动图像分配服务器和控制方法
CN103650001B (zh) 动画分发服务器、动画播放装置、及控制方法
US9665334B2 (en) Rendering system, rendering server, control method thereof, program, and recording medium
CN103392189B (zh) 动态图像传输服务器、动态图像播放装置以及控制方法
TWI532005B (zh) An animation distribution server, an animation reproduction apparatus, a control method, a program, and a recording medium
TWI523673B (zh) 動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體

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