WO2019237821A1 - 虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质 - Google Patents

虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质 Download PDF

Info

Publication number
WO2019237821A1
WO2019237821A1 PCT/CN2019/082724 CN2019082724W WO2019237821A1 WO 2019237821 A1 WO2019237821 A1 WO 2019237821A1 CN 2019082724 W CN2019082724 W CN 2019082724W WO 2019237821 A1 WO2019237821 A1 WO 2019237821A1
Authority
WO
WIPO (PCT)
Prior art keywords
time point
image
rendered
time
rendering
Prior art date
Application number
PCT/CN2019/082724
Other languages
English (en)
French (fr)
Inventor
许敏华
孙大伟
方亮
任韬
阚传奇
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to EP19819038.1A priority Critical patent/EP3809706B1/en
Priority to JP2020565018A priority patent/JP7072677B2/ja
Publication of WO2019237821A1 publication Critical patent/WO2019237821A1/zh
Priority to US16/991,891 priority patent/US11831566B2/en

Links

Images

Classifications

    • 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/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请是关于一种虚拟场景的场景图像传输方法。该方法包括:对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;将所述编码图像发送给终端进行解码并显示。

Description

虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质
相关申请的交叉引用
本申请要求于2018年06月15日提交中国专利局,申请号为2018106210567,发明名称为“虚拟场景的场景图像传输方法、计算机设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及图像处理技术领域,特别涉及一种虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质。
背景技术
随着网络及电子技术的不断发展,网络云应用的应用范围也越来越广泛,而云端虚拟场景(比如云游戏)则是网络云应用中较为重要的应用之一。
在相关技术中,云端虚拟场景的图像渲染过程在服务器中进行。一方面,服务器采集虚拟场景的显示界面的图像并进行渲染,获得渲染图像;另一方面,服务器按照固定的帧率,每隔预定时长判断是否存在待编码的渲染图像,若存在,则对待编码的渲染图像进行编码后发送至终端,由终端解码获得渲染图像并进行图像的显示。
发明内容
根据本申请的各种实施例,提供一种虚拟场景的场景图像传输方法、计算机设备及计算机可读存储介质。
一种虚拟场景的场景图像传输方法,由服务器执行,所述方法包括:
对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;
获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
将所述编码图像发送给终端进行解码并显示。
提供了一种虚拟场景的场景图像传输装置,所述装置包括:
渲染模块,用于对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;
时间点获取模块,用于获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
编码模块,用于当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
发送模块,用于将所述编码图像发送给终端进行解码并显示。
提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的虚拟场景的场景图像传输方法。
提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的虚拟场景的场景图像传输方法。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和优点将从说明书、附图以及权利要求书变得明显。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是根据一示例性实施例示出的终端的结构示意图;
图2是根据一示例性实施例示出的虚拟场景的显示界面示意图;
图3是根据一示例性实施例示出的一种场景图像传输系统的结构示意图;
图4是图3所示实施例涉及的一种云游戏系统的系统架构图;
图5是根据一示例性实施例示出的一种虚拟场景的场景图像传输流程图;
图6是根据一示例性实施例示出的一种虚拟场景的场景图像传输流程图;
图7至图10是图6所示实施例涉及的四种应用程序或虚拟场景的显示界面的相邻帧渲染时间间隔和统计次数示意图;
图11是图6所示实施例涉及的一种图像渲染和编码时序示意图;
图12是图6所示实施例涉及的对新生成的渲染图像的处理示意图;
图13是图6所示实施例涉及的对缓存的渲染图像进行编码的示意图;
图14是图6所示实施例涉及的另一种图像渲染和编码时序示意图;
图15是根据一示例性实施例示出的场景图像传输装置的结构方框图;
图16是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请实施例提出了一种图像显示的方案,该方案能够在多名用户面对面的状态下,进行虚拟场景的场景参数的同步。为了便于理解,下面对本申请实施例涉及的几个名词进行解释。
(1)云游戏:云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,服务器端将渲染完毕后的游戏画面压缩后通过网络传送给用户侧的终端,并由终端解码后直接显示。
(2)虚拟场景是指用计算机生成的一种虚拟的场景环境,比如,虚拟场景可以是游戏场景。虚拟场景能够提供一个多媒体的虚拟世界,用户可通过操作设备或操作界面对虚拟场景中可操作的虚拟对象进行控制,以虚拟对象的视角观察虚拟场景中的物体、人物、风景等,或通过虚拟对象和虚拟场景中的物体、人物、风景或者其它虚拟对象等进行互动,例如,通过操作一个虚拟士兵对目标敌军进行攻击等。
虚拟场景通常由终端等计算机设备中的应用程序生成基于终端中的硬件(比如屏幕)进行展示。该终端可以是智能手机、平板电脑或者电子书阅读器等移动终端;或者,该终端也可以是笔记本电脑或者固定式计算机的个人计算机设备。
请参考图1,其是根据一示例性实施例示出的终端的结构示意图。如图1所示,该终端包括主板110、外部输出/输入设备120、存储器130、外部接口140、电容触控系统150以及电源160。
其中,主板110中集成有处理器和控制器等处理元件。
外部输出/输入设备120可以包括显示组件(比如显示屏)、声音播放组件(比如扬声器)、声音采集组件(比如麦克风)以及各类按键等。
存储器130中存储有程序代码和数据。
外部接口140可以包括耳机接口、充电接口以及数据接口等。
电容触控系统150可以集成在外部输出/输入设备120的显示组件或者按键中,电容触控系统150用于检测用户在显示组件或者按键上执行的触控操作。
电源160用于对终端中的其它各个部件进行供电。
在本申请实施例中,主板110中的处理器可以通过执行或者调用存储器中存储的程序代码和数据生成虚拟场景的图像,并将生成的虚拟场景的图像通过外部输出/输入设备120进行展示。其中,上述用于生成虚拟场景的图像的数据, 可以是云端服务器发送的,渲染后的图像数据。在展示虚拟场景的过程中,可以通过电容触控系统150检测用户与虚拟场景进行交互时执行的触控操作。
其中,虚拟场景可以是三维的虚拟场景,或者,虚拟场景也可以是二维的虚拟场景。以虚拟场景是三维的虚拟场景为例,请参考图2,其是根据一示例性实施例示出的虚拟场景的显示界面示意图。如图2所示,虚拟场景的显示界面200包括虚拟对象210、三维的虚拟场景的环境画面220、至少一组虚拟控制按钮230以及虚拟对象240。其中,虚拟对象210可以是终端对应的用户账号的当前控制对象,虚拟控制按钮230为可选的控制元素,即用户可通过虚拟控制按钮230操控虚拟对象210;而虚拟对象240可以是非用户控制对象,即虚拟对象240由应用程序自行控制,或者,虚拟对象240也可以是其它终端对应的用户账号控制的虚拟对象,用户可以通过控制虚拟对象210与虚拟对象240进行交互,比如,控制虚拟对象210对虚拟对象240进行攻击。
在图2中,虚拟对象210与虚拟对象240是在三维的虚拟场景中的三维模型,在显示界面200中显示的三维的虚拟场景的环境画面为虚拟对象210的视角所观察到的物体,示例性的,如图2所示,在虚拟对象210的视角观察下,显示的三维虚拟场景的环境画面220为大地224、天空225、地平线223、小山221以及厂房222。
虚拟对象210可以在用户的控制下即时移动,比如,图2示出的虚拟控制按钮230是用于控制虚拟对象210移动的虚拟按钮,用户触控该虚拟控制按钮230时,虚拟对象210可以在虚拟场景中,向触控点相对于虚拟控制按钮230的中心的方向移动。
图3是根据一示例性实施例示出的一种虚拟场景的场景图像传输系统的结构示意图。该系统包括:若干个终端320和服务器340。
终端320可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影 像专家压缩标准音频层面4)播放器等等。
终端320可以是用于展示虚拟场景的显示界面的终端,相应的,服务器340可以是支持虚拟场景的应用程序对应的服务器。
终端320与服务器340之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
服务器340是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个虚拟化平台,或者是一个云计算服务中心。
可选的,该系统还可以包括管理设备360,该管理设备360与服务器340之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
在一种可能的实现方式中,上述虚拟场景的场景图像传输系统可以是云游戏系统。比如,请参考图4,其示出了本申请实施例涉及的一种云游戏系统的系统架构图。如图4所示,云游戏系统包括虚拟化云41、云用研控制中心42、管理人员设备43、用研人员终端44以及玩家终端45。其中,虚拟化云41和云用研控制中心42部署在上述服务器340中,理人员设备43对应上述管理设备360,而用研人员终端44以及玩家终端45这对应上述终端320。
在图4所示的系统中,虚拟化云41可以是基于硬件设备运行的虚拟机,该 虚拟机中运行有模拟器(比如安卓模拟器、Windows模拟器、iOS模拟器以及Web模拟器等等),模拟器用于模拟玩家终端45所在的系统环境,并基于模拟的系统环境运行游戏程序以生成虚拟场景(即游戏或者app对应的场景),并通过云用研控制中心42将虚拟场景的图像发送给玩家终端45和用研人员终端44进行显示。玩家终端45在显示虚拟场景的图像的过程中,还接收玩家的操作,并将玩家的操作数据发送至云用研控制中心42,仅云用研控制中心42发送至虚拟化云41,由虚拟化云41中的模拟器根据玩家的操作数据对虚拟场景进行控制。比如,在本申请实施例中,虚拟化云41可以将虚拟机生成的虚拟场景的界面和声音编码为H264/高级音频编码(Advanced Audio Coding,AAC)音视频流,并以流的方式传输至终端中安装的客户端,同时收集客户端的touch(触摸)操作事件并回传至虚拟化云41的模拟器,以达到操控游戏或app的目的。
此外,云用研控制中心42还对虚拟场景的画面和用户操作进行存档。
在本申请所示的方案中,可以对服务器执行图像编码的过程进行改进,以降低终端侧展示虚拟场景的延时。请参考图5,其是根据一示例性实施例示出的一种虚拟场景的场景图像传输流程图。如图5所示,服务器对待显示图像进行渲染,获得第一渲染图像,该待显示图像是该虚拟场景的显示数据发生变化时,对该显示数据进行采集获得的(51)。服务器获取第一时间点,该第一时间点是该第一渲染图像渲染完成的时间点(52)。当该第一时间点和第二时间点之间的时长不小于第一时长阈值时,服务器对该第一渲染图像进行编码,获得编码图像,该第二时间点是上一次进行图像编码的时间点(53)。服务器将该编码图像发送给终端进行解码并显示(54)。
通过上述图5所示的方案,服务器生成虚拟场景,并在虚拟场景的显示数据发生变化时采集待渲染图像并进行渲染,获得第一渲染图像,当第一渲染图像渲染完成的时间点与上一次执行图像编码的时间点之间的间隔不小于一定阈值时,即对第一渲染图像进行编码和发送,不需要等待下一次固定的编码周期的到达,从而提高图像编码的及时性,降低了终端侧的图像展示的延时。
此外,上述图5所示的方案,服务器只有在虚拟场景的显示数据发生变化时才会采集待渲染图像并进行渲染,减少了不必要的渲染和编码的步骤,提高了网络资源的利用率。
请参考图6,其是根据一示例性实施例示出的一种虚拟场景的场景图像传输方法的流程图。该虚拟场景的场景图像传输方法可以应用在如图3所示的系统的服务器中。如图6所示,该虚拟场景的场景图像传输方法可以包括如下步骤:
步骤601,当虚拟场景的显示数据发生变化时,采集变化后的显示数据以获得待显示图像。
其中,显示数据可以是用于在虚拟场景的显示界面上进行显示的图像数据。虚拟场景的显示界面可以指该虚拟场景在某一个终端中进行显示时的显示界面。对于同一个虚拟场景,该虚拟场景在不同的终端中显示的显示界面可能相同,也可能不同。
在本申请实施例中,服务器在生成虚拟场景后,可以监控虚拟场景的显示界面中的界面内容(即显示数据),当监控到界面内容发生变化时,即采集界面图像,获得待显示图像。反之,如果监控到界面内容未发生变化,则可以不采集界面图像。
比如,在实际应用中,服务器可以通过Qemu(一种纯软件实现的虚拟化模拟器,可以用于模拟硬件设备)+KVM(一种开源的系统虚拟化模块)的虚拟机可做到按需渲染,比如,只有在界面内容发生变化时才会进行OpenGL(Open Graphics Library,开放图形库)渲染。
步骤602,对待显示图像进行渲染,获得第一渲染图像。
比如,以模拟Android系统环境为例,Android模拟器在模拟出的Android系统中调用eglSwapBuffers函数,进行最终的屏幕内容的渲染。
在本申请实施例中,一帧图像渲染完成后,虚拟机可以在渲染完成的代码处增加回调,以触发后续判断是否进行编码的流程。
步骤603,获取第一时间点,该第一时间点是第一渲染图像渲染完成的时间 点。
比如,在服务器中的虚拟机对上述待显示图像进行渲染,并渲染完成时,虚拟机可以将渲染完成的时间点获取为上述第一时间点。
步骤604,判断第一时间点和第二时间点之间的时长是否不小于第一时长阈值,若是,进入步骤605,否则,进入步骤606。
其中,该第二时间点是上一次进行图像编码的时间点。
在实际应用中,不同的终端的性能参数各不相同,某些终端的硬件性能较高,可以支持较高帧率的图像解码和显示,而某些终端的硬件性能较差,能够支持的图像解码的帧率较低。
在本申请实施例中,为了兼顾低性能终端的解码性能,服务器中可以设置一个最小编码间隔(即上述第一时长阈值),当渲染晚上一帧图像之后,服务器可以判断当前渲染获得的渲染图像是否需要立刻进行编码并传输给用户侧的终端。
步骤605,对该第一渲染图像进行编码,获得编码图像。
在本申请实施例中,如果判断出第一渲染图像渲染完成的时间点距离上一次编码的时间点之间的时长已经达到或超过最小编码间隔,则服务器可以立刻对新获得的渲染图像进行编码。
比如,以T n表示当前图像(即上述第一渲染图像)被渲染完成的时间点,E last表示T n之前的最近一次编码的时间点,I min表示编码允许的最小间隔,即上述第一时长阈值为例,如果符合条件:T n-E last≥I min,则服务器可以立刻对当前图像进行编码,并更新E last为T n
步骤606,获取第三时间点和该第二时间点之间的时长。
其中,该第三时间点是第二渲染图像预计渲染完成的时间点,该第二渲染图像是该第一渲染图像的下一帧渲染图像。
在本申请实施例中,上述第三时间点可以通过预测获得。比如,服务器可以参考之前各帧图像渲染完成的时间点,来预测下一帧图像被渲染完成的时间点(即上述第三时间点)。
可选的,在获取上述第三时间点时,服务器可以获取已渲染的各个渲染图像各自渲染完成的时间点;根据第一时间点和该各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取该第三时间点。
在一种可能的实现方式中,服务器可以将各个渲染图像中,每相邻两个渲染图像各自渲染完成的时间点之间的时长做平均值,获得平均时长,并在第一时间点的基础上加上该平均时长,获得第三时间点。
在本申请实施例中,服务器只有在虚拟场景的显示数据发生变化时,才会采集并渲染图像,因此,相邻两帧图像被渲染完成的时间点之间的差值可能很大(比如,当虚拟场景的显示界面长时间保持不变时,连续采集并渲染两帧图像之间的时间间隔可能很大),也可能很小(比如,当虚拟场景的显示界面频繁变化时,连续采集并渲染两帧图像之间的时间间隔可能很小)。因此,服务器在获取上述第三时间点时,也可以综合考虑各个渲染图像渲染完成的时间点对于预测结果的不同程度的影响。
在实际应用中,距离当前时间点越近的相邻两帧图像被渲染完成的时间点之间的间隔,往往对于预测下一帧图像渲染完成的时间点的结果影响越大。比如,假设最近渲染完成的两帧图像被渲染完成的时间点之间的间隔较大,则下一帧图像渲染完成的时间点有很大的可能距离当前时间点之间的间隔也较大,反之,若最近渲染完成的两帧图像被渲染完成的时间点之间的间隔较小,则下一帧图像渲染完成的时间点有很大的可能距离当前时间点之间的间隔也较小。
基于上述分析,在本申请实施例中,服务器可以通过下述公式计算该第三时间点T n+1
Figure PCTCN2019082724-appb-000001
其中,T n+1是该第三时间点,T n是该第一时间点,T n-i是该第一渲染图像之前的第i帧图像渲染完成的时间点。如上述公式所示,在已渲染完成的各个渲染图像中,距离当前时间点越近的相邻两帧图像被渲染完成的时间点之间的间隔,对T n+1的预测结果的影响越大,其中,当前时间点之前的第一帧图像和第二帧图像被渲染完成的时间点之间的间隔对预测结果影响最大(即权重最大),后续 每相邻两帧图像被渲染完成的时间点之间的间隔对预测结果影响呈指数降低(即权重呈指数降低)。
步骤607,判断第三时间点和第二时间点之间的时长是否大于第二时长阈值;若是,进入步骤608,否则,进入步骤609。
其中,第二时长阈值大于上述第一时长阈值。
在本申请实施例中,如果判断出第一渲染图像渲染完成的时间点距离上一次编码的时间点之间的时长没有达到最小编码间隔,如果此时对新获得的渲染图像进行编码并发送给终端,可能会导致部分性能较差的终端还在解码并显示上一帧图像而来不及解码显示当前图像的问题。因此,当第一渲染图像渲染完成的时间点距离上一次编码的时间点之间的时长没有达到最小编码间隔时,服务器通过上述步骤预测出的下一帧渲染图像渲染完成的时间点,确定是否需要保留当前渲染图像(即第一渲染图像)。
步骤608,缓存该第一渲染图像。
在本申请实施例中,为了使得终端能够及时的向用户展示虚拟场景最新变化的显示界面,服务器可以预先设置一个最大编码帧间隔I max,如果T n+1-E last>I max,则表示在下一次需要编码的时间点,预计不会再产生新的渲染图像,此时,服务器可以对当前渲染图像进行缓存,等待到下次需要编码的时间进行编码。
由上述分析可知,I min主要目的是设置一个用户终端可以接受的最大编码速率(避免发送太快导致用户终端来不及解码),而I max主要是为了让用户能够及时看到最新的画面,服务器每隔I max时长,尝试获取最新产生且没编码过的图片,以及时编码传输到用户终端进行展示。
在本申请实施例中,服务器可以预先对大量的手机等移动终端的编解码能力的统计,获得一个可以被大部分终端所接收的帧率范围,并在该帧率范围的基础上,结合实际应用中的各种虚拟场景的刷新帧率进行统计并确定上述I min和I max
请参考图7至图10,其是本申请实施例涉及的四种应用程序或虚拟场景的显示界面的相邻帧渲染时间间隔和统计次数示意图。实际应用中,应用程序或 者虚拟场景的显示界面的刷新率通常为30FPS或者60FPS,对应的刷新时间间隔为15ms和30ms。在图7至图10中,横坐标为相邻帧渲染的时间间隔,纵坐标为统计获得的相邻帧渲染的时间间隔处于对应的时间间隔的次数。通过图7至图10可见,大部分应用程序或者虚拟场景的显示界面中,相邻帧渲染的时间间隔集中在15-17ms和32-34ms这两个区间内,且同一时间段内的间隔大体上是一致的,结合上述可以被大部分终端所接收的帧率范围,在本申请实施例中,可以将I min和I max设置在30ms左右,比如,可以将I min设置为29ms,I max设置为34ms。当然,实际应用中,服务器也可以将I min和I max设置为30ms左右的其它数值,只需要满足I min<I max即可。
需要说明的是,在本申请实施例中,服务器在缓存第一渲染图像时,如果缓存中已存在上一次渲染获得的渲染图像,则在缓存第一渲染图像时,服务器可以将上一次渲染并存储的渲染图像删除。也即是说,若某一帧渲染图像渲染完成后,服务器预测在下一次编码时间到达之前不会产生新的渲染图像,并将当前渲染图像进行缓存,但实际上,在下一次编码时间到达之前产生了新的渲染图像,此时,为了保证向用户及时的展示虚拟场景的最新界面,之前缓存的渲染图像需要被丢弃,在下一次编码时,服务器将直接编码最新渲染完成的渲染图像。
步骤609,将该第一渲染图像丢弃。
在本申请实施例中,如果T n+1-E last≤I max,则预估在进行下一次编码之前,还会产生一帧新的渲染图像(即第二渲染图像),为了使得用户能够及时看到最新的虚拟场景的显示界面,此时,服务器可以直接丢弃当前渲染图像,并在下一次需要编码时,直接对新的渲染图像进行编码。
比如,请参考图11,其示出了其示出了本申请实施例涉及的一种图像渲染和编码时序示意图。通过上述方案,当虚拟场景的显示界面的刷新间隔集中在15-17ms之间时,在理想情况下,服务器可以在两帧渲染图像中取一帧渲染图像,并立即进行视频编码,并传输至用户终端。如图11所示,当T n-E last<I min,且T n+1-E last≤I max时,服务器丢弃相邻两帧中的一帧(图11中示出为丢弃渲染图像 B、渲染图像D以及渲染图像F,编码渲染图像A、渲染图像C以及渲染图像E)。当虚拟场景的显示界面的刷新间隔集中在32-34ms之间时,在理想情况下,云端服务器可以对每一帧渲染图像都进行编码。
本申请通过上述方案,服务器采用不固定的动态帧率,对新产生的渲染图像实时编码,综合终端的解码能力与服务器的渲染帧率,设置合理的I min和I max。请参考图12,其示出了本申请实施例涉及的对新生成的渲染图像的处理示意图。如图12所示,服务器检测到新生成的渲染图像(步骤1201)时,更新预估的下一帧渲染图像的生成时间点(步骤1202),并判断当前时间点(即上述第一时间点)是否处于可编码时间(步骤1203),即判断最近编码时间与当前时间点之间的间隔是否不小于I min。若当前时间点处于可编码时间(即上一次编码时间与当前时间点之间的间隔大于I min),则对新生成的渲染图像进行H264编码(步骤1204),并更新最近编码时间(步骤1205);若当前时间点不处于可编码时间(即上一次编码时间与当前时间点之间的间隔不大于I min),则进一步判断是否需要缓存新生成的渲染图像(步骤1206),即判断最近编码时间与预估的下一帧渲染图像的生成时间点之间的间隔是否大于I max;若需要缓存新生成的渲染图像(即最近编码时间与预估的下一帧渲染图像的生成时间点之间的间隔大于I max),则将该新生成的渲染图像进行缓存(步骤1207);反之,如果判断不需要缓存新生成的渲染图像(即最近编码时间与预估的下一帧渲染图像的生成时间点之间的间隔不大于I max),则将该新生成的渲染图像丢弃(步骤1208)。
步骤610,在第四时间点到达时,若该第二渲染图像尚未渲染完成,则对该第一渲染图像进行编码,获得编码图像。
其中,该第四时间点处于该第二时间点之后,且该第四时间点与该第二时间点之间的时长是该第二时长阈值的整数倍。
在本申请实施例中,为了处理服务器采用动态帧率对新产生的渲染图像实时编码之外的情况,服务器还定时对缓存中的渲染图像进行编码监控,以便在到达需要编码的时间点,且未产生需要即时编码的新的渲染图像时,对缓存的渲染图像进行编码。
比如,请参考图13,其示出了本申请实施例涉及的对缓存的渲染图像进行编码的示意图。如图13所示,服务器在编码监控的过程中,确定唤醒时间,该唤醒时间e last,该唤醒时间表示预计要编码的时间点,其中,每次进行一次编码之后,第一次确定的唤醒时间为该次编码的时间点E last
a)服务器确定编码间隔超出最长时间间隔I max(步骤1301),即当前时间T n距离上一次唤醒时间的间隔为I max,T n≥e last+I max时,服务器进行编码检查,以判断缓存中是否存在最新的渲染图像(步骤1302)。
b)如果缓存中有新的渲染图像,则对尚未编码过的渲染图像进行H264编码(步骤1303),编码后更新最新的编码时间E last=e last(步骤1304)。
c)如果缓存中无新的尚未编码过的渲染图像,则不进行编码,仅更新唤醒时间e last,更新后的唤醒时间是上一次的唤醒时间加上I max
请参考图14,其示出了本申请实施例涉及的另一种图像渲染和编码时序示意图。如图14所示:
服务器在T1时刻完成了渲染图像B的渲染,且T1时刻距离上次编码的时间小于I min,因此无法将渲染图像B直接编码传输给客户端。并且,下一帧渲染图像C的预估产生时间超过下一次需要编码的时间T2,因此,服务器对渲染图像B进行缓存。到了T2时刻,服务器发现缓存中存在渲染图像B,且上一次编码的渲染图像为渲染图像A,则对渲染图像B进行编码并传输至终端。在T3时刻渲染图像C渲染生成,T3距离T2的时间小于I min,且下一次编码的时间为T2+I max,服务器预计下一帧渲染图像D的产生时间为Tp超过了T2+I max,因此对渲染图像C进行缓存。但是,实际渲染图像D的产生时间为T4,而T4-T2大于I max,此时,服务器会立即对渲染图像D进行编码并传输至终端。
通过本申请所示的方案,虚拟场景(比如云游戏)的显示界面中的内容不发生变化时,服务器可以不进行编码,如果到达预计编码的时间,但是发现没有新的渲染图像产生,此时也不会进行编码,从而节省服务器端的处理资源的消耗,将动态帧率编码与传统固定采样编码的方式相结合,实现对采用动态帧率对新产生的渲染图像实时编码之外的情况的处理。
在本申请上述方案以及图11至图14中,仅以编码方式为H264为例进行说明,在实际应用中,服务器也可以通过H264之外的其它编码方式(比如H265等)对渲染图像进行编码。本申请实施例不对比编码方式进行限定。
步骤611,将编码图像发送给终端进行解码并显示。
通过本申请实施例所示的实时编码的方式,能够有效减少渲染图像的生成与编码时间之间的时间间隔,实验结果表明,本申请所示的方案与相关技术中采用固定编码帧率的方案相比,平均每一帧图像能够降低延迟16ms,从而极大的提高云游戏的用户体验。此外,在本申请实施例中,当屏幕内容没有发生变化时不进行编码,有效降低服务器执行图像编码带来的资源消耗和网络传输的流量。
综上所述,通过本申请实施例所示的方案,服务器生成虚拟场景,并在虚拟场景的显示数据发生变化时采集待渲染图像并进行渲染,获得第一渲染图像,当第一渲染图像渲染完成的时间点与上一次执行图像编码的时间点之间的间隔不小于一定阈值时,即对第一渲染图像进行编码和发送,不需要等待下一次固定的编码周期的到达,从而提高图像编码的及时性,降低了终端侧的图像展示的延时。
此外,通过本申请实施例所示的方案,服务器只有在虚拟场景的显示界面发生变化时才会采集待渲染图像并进行渲染,减少了不必要的渲染和编码的步骤,提高了网络资源的利用率。
另外,通过本申请实施例所示的方案,当第一时间点和该第二时间点之间的时长小于该第一时长阈值,且第三时间点和第二时间点之间的时长大于第二时长阈值时,缓存第一渲染图像,后续在第四时间点到达时,若该第二渲染图像尚未渲染完成,则对该第一渲染图像进行编码,将动态帧率编码与传统固定采样编码的方式相结合,实现对采用动态帧率对新产生的渲染图像实时编码之外的情况的处理。
图15是根据一示例性实施例示出的一种虚拟场景的场景图像传输装置的结 构方框图。该虚拟场景中的场景图像传输装置可以用于服务器中,以执行图5或图6所示实施例中由服务器执行的全部或者部分步骤。该虚拟场景中的场景图像传输装置可以包括:
渲染模块1501,用于对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;
时间点获取模块1502,用于获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
编码模块1503,用于当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
发送模块1504,用于将所述编码图像发送给终端进行解码并显示。
可选的,所述时间点获取模块1502,还用于获取第三时间点,所述第三时间点是第二渲染图像预计渲染完成的时间点,所述第二渲染图像是所述第一渲染图像的下一帧渲染图像;
所述装置还包括:
时长获取模块,用于当所述第一时间点和所述第二时间点之间的时长小于所述第一时长阈值时,获取所述第三时间点和所述第二时间点之间的时长;
缓存模块,用于当所述第三时间点和所述第二时间点之间的时长大于第二时长阈值时,缓存所述第一渲染图像,所述第二时长阈值大于所述第一时长阈值。
可选的,在获取第三时间点时,所述时间点获取模块1502,具体用于,
获取已渲染的各个渲染图像各自渲染完成的时间点;
根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点。
可选的,在根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点时,所述时间点获取模块1502,具体用于,
通过下述公式计算所述第三时间点T n+1
Figure PCTCN2019082724-appb-000002
其中,T n+1是所述第三时间点,T n是所述第一时间点,T n-i是所述第一渲染图像之前的第i帧图像渲染完成的时间点。
可选的,所述编码模块1503,还用于在缓存所述第一渲染图像之后,在第四时间点到达时,若所述第二渲染图像尚未渲染完成,则对所述第一渲染图像进行编码,获得所述编码图像;所述第四时间点处于所述第二时间点之后,且所述第四时间点与所述第二时间点之间的时长是所述第二时长阈值的整数倍。
可选的,所述装置还包括:
丢弃模块,用于当所述第三时间点和所述第二时间点之间的时长不大于所述第二时长阈值时,丢弃所述第一渲染图像。
上述各个模块的功能的实现过程可以参考图5或图6所示的实施例中的描述。
应该理解的是,虽然图5、6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图5、6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交底地执行。
图16是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备1600包括中央处理单元(CPU)1601、包括随机存取存储器(RAM)1602和只读存储器(ROM)1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。所述计算机设备1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。
所述基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标、键盘之类的输入设备1609。其中所述显示器1608和输入设备1609都通过连接到系统总线1605的输入输出控制器1610连接到中央处理单元1601。所述基本输入/输出系统1606还可以包括输入输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。所述大容量存储设备1607及其相关联的计算机可读介质为计算机设备1600提供非易失性存储。也就是说,所述大容量存储设备1607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。
计算机设备1600可以通过连接在所述系统总线1605上的网络接口单元1611连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1601通过执行该一个或一个以上程序来实现图5或图6所示的虚拟场景的场景图像传输方法的步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设 备的处理器执行以完成本申请各个实施例中的虚拟场景的场景图像传输方法的步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (20)

  1. 一种虚拟场景的场景图像传输方法,由服务器执行,其特征在于,所述方法包括:
    对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行采集获得的;
    获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
    当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
    将所述编码图像发送给终端进行解码并显示。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    获取第三时间点,所述第三时间点是第二渲染图像预计渲染完成的时间点,所述第二渲染图像是所述第一渲染图像的下一帧渲染图像;
    当所述第一时间点和所述第二时间点之间的时长小于所述第一时长阈值时,获取所述第三时间点和所述第二时间点之间的时长;
    当所述第三时间点和所述第二时间点之间的时长大于第二时长阈值时,缓存所述第一渲染图像,所述第二时长阈值大于所述第一时长阈值。
  3. 根据权利要求2所述的方法,其特征在于,所述获取第三时间点,包括:
    获取已渲染的各个渲染图像各自渲染完成的时间点;
    根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点。
  4. 根据权利要求3所述的方法,其特征在于,所述根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点,包括:
    通过下述公式计算所述第三时间点T n+1
    Figure PCTCN2019082724-appb-100001
    其中,T n+1是所述第三时间点,T n是所述第一时间点,T n-i是所述第一渲染 图像之前的第i帧图像渲染完成的时间点。
  5. 根据权利要求2所述的方法,其特征在于,在缓存所述第一渲染图像之后,所述方法还包括:
    在第四时间点到达时,若所述第二渲染图像尚未渲染完成,则对所述第一渲染图像进行编码,获得所述编码图像;所述第四时间点处于所述第二时间点之后,且所述第四时间点与所述第二时间点之间的时长是所述第二时长阈值的整数倍。
  6. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    当所述第三时间点和所述第二时间点之间的时长不大于所述第二时长阈值时,丢弃所述第一渲染图像。
  7. 一种虚拟场景的场景图像传输装置,其特征在于,所述装置包括:
    渲染模块,用于对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;
    时间点获取模块,用于获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
    编码模块,用于当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
    发送模块,用于将所述编码图像发送给终端进行解码并显示。
  8. 根据权利要求7所述的装置,其特征在于,
    所述时间点获取模块,还用于获取第三时间点,所述第三时间点是第二渲染图像预计渲染完成的时间点,所述第二渲染图像是所述第一渲染图像的下一帧渲染图像;
    所述装置还包括:
    时长获取模块,用于当所述第一时间点和所述第二时间点之间的时长小于所述第一时长阈值时,获取所述第三时间点和所述第二时间点之间的时长;
    缓存模块,用于当所述第三时间点和所述第二时间点之间的时长大于第二 时长阈值时,缓存所述第一渲染图像,所述第二时长阈值大于所述第一时长阈值。
  9. 根据权利要求8所述的装置,其特征在于,在获取第三时间点时,所述时间点获取模块,具体用于,
    获取已渲染的各个渲染图像各自渲染完成的时间点;
    根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点。
  10. 根据权利要求9所述的装置,其特征在于,在根据所述各个渲染图像中,每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点时,所述时间点获取模块,具体用于,
    通过下述公式计算所述第三时间点T n+1
    Figure PCTCN2019082724-appb-100002
    其中,T n+1是所述第三时间点,T n是所述第一时间点,T n-i是所述第一渲染图像之前的第i帧图像渲染完成的时间点。
  11. 根据权利要求8所述的装置,其特征在于,
    所述编码模块,还用于在缓存所述第一渲染图像之后,在第四时间点到达时,若所述第二渲染图像尚未渲染完成,则对所述第一渲染图像进行编码,获得所述编码图像;所述第四时间点处于所述第二时间点之后,且所述第四时间点与所述第二时间点之间的时长是所述第二时长阈值的整数倍。
  12. 根据权利要求8所述的装置,其特征在于,所述装置还包括:
    丢弃模块,用于当所述第三时间点和所述第二时间点之间的时长不大于所述第二时长阈值时,丢弃所述第一渲染图像。
  13. 一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行时,使得所述处理器执行以下步骤:
    对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟 场景的显示数据发生变化时进行数据采集获得的;
    获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
    当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
    将所述编码图像发送给终端进行解码并显示。
  14. 根据权利要求13所述的计算机设备,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行时,使得所述处理器还执行以下步骤:
    获取第三时间点,所述第三时间点是第二渲染图像预计渲染完成的时间点,所述第二渲染图像是所述第一渲染图像的下一帧渲染图像;
    当所述第一时间点和所述第二时间点之间的时长小于所述第一时长阈值时,获取所述第三时间点和所述第二时间点之间的时长;
    当所述第三时间点和所述第二时间点之间的时长大于第二时长阈值时,缓存所述第一渲染图像,所述第二时长阈值大于所述第一时长阈值。
  15. 根据权利要求14所述的计算机设备,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行所述获取第三时间点的步骤时,使得所述处理器具体执行以下步骤:
    获取已渲染的各个渲染图像各自渲染完成的时间点;
    根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点。
  16. 根据权利要求15所述的计算机设备,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行所述第一时间点和所述根据所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点的步骤时,使得所述处理器具体执行以下步骤:
    通过下述公式计算所述第三时间点T n+1
    Figure PCTCN2019082724-appb-100003
    其中,T n+1是所述第三时间点,T n是所述第一时间点,T n-i是所述第一渲染图像之前的第i帧图像渲染完成的时间点。
  17. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行时,使得所述处理器执行以下步骤:
    对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;
    获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
    当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
    将所述编码图像发送给终端进行解码并显示。
  18. 根据权利要求17所述的计算机可读存储介质,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行时,使得所述处理器还执行以下步骤:
    获取第三时间点,所述第三时间点是第二渲染图像预计渲染完成的时间点,所述第二渲染图像是所述第一渲染图像的下一帧渲染图像;
    当所述第一时间点和所述第二时间点之间的时长小于所述第一时长阈值时,获取所述第三时间点和所述第二时间点之间的时长;
    当所述第三时间点和所述第二时间点之间的时长大于第二时长阈值时,缓存所述第一渲染图像,所述第二时长阈值大于所述第一时长阈值。
  19. 根据权利要求18所述的计算机可读存储介质,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行所述获取第三时间点的步骤时,使得所述处理器具体执行以下步骤:
    获取已渲染的各个渲染图像各自渲染完成的时间点;
    根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点。
  20. 根据权利要求19所述的计算机可读存储介质,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行所述第一时间点和根据所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点的步骤时,使得所述处理器具体执行以下步骤:
    通过下述公式计算所述第三时间点T n+1
    Figure PCTCN2019082724-appb-100004
    其中,T n+1是所述第三时间点,T n是所述第一时间点,T n-i是所述第一渲染图像之前的第i帧图像渲染完成的时间点。
