[go: up one dir, main page]

CN117956177A - 一种云渲染方法、云渲染装置、介质及设备 - Google Patents

一种云渲染方法、云渲染装置、介质及设备 Download PDF

Info

Publication number
CN117956177A
CN117956177A CN202410170887.2A CN202410170887A CN117956177A CN 117956177 A CN117956177 A CN 117956177A CN 202410170887 A CN202410170887 A CN 202410170887A CN 117956177 A CN117956177 A CN 117956177A
Authority
CN
China
Prior art keywords
client
encoder
network
server
cloud rendering
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.)
Pending
Application number
CN202410170887.2A
Other languages
English (en)
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.)
Beijing Wuyi Vision Digital Twin Technology Co ltd
Original Assignee
Beijing Wuyi Vision Digital Twin Technology 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 Beijing Wuyi Vision Digital Twin Technology Co ltd filed Critical Beijing Wuyi Vision Digital Twin Technology Co ltd
Publication of CN117956177A publication Critical patent/CN117956177A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/146Data rate or code amount at the encoder output
    • 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
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开涉及一种云渲染方法、云渲染装置、介质及设备。本公开实施例提供的方法适用于服务端,方法包括:基于客户端传输的最优视频压缩算法,初始化服务端的编码器;通过初始化的编码器,按照最优视频压缩算法对第一渲染数据进行编码;将编码后的第一渲染数据推流至客户端,并监测推流传输状态,以及根据监测结果获取对当前网络带宽的评估结果;根据评估结果,动态调整编码器的参数。该方法,兼顾了客户端的能力和网络带宽的情况,从而保障云渲染过程中的网络通信质量,不会出现视频延迟或卡顿现象,达到了更好的云渲染效果。

Description