PCT/CN2019/082724 2018-06-15 2019-04-15 虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质 WO2019237821A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19819038.1A EP3809706B1 (en) 2018-06-15 2019-04-15 Method and apparatus for transmitting scene image of virtual scene, computer device and computer readable storage medium
JP2020565018A JP7072677B2 (ja) 2018-06-15 2019-04-15 仮想シーンのシーン画像を送信するための方法及び装置、コンピュータデバイス並びにコンピュータ読み取り可能記憶媒体
US16/991,891 US11831566B2 (en) 2018-06-15 2020-08-12 Method and apparatus for transmitting scene image of virtual scene, computer device, and computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810621056.7 2018-06-15
CN201810621056.7A CN108810554B (zh) 2018-06-15 2018-06-15 虚拟场景的场景图像传输方法、计算机设备及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/991,891 Continuation US11831566B2 (en) 2018-06-15 2020-08-12 Method and apparatus for transmitting scene image of virtual scene, computer device, and computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2019237821A1 true WO2019237821A1 (zh) 2019-12-19

Family

ID=64086607

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/082724 WO2019237821A1 (zh) 2018-06-15 2019-04-15 虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质

Country Status (5)

Country Link
US (1) US11831566B2 (zh)
EP (1) EP3809706B1 (zh)
JP (1) JP7072677B2 (zh)
CN (1) CN108810554B (zh)
WO (1) WO2019237821A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831284A (zh) * 2020-07-29 2020-10-27 网易(杭州)网络有限公司 渲染调试方法、装置及设备
CN113542795A (zh) * 2020-04-21 2021-10-22 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及计算机可读存储介质
EP3903896A1 (en) * 2020-04-30 2021-11-03 INTEL Corporation Cloud gaming adaptive synchronization mechanism
CN113973224A (zh) * 2021-09-18 2022-01-25 阿里巴巴(中国)有限公司 媒体信息的传输方法、计算设备及存储介质
CN114579076A (zh) * 2022-01-30 2022-06-03 荣耀终端有限公司 数据处理方法和相关装置
JP2022534670A (ja) * 2020-04-01 2022-08-03 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド ゲームアプリケーションにおけるフレーム表示方法、装置、端末およびコンピュータプログラム
US11446571B2 (en) 2020-04-30 2022-09-20 Intel Corporation Cloud gaming adaptive synchronization mechanism

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810554B (zh) * 2018-06-15 2021-06-22 腾讯科技(深圳)有限公司 虚拟场景的场景图像传输方法、计算机设备及存储介质
CN111314764B (zh) * 2020-03-04 2022-05-20 南方电网科学研究院有限责任公司 跨屏动画在分布式渲染环境中的同步方法
CN111475240A (zh) * 2020-03-25 2020-07-31 西安万像电子科技有限公司 数据处理方法及系统
CN113491877B (zh) * 2020-04-01 2023-12-08 华为技术有限公司 触发信号生成方法及装置
CN111583350A (zh) * 2020-05-29 2020-08-25 联想(北京)有限公司 图像处理方法、装置、系统及服务器
CN113559497B (zh) * 2021-09-24 2021-12-21 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备以及可读存储介质
CN114253649B (zh) * 2021-12-24 2024-04-09 武汉噢易云计算股份有限公司 图像渲染方法、装置、设备及可读存储介质
CN115914198A (zh) * 2022-03-08 2023-04-04 杨立群 用于远程操控的图像动态传输方法及装置
CN115278309A (zh) * 2022-09-27 2022-11-01 海马云(天津)信息技术有限公司 云应用渲染视频帧处理方法与装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143360A (zh) * 2010-06-30 2011-08-03 华为技术有限公司 一种图像编码的方法及设备
CN103716596A (zh) * 2012-10-05 2014-04-09 索尼公司 图像处理装置和图像处理方法
CN107370714A (zh) * 2016-05-13 2017-11-21 吉林纪元时空动漫游戏科技集团股份有限公司 面向云渲染的高效通讯方法
US20180063602A1 (en) * 2014-05-22 2018-03-01 Idomoo Ltd. System and method to generate a video on-the-fly
CN107979763A (zh) * 2016-10-21 2018-05-01 阿里巴巴集团控股有限公司 一种虚拟现实设备生成视频、播放方法、装置及系统
CN108810554A (zh) * 2018-06-15 2018-11-13 腾讯科技(深圳)有限公司 虚拟场景的场景图像传输方法、计算机设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001268575A (ja) 2000-03-14 2001-09-28 Pioneer Electronic Corp 画像変化検出装置及び画像変化検出方法、画像符号化装置並びに画像変化検出用プログラムがコンピュータで読取可能に記録された情報記録媒体
JP4596693B2 (ja) * 2000-07-06 2010-12-08 パナソニック株式会社 ストリーミング方法およびそれを実行するシステム
JP3935419B2 (ja) * 2002-11-19 2007-06-20 Kddi株式会社 動画像符号化ビットレート選択方式
US7743183B2 (en) * 2005-05-23 2010-06-22 Microsoft Corporation Flow control for media streaming
JP5538843B2 (ja) * 2009-12-03 2014-07-02 三菱電機株式会社 コンテンツ再生装置及び方法
JP5418350B2 (ja) * 2010-03-24 2014-02-19 富士通モバイルコミュニケーションズ株式会社 情報処理装置
JP5625543B2 (ja) 2010-06-28 2014-11-19 ソニー株式会社 符号化装置、電子機器、撮像装置、および撮像システム
CN103077015B (zh) * 2012-12-25 2015-08-05 福州博远无线网络科技有限公司 一种动态控制游戏帧率的方法
DE112013006448T5 (de) * 2013-01-18 2015-10-15 Andreas Bieber Vorrichtung und Verfahren zum Rendern von Bewegtbildern und Set von Datencontainern mit Timecode
US20140327698A1 (en) * 2013-05-06 2014-11-06 Nvidia Corporation System and method for hybrid graphics and text rendering and client computer and graphics processing unit incorporating the same
US10158868B2 (en) * 2013-10-15 2018-12-18 Nvidia Corporation Systems and methods to limit lag between a client and a server for remote computing
US10255021B2 (en) * 2015-05-28 2019-04-09 Qualcomm Incorporated Low latency screen mirroring
CN105094920B (zh) * 2015-08-14 2018-07-03 网易(杭州)网络有限公司 一种游戏渲染方法和装置
CN105118077B (zh) * 2015-09-02 2018-02-09 广东建设职业技术学院 一种提高文件拍摄流畅性的方法及系统
US10229540B2 (en) * 2015-12-22 2019-03-12 Google Llc Adjusting video rendering rate of virtual reality content and processing of a stereoscopic image
US9940898B2 (en) * 2016-02-25 2018-04-10 Nvidia Corporation Variable refresh rate video capture and playback

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143360A (zh) * 2010-06-30 2011-08-03 华为技术有限公司 一种图像编码的方法及设备
CN103716596A (zh) * 2012-10-05 2014-04-09 索尼公司 图像处理装置和图像处理方法
US20180063602A1 (en) * 2014-05-22 2018-03-01 Idomoo Ltd. System and method to generate a video on-the-fly
CN107370714A (zh) * 2016-05-13 2017-11-21 吉林纪元时空动漫游戏科技集团股份有限公司 面向云渲染的高效通讯方法
CN107979763A (zh) * 2016-10-21 2018-05-01 阿里巴巴集团控股有限公司 一种虚拟现实设备生成视频、播放方法、装置及系统
CN108810554A (zh) * 2018-06-15 2018-11-13 腾讯科技(深圳)有限公司 虚拟场景的场景图像传输方法、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3809706A4 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022534670A (ja) * 2020-04-01 2022-08-03 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド ゲームアプリケーションにおけるフレーム表示方法、装置、端末およびコンピュータプログラム
JP7301161B2 (ja) 2020-04-01 2023-06-30 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド ゲームアプリケーションにおけるフレーム表示方法、装置、端末およびコンピュータプログラム
CN113542795A (zh) * 2020-04-21 2021-10-22 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及计算机可读存储介质
CN113542795B (zh) * 2020-04-21 2023-04-18 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及计算机可读存储介质
EP3903896A1 (en) * 2020-04-30 2021-11-03 INTEL Corporation Cloud gaming adaptive synchronization mechanism
US11446571B2 (en) 2020-04-30 2022-09-20 Intel Corporation Cloud gaming adaptive synchronization mechanism
CN111831284A (zh) * 2020-07-29 2020-10-27 网易(杭州)网络有限公司 渲染调试方法、装置及设备
CN111831284B (zh) * 2020-07-29 2023-08-08 网易(杭州)网络有限公司 渲染调试方法、装置及设备
CN113973224A (zh) * 2021-09-18 2022-01-25 阿里巴巴(中国)有限公司 媒体信息的传输方法、计算设备及存储介质
CN114579076A (zh) * 2022-01-30 2022-06-03 荣耀终端有限公司 数据处理方法和相关装置

Also Published As

Publication number Publication date
US20200374242A1 (en) 2020-11-26
JP7072677B2 (ja) 2022-05-20
EP3809706A1 (en) 2021-04-21
EP3809706A4 (en) 2021-05-05
US11831566B2 (en) 2023-11-28
EP3809706B1 (en) 2022-12-07
CN108810554B (zh) 2021-06-22
CN108810554A (zh) 2018-11-13
JP2021513440A (ja) 2021-05-27

Similar Documents

Publication Publication Date Title
WO2019237821A1 (zh) 虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质
US11010404B2 (en) Data synchronization method, apparatus, and system
CN106488273B (zh) 一种传输直播视频的方法和装置
US10044576B2 (en) Estimation of power consumption of individual websites
CN104685873B (zh) 编码控制设备以及编码控制方法
US20150229960A1 (en) Information processing device, method, and terminal device
WO2023116233A1 (zh) 视频卡顿预测方法、装置、设备和介质
CN113906764B (zh) 用于转码视频的方法、设备和计算机可读介质
US20170272545A1 (en) Method and system for transmitting remote screen
CN114679607A (zh) 一种视频帧率控制方法、装置、电子设备及存储介质
CN111208960A (zh) 基于抽帧控制和时间同步算法的远程显示降延迟方法
CN114389959B (zh) 网络拥塞控制方法、装置、电子设备及存储介质
Song et al. Design and evaluation of remote video surveillance system on private cloud
CN113810773A (zh) 视频下载方法及装置、电子设备和存储介质
CN111385574A (zh) 视频编码中的码率控制方法、装置、移动终端及存储介质
CN112650755A (zh) 数据存储方法、查询数据的方法、数据库、以及可读介质
JP2016103117A (ja) 情報処理装置、端末装置、画像表示システムおよび画像送信プログラム
US20140099039A1 (en) Image processing device, image processing method, and image processing system
US10530824B2 (en) Real-time end-to-end latency monitoring
EP3128430B1 (en) Information processing device and storage medium
CN111526381B (zh) 一种优化直播资源的方法、装置及电子设备
JP2015060461A (ja) 中継装置、シンクライアントシステム、中継方法および中継プログラム
Tamizhselvi et al. Adaptive video streaming in mobile cloud computing
WO2023020270A1 (zh) 解码处理方法、装置、计算机设备及存储介质
KR20230136128A (ko) 클라우드 게이밍에서 사용자 입력을 적응시키는 것에 관한 방법, 장치들 및 시스템들

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19819038

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020565018

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2019819038

Country of ref document: EP