一种云渲染方法、云渲染装置、介质及设备
本申请要求于2023年12月29日提交的申请号为2023118622338,发明名称为“云渲染方法、云渲染装置、介质及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及数字孪生技术领域,具体涉及一种云渲染方法、云渲染装置、介质及设备。
背景技术
云渲染(cloudrender)技术中,渲染的模式与常规的云计算类似,即将3D(threedimensions)程序放在远程的服务器中渲染,用户终端通过全球广域网(world wide web,Web)软件或者直接在本地的3D程序中点击一个“云渲染”按钮并借助高速互联网接入访问资源,指令从用户终端中发出,服务器根据指令执行对应的渲染任务,而渲染结果画面则被传送回用户终端中加以显示。目前编解码器作为云渲染服务中的重要器件,分为软编解码和硬编解码,其中软编解码是使用中央处理器(central processing unit,CPU)进行编解码,实现简单,但对CPU的负载较重,性能较低;硬编解码主要使用图形处理器(graphicsprocessing unit,GPU)等进行编码,性能高,速度快。目前最常用的视频压缩算法标准为H.264,并结合动态码率调节策略来达到更好的传输效果。
然而,现有H.264算法标准太过老旧,编码效果已经无法适应云渲染服务要求。在动态码率调节策略中动态调节码率时,会出现视频一会儿清晰,一会儿模糊的情况。即在评估带宽小时,编码器减小码流,此时视频变得模糊;评估带宽大时,编码器放大了码流,所以视频变得清晰。当码率过小时,过高的数据压缩比例影响视频的清晰度和质量,同时码率变化过大导致的视频画面时而模糊、时而清晰的情况,也严重影响了用户体验。
所以,如何提供一种高质量的云渲染方法,以避免云渲染中发生视频延迟和卡顿的现象,成为本领域技术人员亟待解决的技术问题。
发明内容
本公开实施例的目的是提供一种云渲染方法、云渲染装置、介质及设备,以解决现有的云渲染存在明显的视频延迟和卡顿等现象,导致无法满足高质量的3D场景交互的问题。
第一方面,本公开实施例提供了一种云渲染方法,该云渲染方法适用于服务端,云渲染方法包括:
基于客户端传输的最优视频压缩算法,初始化服务端的编码器;
通过初始化的编码器,按照最优视频压缩算法对第一渲染数据进行编码;
将编码后的第一渲染数据推流至客户端,并监测推流传输状态,以及根据监测结果获取对当前网络带宽的评估结果;
根据评估结果,动态调整编码器的参数。
一个可选的实施方式中,基于客户端传输的最优视频压缩算法,初始化服务端的编码器,包括:
获取客户端的画质要求;
根据客户端传输的最优视频压缩算法和画质要求,初始化服务端的编码器。
一个可选的实施方式中,监测推流传输状态,包括:
在将编码后的第一渲染数据推流至客户端的过程中,监测网络丢包率和/或网络延迟。
一个可选的实施方式中,根据监测结果获取对当前网络带宽的评估结果,包括:
若网络丢包率小于或等于第一预设丢包率且网络延迟持续降低,则确定当前网络带宽良好;或者,
若网络丢包率大于第一预设丢包率,且小于或等于第二预设丢包率,以及网络延迟位于预设延迟区间内,则确定当前网络带宽正常;或者,
若网络丢包率大于第二预设丢包率,或网络延迟持续增长,则确定当前网络带宽不良。
一个可选的实施方式中,方法还包括:
若根据网络丢包率和/或网络延迟确定当前网络带宽良好或不良,则调整网络带宽至正常。
一个可选的实施方式中,根据评估结果,动态调整编码器的参数,包括:
根据网络带宽正常时的网络带宽评估值,设置编码器的目标码率值。
一个可选的实施方式中,方法还包括:
通过参数调整后的编码器对第二渲染数据进行编码,并将编码后的第二渲染数据推送至客户端。
第二方面,本公开实施例还提供一种云渲染装置,云渲染装置适用于服务端,云渲染装置包括:
初始化模块,用于基于客户端传输的最优视频压缩算法,初始化服务端的编码器;
编码模块,用于通过初始化的编码器,按照最优视频压缩算法对第一渲染数据进行编码;
推流模块,用于将编码后的渲染数据推流至客户端,并监测推流传输状态,以及根据监测结果获取对当前网络带宽的评估结果;
调整模块,用于根据评估结果,动态调整编码器的参数。
一个可选的实施方式中,初始化模块用于基于客户端传输的最优视频压缩算法,初始化服务端的编码器,具体为:初始化模块用于:
获取客户端的画质要求;
根据客户端传输的最优视频压缩算法和画质要求,初始化服务端的编码器。
一个可选的实施方式中,推流模块用于监测推流传输状态,具体为:推流模块用于:
在将编码后的第一渲染数据推流至客户端的过程中,监测网络丢包率和/或网络延迟。
一个可选的实施方式中,推流模块用于根据监测结果获取对当前网络带宽的评估结果,具体为:推流模块用于:
若网络丢包率小于或等于第一预设丢包率且网络延迟持续降低,则确定当前网络带宽良好;或者,
若网络丢包率大于第一预设丢包率,且小于或等于第二预设丢包率,以及网络延迟位于预设延迟区间内,则确定当前网络带宽正常;或者,
若网络丢包率大于第二预设丢包率,或网络延迟持续增长,则确定当前网络带宽不良。
一个可选的实施方式中,云渲染装置还包括:
带宽优化模块,用于:若根据网络丢包率和/或网络延迟确定当前网络带宽良好或不良,则调整网络带宽至正常。
一个可选的实施方式中,调整模块用于根据评估结果,动态调整编码器的参数,具体为:调整模块用于:
根据网络带宽正常时的网络带宽评估值,设置编码器的目标码率值。
一个可选的实施方式中,推流模块还用于:
通过参数调整后的编码器对第二渲染数据进行编码,并将编码后的第二渲染数据推送至客户端。
第三方面,本公开实施例提供了一种电子设备,包括处理器,存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现第一方面的云渲染方法的步骤。
第四方面,本公开实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有程序或指令,程序或指令被处理器执行时实现第一方面的云渲染方法的步骤。
本公开的上述方案至少包括以下有益效果:
本公开的方案,服务端基于客户端传输的最优视频压缩算法初始化服务端的编码器,然后服务端通过初始化的编码器,按照视频最优压缩算法对渲染数据进行编码,将编码后的渲染数据推流至客户端,并监测推流传输状态,根据监测结果获取对网络带宽的评估结果,之后,根据评估结果,动态调整编码器的参数。这样的话,可以根据客户端的能力,例如解码能力,选择适配于客户端的最优视频压缩算法,并根据客户端的能力初始化服务端的编码器,在将服务端的编码器输出的码流推流至客户端过程中,还可以通过对网络带宽的评估结果动态调整服务端的编码器参数,从而实现对服务端的编码器的参数的合理设置,在动态输出相应视频的过程中,兼顾了客户端的能力和网络带宽的情况,从而保障云渲染过程中的网络通信质量,不会出现视频延迟或卡顿现象,达到了更好的云渲染效果。
附图说明
图1示出了本公开的实施例提供的云渲染方法的流程图;
图2示出了本公开的实施例提供的选择视频压缩算法的流程图;
图3示出了本公开的实施例提供的调整当前网络带宽的流程图;
图4示出了本公开的实施例提供的云渲染装置的结构示意图;
图5示出了本公开的实施例提供的电子设备的示意图;
图6示出了基于本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面通过附图和实施例对本申请进一步详细说明。通过这些说明,本申请的特点和优点将变得更为清楚明确。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
此外,下面所描述的本申请不同实施方式中涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
针对现有云渲染存在明显的视频延迟和卡顿等现象,导致无法满足高质量的3D场景交互,本公开实施例提供了一种云渲染方法、云渲染装置、介质及设备,以通过选择最优视频压缩算法并根据客户端的画质要求初始化服务端的编码器,同时监测传输视频过程中的网络带宽的评估结果,控制传输数据量以适应实时带宽情况,从而保障云渲染过程中的网络通信质量。
下面结合附图,通过具体的实施例及其应用场景对本公开实施例进行详细说明。
图1是本公开实施例提供的一种云渲染方法的流程图。参见图1,该方法可以包括以下步骤:
步骤101,客户端根据客户端的解码能力,选择最优视频压缩算法。
考虑到在云渲染服务中,客户端和服务端的互动对于视频压缩算法的选择和调整至关重要。常用的视频编码压缩算法种类较多,比如H.264/VP9/AV1/H265/H266等,它们提供了更高的压缩率,这使得在网络条件有限的情况下,可以传输更多的数据从而保障更好的服务质量。在这一步骤中,首先要确定客户端的解码能力,基于客户端的解码能力来选择适配于客户端的视频压缩算法,可以更好的提高用户体验度。需要说明的是,若受限于客户端的编解码器种类以及客户端配置的视频编解码算法,当客户端同时具备软解码和硬解码两种功能时,优先使用硬解码。
步骤102,服务端根据最优视频压缩算法初始化服务端的编码器。
客户端根据其解码能力选择出最优视频压缩算法后,客户端可以将最优视频压缩算法传输至云渲染服务端(也可以简称为服务端),服务端接收到最优视频压缩算法后,可以基于最优视频压缩算法初始化服务端的编码器。在初始化服务端的编码器的过程中,需要考虑客户端的画质要求,以客户端的用户偏好、网络带宽、内容类型等因素配置相应的编码器参数,可以提高用户在初始阶段的使用体验。
也就是说,一种可能的实现方式中,服务端接收到客户端传输的最优视频压缩算法后,还可以获取客户端的画质要求,之后,服务端可以根据客户端传输的最优视频压缩算法和客户端的画质要求,初始化服务端的编码器。
步骤103,服务端通过初始化后的编码器,按照最优视频压缩算法,对渲染数据进行编码。
服务端将编码器初始化之后,可以使用初始化后的编码器,按照最优视频压缩算法,对渲染数据进行编码。为了便于区分,本申请中,将当前过程中的渲染数据记为第一渲染数据。也就是说,服务端可以使用初始化后的编码器,按照最优视频压缩算法,对第一渲染数据进行编码。
步骤104,服务端将编码后的渲染数据推流至客户端,并实时监测推流传输状态以获取对当前网络带宽的评估结果。
服务端在将第一渲染数据进行编码后,可以将编码后的第一渲染数据推流至客户端,以在客户端进行渲染显示,供用户观看。在将编码后的第一渲染数据推流至客户端的过程中,服务端还可以监测推流传输状态,以及根据监测结果获取对当前网络带宽的评估结果。
在这一步骤中,通过实时获取服务端向客户端推流传输数据的状态,以此能够准确评估出当前网络带宽情况。
步骤105,服务端根据网络带宽的评估结果,动态调整服务端的编码器参数。
在这一步骤中,基于在步骤104中得到的当前网络带宽的评估结果,将其作为对编码器参数调节的依据,可以有效避免或减少在云渲染服务过程中出现明显的视频延迟和卡顿等问题,从而实现高质量的3D场景交互。
本公开的方案,客户端可以根据自身的解码能力选择与自己适配的最优视频压缩算法,然后将该最优视频压缩算法传输给服务端。服务端可以基于客户端传输的最优视频压缩算法初始化服务端的编码器,然后服务端通过初始化的编码器,按照视频最优压缩算法对渲染数据进行编码,将编码后的渲染数据推流至客户端,并监测推流传输状态,根据监测结果获取对网络带宽的评估结果,之后,根据评估结果,动态调整编码器的参数。
这样的话,可以根据客户端的能力,例如解码能力,选择适配于客户端的最优视频压缩算法,并根据客户端的能力初始化服务端的编码器,在将服务端的编码器输出的码流推流至客户端过程中,还可以通过对网络带宽的评估结果动态调整服务端的编码器参数,从而实现对服务端的编码器的参数的合理设置,在动态输出相应视频的过程中,兼顾了客户端的能力和网络带宽的情况,从而保障云渲染过程中的网络通信质量,不会出现视频延迟或卡顿现象,达到了更好的云渲染效果。
在一些可选地实施方式中,参见图2,图2示出了本公开的实施例提供的选择最优视频压缩算法的一流程图。如图2所示,根据客户端的解码能力选择最优视频压缩算法,可以按照下述方式实现:
步骤201,从客户端与服务端之间的通信协议中,获取第一编解码信息。
其中,第一编解码信息包括:客户端的解码能力和客户端的画质要求。
由于云渲染服务端编码能力和客户端解码能力不同,因此云渲染服务需要结合服务端和客户端的相关能力。在本实施例中,先将客户端所选择的视频压缩算法,通过与云渲染服务端之间的通信协议,告知云渲染服务端,确定客户端的解码能力,根据客户端的解码能力选择当前传输使用的最合理的视频压缩算法,即最优视频压缩算法,以实现最好的云渲染传输质量,再由云渲染服务端根据网络传输质量情况,实时调整画质参数以实现高质量的云渲染服务。
步骤202,基于第一编解码信息中的客户端的视频压缩算法种类和解码器类型,确定客户端的最优编解码算法。
其中,客户端的视频压缩算法种类和解码器类型用于确定客户端的解码能力。
步骤203,根据客户端的最优编解码算法选择适配客户端的最优视频压缩算法。
可选地,客户端在选择最优视频压缩算法的过程中,先确定出适配客户端的最优视频压缩算法和解码器(优先使用硬解码),并将所选择的最优视频压缩算法通过与云渲染服务之间的通信协议告知云渲染服务端;再由云渲染服务端根据客户端选择的最优视频压缩算法,初始化对应的硬件编码器。
在另一种可能的实现方式中,还可以由服务端选择出最优视频压缩算法。具体的,服务端可以从客户端与服务端之间的通信协议中,获取第一编解码信息。然后,服务端可以基于第一编解码信息,确定客户端的解码能力。然后服务端可以根据客户端的解码能力,选择与客户端的解码能力适配的视频压缩算法,作为最优视频压缩算法。
在云渲染服务中,客户端和服务端的互动对于最优视频压缩算法的选择和调整至关重要。其中,客户端在选择最优视频压缩算法时通常考虑以下因素:硬件兼容性,确保所选最优视频压缩算法与客户端硬件兼容;性能要求,根据设备的处理能力选择合适的最优视频压缩算法,以保证流畅的播放;网络条件,考虑网络带宽和稳定性,选择适应网络变化的最优视频压缩算法。需要说明的是,考虑到最优视频压缩算法是结合客户端硬件性能、网络带宽和稳定性以及用户的画质要求等因素来确定,因而当其中一种或多种因素发生改变时,最优视频压缩算法可能会改变。因此为确保用户体验,针对最优视频压缩算法也可以进行动态切换,如:在传输过程中,如果网络状况或客户端硬件状态发生变化,可能需要切换到不同的压缩算法以维持画质和流畅性。
类似的,由于客户端优先使用硬解码,为保证用户体验以及传输质量,针对解码器也可以进行切换使用,如下述情况:1、硬件不兼容:如果客户端硬件不支持特定的硬解码算法,可能需要切换到软解码;2、高性能需求:在硬件处理能力不足以满足高质量视频流的情况下,可能采用软解码;3、特殊编码格式:某些特殊或新的编码格式可能暂时只有软件解码器支持等。总之,在云渲染服务中,最优视频压缩算法的选择和调整是一个动态的过程,需要综合考虑客户端的硬件能力、网络条件、以及实际的视频内容需求。硬解码和软解码之间的切换则取决于具体的场景和需求,以确保在不同条件下都能提供流畅和高质量的视频体验。
在一些可选地方式中,云渲染服务针对高清、标清、流畅等不同画质要求,预设了对应不同的最大分辨率、最小分辨率、最大帧率、最小帧率、最高码率、最低码率等编码参数。在根据客户端的画质要求初始化服务端的编码器时,云渲染服务端根据具体使用要求,选择其中一种画质参数对编码器进行初始化。
具体地,在云渲染服务中,“选择其中一种画质参数对编码器进行初始化”是一个重要的步骤,在实际使用过程中存在如下影响编码器初始化的因素:1.客户端设备不同,如智能手机、平板、电脑等具有不同的显示能力,较新的设备可能支持更高的分辨率和帧率;2.网络带宽不同,在网络带宽较低的情况下,可能需要选择较低的画质设置以确保流畅的传输;3.用户偏好不同,用户可能根据个人喜好选择不同的画质,例如选择高清画质以获得更好的视觉体验;4.内容类型不同,如电影、游戏、文档展示等可能有不同的画质需求,其中游戏可能需要更高的帧率来保证流畅性。因此,其具体应用场景和确定画质要求的方式可以这样理解:
在基于上述因素确定画质要求时,自动检测客户端设备的显示能力,如分辨率和支持的最大帧率;进行网络速度测试,确定当前网络环境下可支持的最大数据传输速率;提供用户界面让用户根据个人偏好选择期望的画质;根据所提供内容的性质和需求确定合适的画质设置等。基于此,来初始化编码器参数。
需要说明的是,在后期推流传输过程中,云渲染服务端还可以根据实际的影响来调整编码器参数,具体情况如下:如果用户在传输过程中改变了画质设置,云渲染服务端需要相应调整编码参数,以适应新的画质要求;如果带宽评估结果改变,也可对编码器参数进行调整等以保证传输效率。总结来说,云渲染服务中的画质参数选择和编码器初始化是一个多变量的决策过程,需要综合考虑设备能力、网络状况、用户偏好和内容要求。用户在传输过程中更改画质设置会直接影响带宽评估和编码参数的调整,以确保画质与传输效率之间的最佳平衡。
在一些可选地方式中,云渲染服务端可以实时监测推流传输状态,以获取对当前网络带宽的评估结果。可选地,实时监测推流传输状态,可以按照下述方式实现:在服务端将编码后的第一渲染数据推流至客户端的过程中,实时监测网络丢包率和/或网络延迟。
进一步地,云渲染服务端监测网络丢包率和网络延迟,可以采用如下策略,以提高所采集数据的准确性:1.增强数据采集精度,如使用高精度的时间戳来记录数据包的发送和接收时间;实现更细粒度的数据采集,例如通过增加采集频率来更准确地捕捉网络波动。2.智能化数据分析,如利用机器学习算法对采集到的数据进行分析,以预测网络状况的变化趋势;实现自适应算法,根据历史和实时数据动态调整网络参数等。3.冗余和错误恢复机制:如实施数据包冗余发送策略,减少由于丢包引起的影响;引入更高效的错误恢复算法,如前向纠错(FEC)技术等。
基于上述示例可知,本实施例是以网络丢包率和网络延迟两种数据中的至少一种来分析获取到相应的网络带宽的评估结果。需要说明的是,云渲染服务端在获取对当前网络带宽的评估结果时,除了网络丢包率和网络延迟外,还可以实现更多维度网络质量评估:如结合抖动率(Jitter)和带宽变化等,从而获得更全面的网络质量评估;实现跨网络层的数据分析,结合应用层、传输层和网络层的信息等方式。
在一些可选地实现方式中,服务端根据网络丢包率和网络延迟等参数,确定出当前网络带宽的评估结果为良好或不良时,说明当前网络带宽的传输性能还没有达到最佳传输需求,需要进一步调整当前网络带宽。基于此,如图3所示,在服务端在执行步骤104之后,执行步骤105之前,还可以包括以下步骤:
步骤301,若根据网络丢包率判断出当前网络带宽的评估结果为良好或不良,则按照第一预设规则提高当前带宽评估值,直至网络带宽的评估结果为正常;
步骤302,若根据网络延迟判断出当前网络带宽的评估结果为良好或不良,则按照第二预设规则降低当前带宽评估值,直至网络带宽的评估结果为正常。
也就是说,服务端如果根据网络丢包率和/或网络延迟确定当前网络带宽良好或不良,则可以调整网络带宽至正常。
在本公开一可选的实施例中,步骤301可以进一步包括:
基于丢包率判断网络带宽的评估结果,也就是根据实时丢包率计算当前带宽。如果当前带宽的评估结果为良好或不良,则按照第一预设规则提高当前带宽评估值,直至网络带宽的评估结果为正常。
可选地,按照第一预设规则提高当前带宽评估值包括:预先设置2个丢包率,即正常丢包率X%和异常丢包率Y%,其中X和Y均为常数。如果丢包率小于或等于X%,属于正常丢包,说明当前网络质量良好,带宽还没有达到上限,应该增加评估的网络带宽,即当前评估的网络带宽值乘以一个增长系数A,A为常数;判断乘以增长系数A之后的网络丢包率,如果网络丢包率小于或等于Y%,说明当前网络质量正常,带宽评估比较准确,此时应该保持当前评估的带宽值不变;如果丢包率大于Y%,说明当前网络质量不良,发生了严重的网络拥塞,此时立降低评估的带宽,即当前评估带宽值乘以一个下降系数B,B为常数。
在本公开一可选的实施例中,步骤302可以进一步包括:
基于网络延迟的带宽评估,也就是判断当前网络传输延时情况。如果当前带宽的评估结果为良好或不良,则按照第二预设规则提高当前带宽评估值,直至网络带宽的评估结果为正常。
可选地,按照第二预设规则提高当前带宽评估值包括:如果网络传输延时在持续降低,则说明网络通信质量良好,需要增加带宽评估值,即当前评估带宽值乘以一个增长系数A,如果网络传输延时在持续增长,则说明网络通信质量不良,需要减少带宽评估值,即当前评估带宽值乘以一个下降系数B,其它情况则说明网络通信质量正常,则当前评估带宽保持不变。
在云渲染服务中,确定带宽评估的增长系数和下降系数是关键的,这些系数影响网络带宽的动态调整,以保证最佳的传输效率和质量。以下是如何确定这些系数以及它们的调整策略:
确定增长系数和下降系数
1.基于经验值:初始系数可以根据网络工程的经验值设置,如一般的网络优化实践中使用的标准系数。
2.自适应算法:使用自适应算法根据历史数据动态调整系数,使其适应不同网络环境和流量模式。
3.机器学习优化:应用机器学习模型根据网络性能数据自动优化这些系数。
4.用户需求和内容类型:考虑用户对于服务质量的敏感度和内容的类型(如高清视频、游戏等)来调整这些系数。
综上,增长系数和下降系数可以为固定常数,也可以为根据相应策略得到的不固定常数,在确定增长系数和下降系数时需要综合考虑网络环境、用户需求、内容类型和经验值,并通过持续的监测和调整来优化带宽评估。这种动态调整策略有助于在变化的网络条件下保持最佳的服务质量。
可选地,根据网络丢包率和网络延迟判断网络带宽为良好,可以包括:若网络丢包率小于或等于第一预设丢包率且当前的网络延迟持续降低,则判断网络带宽为良好。
可选地,根据网络丢包率和网络延迟判断网络带宽为正常,可以包括:若第一预设丢包率小于网络丢包率,且网络丢包率小于或等于第二预设丢包率,且当前的网络延迟介于预设延迟区间内,则判断网络带宽为正常。即,如果网络丢包率大于第一预设丢包率,且小于或等于第二预设丢包率,以及当前的网络延迟位于预设延迟区间内,则可以确定当前网络带宽正常。
可选地,根据网络丢包率和网络延迟判断网络带宽为不良,包括:若网络丢包率大于第二预设丢包率或当前的网络延迟持续增长,则判断网络带宽不良。
在一些可选地方式中,服务端根据网络带宽的评估结果,动态调整服务端的编码器参数,可以包括:根据网络带宽为正常时的网络带宽评估值,设置编码器的目标码率值,其中目标码率值满足下述条件:当前画质编码最低码率小于或等于目标码率值,目标码率值小于或等于当前画质编码最高码率的要求,即目标码率值应该位于下述范围[当前画质编码最低码率,当前画质编码最高码率]内。
进一步地,服务端还可以根据新的画质要求和实时获得的网络带宽的评估结果,动态调整编码参数(如码率、分辨率、帧率等),以在保证画质的同时最大限度地减少延迟和丢包。
具体的,在云渲染服务过程中,基于实时评估出的网络带宽评估值设置编码器的目标码率值,目标码率值必须满足当前画质编码最低码率小于或等于目标码率值,且目标码率值小于或等于当前画质编码最高码率的要求。同时在动态调整编码器参数过程中,云渲染服务还可以根据网络带宽评估情况执行动态切换画质策略,即当网络带宽改善时从当前画质切换至更高画质,当网络带宽变差时从当前画质切换至较低画质。设置新的编码参数后,云渲染服务端可以使用编码参数调整后的编码器对渲染数据进行编码,并将编码后的渲染数据推送至客户端,同时继续执行实时带宽评估。
也就是说,动态调整服务端的编码器的参数后,可以通过参数调整后的编码器对渲染数据进行编码,并将编码后的渲染数据推送至客户端。为了便于区分,将当前过程中的渲染数据记为第二渲染数据。也就是说,在动态调整服务端的编码器的参数后,可以使用参数调整后的编码器对第二渲染数据进行编码,然后将编码后的第二渲染数据推送至客户端。这样的话,可以通过动态调整服务端的编码器的参数,及时将服务端的编码器调整为适合当前网络带宽的状态,并动态地采用参数调整后的编码器对当前的渲染数据进行编码,使得推送给客户端的渲染数据更加适合网络传输状态,进一步保证不会产生视频延迟或卡顿的现象,用户体验更好。
在云渲染服务中的“动态编码参数调整”过程中,确定最高码率和最低码率是关键的一环。这些参数的确定需要考虑多个因素,包括压缩算法的特性、目标画质要求、网络带宽状况等。以下是基于相应因素来确定调整策略的详细说明:
最高码率和最低码率的确定因素
1.目标画质要求:根据所需提供的视频画质(如标清、高清、4K等)确定最高和最低码率。其中高画质通常需要更高的码率以保持清晰度和细节。
2.压缩算法特性:不同的视频压缩算法(如H.264,H.265,VP9等)在相同的码率下可以提供不同的画质。高效的压缩算法可能在较低的码率下仍能提供良好的画质。
3.网络带宽状况:网络带宽的上限和稳定性影响可用于视频传输的最大数据量。在带宽受限的情况下,可能需要降低码率以适应网络状况。
4.用户设备能力:考虑用户端设备解码和显示的能力,以确定适宜的码率范围。设备性能较弱可能无法流畅播放高码率视频。
5.内容类型:不同类型的内容(如动作电影、电子游戏、文本图像等)对码率的需求不同。动态场景或高细节内容通常需要更高的码率来保持清晰度。
6.实时性要求:对于需要高实时性的应用(如云游戏),码率设置还需要考虑延迟和响应速度。
码率与压缩算法和网络带宽的关系
1.与压缩算法的关系:不同的压缩算法在相同码率下提供的视频质量会有差异。高效的算法可以在较低的码率下保持较高的画质。
2.与带宽的关系:带宽是限制码率选择的一个重要因素。高带宽环境允许使用更高的码率,而在带宽较低的情况下需要降低码率以防止卡顿或延迟。
综上,最高码率和最低码率的确定是一个多因素考量的结果,旨在在保证画质的同时适应网络状况和用户端的能力。动态调整这些参数是实现高效、稳定云渲染传输的关键。
可以理解的是,上述实施例仅为示例,实际实施时可以对上述实施例进行变形,本领域技术人员可以理解,上述实施例不用付出创造性劳动的变形方法均落入本公开的保护范围,实施例中不再赘述。
上述所有可选技术方案,可以相互借鉴或结合,形成本公开的可选实施例,在此不再一一赘述。
基于同一发明构思,本公开实施例还提供了一种云渲染装置,由于云渲染装置所解决问题的原理与前述云渲染方法相似,因此云渲染装置的实施可以参见前述云渲染方法的实施,重复之处不再赘述。
图4是本公开实施例提供的一种云渲染装置400的结构示意图,参见图4,该云渲染装置400包括:
初始化模块401,用于基于客户端传输的最优视频压缩算法,初始化服务端的编码器;
编码模块402,用于通过初始化的编码器,按照最优视频压缩算法对第一渲染数据进行编码;
推流模块403,用于将编码后的渲染数据推流至客户端,并监测推流传输状态,以及根据监测结果获取对当前网络带宽的评估结果;
调整模块404,用于根据评估结果,动态调整编码器的参数。
一个可选的实施方式中,初始化模块401用于基于客户端传输的最优视频压缩算法,初始化服务端的编码器,具体为:初始化模块401用于:
获取客户端的画质要求;
根据客户端传输的最优视频压缩算法和画质要求,初始化服务端的编码器。
一个可选的实施方式中,推流模块403用于监测推流传输状态,具体为:推流模块403用于:
在将编码后的第一渲染数据推流至客户端的过程中,监测网络丢包率和/或网络延迟。
一个可选的实施方式中,推流模块403用于根据监测结果获取对当前网络带宽的评估结果,具体为:推流模块403用于:
若网络丢包率小于或等于第一预设丢包率且网络延迟持续降低,则确定当前网络带宽良好;或者,
若网络丢包率大于第一预设丢包率,且小于或等于第二预设丢包率,以及网络延迟位于预设延迟区间内,则确定当前网络带宽正常;或者,
若网络丢包率大于第二预设丢包率,或网络延迟持续增长,则确定当前网络带宽不良。
一个可选的实施方式中,云渲染装置400还包括:
带宽优化模块,用于:若根据网络丢包率和/或网络延迟确定当前网络带宽良好或不良,则调整网络带宽至正常。
一个可选的实施方式中,调整模块404用于根据评估结果,动态调整编码器的参数,具体为:调整模块404用于:
根据网络带宽正常时的网络带宽评估值,设置编码器的目标码率值。
一个可选的实施方式中,推流模块403还用于:
通过参数调整后的编码器对第二渲染数据进行编码,并将编码后的第二渲染数据推送至客户端。
本公开实施例提供的装置,基于客户端传输的最优视频压缩算法初始化服务端的编码器,然后通过初始化的编码器,按照视频最优压缩算法对渲染数据进行编码,将编码后的渲染数据推流至客户端,并监测推流传输状态,根据监测结果获取对网络带宽的评估结果,之后,根据评估结果,动态调整编码器的参数。这样的话,可以根据客户端的能力,例如解码能力,选择适配于客户端的最优视频压缩算法,并根据客户端的能力初始化服务端的编码器,在将服务端的编码器输出的码流推流至客户端过程中,还可以通过对网络带宽的评估结果动态调整服务端的编码器参数,从而实现对服务端的编码器的参数的合理设置,在动态输出相应视频的过程中,兼顾了客户端的能力和网络带宽的情况,从而保障云渲染过程中的网络通信质量,不会出现视频延迟或卡顿现象,达到了更好的云渲染效果。
需要说明的是:上述实施例提供的一种云渲染装置仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的云渲染装置与云渲染方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本公开实施例中的一种云渲染装置可以是虚拟装置,也可以是服务器或者终端中的部件、集成电路或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本公开实施例不作具体限定。
本公开实施例中的一种云渲染装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本公开实施例不作具体限定。
本公开实施例提供的一种云渲染装置能够实现图1至图3的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图5所示,本公开实施例还提供一种电子设备900,包括处理器901,存储器902,存储在存储器902上并可在处理器901上运行的程序或指令,该程序或指令被处理器901执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。需要说明的是,本公开实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
图6为实现本公开实施例的一种电子设备的硬件结构示意图。
该电子设备1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009、以及处理器1010等部件。
本领域技术人员可以理解,电子设备1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
应理解的是,本公开实施例中,输入单元1004可以包括图形处理器(GraphicsProcessing Unit,GPU)10041和麦克风10042,图形处理器10041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板10061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板10061。用户输入单元1007包括触控面板10071以及其他输入设备10072。触控面板10071,也称为触摸屏。触控面板10071可包括触摸检测装置和触摸控制器两个部分。其他输入设备10072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器1009可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器1010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等。
本公开实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本公开实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本公开实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例的方法。
上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本公开的保护之内。

Claims (10)

1.一种云渲染方法,其特征在于,所述方法适用于服务端,所述方法包括:
基于客户端传输的最优视频压缩算法,初始化所述服务端的编码器;
通过初始化的所述编码器,按照所述最优视频压缩算法对第一渲染数据进行编码;
将编码后的第一渲染数据推流至所述客户端,并监测推流传输状态,以及根据监测结果获取对当前网络带宽的评估结果;
根据所述评估结果,动态调整所述编码器的参数。
2.根据权利要求1所述的云渲染方法,其特征在于,基于客户端传输的最优视频压缩算法,初始化所述服务端的编码器,包括:
获取所述客户端的画质要求;
根据所述客户端传输的最优视频压缩算法和所述画质要求,初始化所述服务端的编码器。
3.根据权利要求1所述的云渲染方法,其特征在于,所述监测推流传输状态,包括:
在将编码后的第一渲染数据推流至所述客户端的过程中,监测网络丢包率和/或网络延迟。
4.根据权利要求3所述的云渲染方法,其特征在于,所述根据监测结果获取对当前网络带宽的评估结果,包括:
若所述网络丢包率小于或等于第一预设丢包率且所述网络延迟持续降低,则确定当前网络带宽良好;或者,
若所述网络丢包率大于所述第一预设丢包率,且小于或等于第二预设丢包率,以及所述网络延迟位于预设延迟区间内,则确定当前网络带宽正常;或者,
若所述网络丢包率大于所述第二预设丢包率,或所述网络延迟持续增长,则确定当前网络带宽不良。
5.根据权利要求3或4所述的云渲染方法,其特征在于,所述方法还包括:
若根据所述网络丢包率和/或网络延迟确定当前网络带宽良好或不良,则调整网络带宽至正常。
6.根据权利要求5所述的云渲染方法,其特征在于,所述根据所述评估结果,动态调整所述编码器的参数,包括:
根据网络带宽正常时的网络带宽评估值,设置所述编码器的目标码率值。
7.根据权利要求1所述的云渲染方法,其特征在于,所述方法还包括:
通过参数调整后的编码器对第二渲染数据进行编码,并将编码后的第二渲染数据推送至所述客户端。
8.一种云渲染装置,其特征在于,所述云渲染装置适用于服务端,所述云渲染装置包括:
初始化模块,用于基于客户端传输的最优视频压缩算法,初始化所述服务端的编码器;
编码模块,用于通过初始化的所述编码器,按照所述最优视频压缩算法对第一渲染数据进行编码;
推流模块,用于将编码后的第一渲染数据推流至所述客户端,并监测推流传输状态,以及根据监测结果获取对当前网络带宽的评估结果;
调整模块,用于根据所述评估结果,动态调整所述编码器的参数。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1~7中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序产品;
处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述权利要求1~7中任意一项所述的方法。
CN202410170887.2A 2023-12-29 2024-02-06 一种云渲染方法、云渲染装置、介质及设备 Pending CN117956177A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202311862233 2023-12-29
CN2023118622338 2023-12-29

Publications (1)

Publication Number Publication Date
CN117956177A true CN117956177A (zh) 2024-04-30

Family

ID=90798260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410170887.2A Pending CN117956177A (zh) 2023-12-29 2024-02-06 一种云渲染方法、云渲染装置、介质及设备

Country Status (1)

Country Link
CN (1) CN117956177A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119068547A (zh) * 2024-08-26 2024-12-03 湖南芒果融创科技有限公司 基于vr云渲染的手势识别方法、系统、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119068547A (zh) * 2024-08-26 2024-12-03 湖南芒果融创科技有限公司 基于vr云渲染的手势识别方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
US7099954B2 (en) Congestion control mechanism for streaming media
US8254685B2 (en) Detecting content change in a streaming image system
EP3840390A1 (en) Method and device for controlling video transcoding code rate
WO2022194140A1 (zh) 远程视频传输方法、传输装置、存储介质及电子设备
US12192478B2 (en) Adaptively encoding video frames using content and network analysis
US9819715B2 (en) Client side control of adaptive streaming
CN116017037B (zh) 用于自适应比特率算法的动态参数调整的方法和系统
US20110296109A1 (en) Cache control for adaptive stream player
CN115834556A (zh) 数据传输方法、系统、设备、存储介质及程序产品
JP2022545623A (ja) ビデオプレイバックにおける予測ベースドロップフレームハンドリング論理
CN114501014A (zh) 一种视频编码参数处理方法、系统、设备及存储介质
Li et al. JUST360: Optimizing 360-degree video streaming systems with joint utility
CN117956177A (zh) 一种云渲染方法、云渲染装置、介质及设备
US11736552B1 (en) Sender based adaptive bit rate control
Rahman et al. SABA: Segment and buffer aware rate adaptation algorithm for streaming over HTTP
WO2014066975A1 (en) Methods and systems for controlling quality of a media session
Zhang et al. A QOE-driven approach to rate adaptation for dynamic adaptive streaming over http
CN119255022A (zh) 一种视频播放控制方法、装置及电子设备
CN118540509A (zh) 一种基于云车机的自适应编码方法及系统
US10135896B1 (en) Systems and methods providing metadata for media streaming
Wu et al. Adaptive Bandwidth Prediction and Smoothing Glitches in Low‐Latency Live Streaming
Yan et al. Research on QoE-driven panoramic video bit rate selection strategy under edge computing
CN114416236B (zh) 一种虚拟桌面数据的处理方法、装置、设备和介质
US20250350652A1 (en) Methods and system for progressive streaming of video segments
US12470771B1 (en) Adaptive video streaming algorithm for optimized model predictive control

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination