CN117336531A - 视频画面的渲染方法、装置、终端、存储介质及程序产品 - Google Patents

视频画面的渲染方法、装置、终端、存储介质及程序产品 Download PDF

Info

Publication number
CN117336531A
CN117336531A CN202311258319.XA CN202311258319A CN117336531A CN 117336531 A CN117336531 A CN 117336531A CN 202311258319 A CN202311258319 A CN 202311258319A CN 117336531 A CN117336531 A CN 117336531A
Authority
CN
China
Prior art keywords
resolution
picture
target
decoding
video
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
CN202311258319.XA
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311258319.XA priority Critical patent/CN117336531A/zh
Publication of CN117336531A publication Critical patent/CN117336531A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种视频画面的渲染方法、装置、终端、存储介质及程序产品。包括:确定目标应用下终端支持的最大解码分辨率,以及目标应用配置的最高画面分辨率;基于最大解码分辨率以及最高画面分辨率,确定视频解码采用的目标解码分辨率以及视频画面渲染采用的目标画面分辨率,目标画面分辨率大于或等于目标解码分辨率,目标解码分辨率目标画面分辨率与终端的视频解码能力相关,目标画面分辨率与终端的视频处理能力相关;向目标应用的应用服务器发送目标解码分辨率,以使应用服务器基于目标解码分辨率进行编码,得到编码视频流;接收应用服务器发送的编码视频流;基于编码视频流、目标解码分辨率以及目标画面分辨率,渲染视频画面。

Description

视频画面的渲染方法、装置、终端、存储介质及程序产品
技术领域
本申请实施例涉及视频处理领域,特别涉及一种视频画面的渲染方法、装置、终端、存储介质及程序产品。
背景技术
现如今,云服务技术不断演进,为充分发挥云计算优势,云服务侧与终端侧的互动越来越密切,可通过端云协同调整图像采集、视频编码以及视频处理等策略协同工作提升视频画质或流畅度。
相关技术中,在终端显示视频的过程中,根据终端能够支持的解码分辨率,在终端的解码能力允许的情况下,将云服务侧进行编码的编码分辨率以及终端中进行编码和渲染的分辨率均设置为终端能够支持的解码分辨率。
然而,在相关技术确定分辨率的过程中,仅考虑到终端侧能够支持的解码分辨率,而在实际应用中,可能存在一些终端具有较强的渲染能力,即可以支持更高的画面分辨率,在这种情况下,相关技术所提供的方案中,仅考虑到终端侧支持的视频解码能力,并未充分利用终端的渲染能力以及计算能力。
发明内容
本申请实施例提供了一种视频画面的渲染方法、装置、终端、存储介质及程序产品。所述技术方案如下:
一方面,本申请实施例提供了一种视频画面的渲染方法,所述方法包括:
确定目标应用下终端支持的最大解码分辨率,以及所述目标应用配置的最高画面分辨率;
基于所述最大解码分辨率以及所述最高画面分辨率,确定视频解码采用的目标解码分辨率以及视频画面渲染采用的目标画面分辨率,所述目标画面分辨率大于或等于所述目标解码分辨率,所述目标解码分辨率目标画面分辨率与终端的视频解码能力相关,所述目标画面分辨率与终端的视频处理能力相关;
向所述目标应用的应用服务器发送所述目标解码分辨率,以使所述应用服务器基于所述目标解码分辨率进行编码,得到编码视频流;
接收所述应用服务器发送的所述编码视频流;
基于所述编码视频流、所述目标解码分辨率以及所述目标画面分辨率,渲染视频画面。
另一方面,本申请实施例提供了一种视频画面的渲染装置,所述装置包括:
第一确定模块,用于确定目标应用下终端支持的最大解码分辨率,以及所述目标应用配置的最高画面分辨率;
第二确定模块,用于基于所述最大解码分辨率以及所述最高画面分辨率,确定视频解码采用的目标解码分辨率以及视频画面渲染采用的目标画面分辨率,所述目标画面分辨率大于或等于所述目标解码分辨率,所述目标解码分辨率目标画面分辨率与终端的视频解码能力相关,所述目标画面分辨率与终端的视频处理能力相关;
发送模块,用于向所述目标应用的应用服务器发送所述目标解码分辨率,以使所述应用服务器基于所述目标解码分辨率进行编码,得到编码视频流;
接收模块,用于接收所述应用服务器发送的所述编码视频流;
渲染模块,用于基于所述编码视频流、所述目标解码分辨率以及所述目标画面分辨率,渲染视频画面。
另一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的视频画面的渲染方法。
另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的视频画面的渲染方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的视频画面的渲染方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例中,在基于端云协同的方式在终端显示视频画面的过程中,首先在通过确定目标应用下终端支持的最大解码分辨率以及目标应用配置的最高画面分辨率,从而根据最大解码分辨率以及最高画面分辨率确定出终端适用的目标解码分辨率以及目标画面分辨率。从而使得服务器根据目标解码分辨率进行编码,在此过程中不仅考虑到当前目标应用下的终端的视频解码能力,同样考虑到目标应用下终端的画面渲染能力,从而使得终端在接收到编码视频流后充分利用视频解码能力以及画面渲染能力,为用户提供更高画面分辨率的视频画面,提升显示的目标应用画面的画质。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的实施例环境的示意图;
图2示出了本申请一个示例性实施例提供的视频画面渲染方法的流程图;
图3示出了本申请一个示例性实施例提供的视频处理过程的流程图;
图4示出了本申请一个示例性实施例提供的确定最大解码分辨率的流程图;
图5示出了本申请一个示例性实施例提供的视频画面的渲染过程流程图;
图6示出了本申请一个示例性实施例提供的确定目标画面分辨率以及确定目标解码分辨率的示意图;
图7示出了本申请一个示例性实施例提供的多端通信场景下的视频画面渲染过程的示意图;
图8示出了本申请一个示例性实施例提供的视频画面渲染装置的结构框图;
图9示出了本申请一个示例性实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云应用是云计算技术在应用层面的体现,云应用是直接面向用户解决实际问题的产品,云应用包括在线办公应用、地图导航应用、云游戏应用、云存储应用、云医疗应用以及云渲染应用等类型的应用。
其中,云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
端云协同,是指服务器端(云端)和用户端(终端)经过协商,协同工作提升视频画质/流畅度的手段,如协同指定或调整图像采集、视频编码、视频处理或者网络传输的策略,端云协同可应用于云游戏、云渲染以及实时通信等场景。
视频解码是视频编码的逆过程。视频编码过程中,通过压缩技术,将原始视频格式的文件转换成另一种视频格式文件,转化后的数据可称为码流。
在一些实施例中,云应用运行于服务器中,例如云游戏、云存储应用等,在服务器中对视频画面进行采样以及对采样得到的视频帧数据进行编码,得到编码视频流,从而将编码视频流发送至终端,由终端根据编码视频进行视频渲染。
在另一些实施例中,应用程序运行于终端,在运行过程中需要从服务器获取视频流,例如直播、视频会议以及视频通话应用等等。服务器接收视频数据发送终端发送的编码视频流后,再转发给视频接收终端,由视频接收终端进行视频画面的渲染。
相关技术中,在终端需要进行视频画面渲染时,服务器根据终端能够支持的解码分辨率,在终端的解码能力允许的情况下,采用相应的编码分辨率对采集到的视频帧数据进行编码,得到编码视频流。再将该编码视频流发送至终端,能够保证终端解码能力下能够流畅的进行视频画面的渲染。
然而,在相关技术提供的方案中,在服务器采用分辨率进行编码时并未考虑终端的视频渲染能力,由于硬件性能的限制,终端的解码能力较差,此时根据终端的解码能力进行视频画面的渲染会可能导致视频画面的质量较差,无法使视频画面达到终端能够显示的更高画质,并未充分利用终端的渲染能力以及计算能力。因此,本申请实施例提供的一种视频画面的渲染方法,能够考虑到终端进行视频画面渲染的能力,充分利用终端的视频渲染能力以及计算能力,提升视频画面的画质。
请参考图1,其示出了本申请一个示例性实施例提供的实施例环境的示意图,该实施环境中包括终端110和服务器120。其中,终端110与服务器120之间通过通信网络进行数据通信,可选地,通信网络可以是有线网络也可以是无线网络,且该通信网络可以是局域网、城域网以及广域网中的至少一种。
终端110是具有视频渲染功能的电子设备。该电子设备可以是智能手机、平板电脑、膝上便携式笔记本电脑等移动终端110,也可以是台式电脑、投影式电脑等终端110,本申请实施例对此不做限定。且终端110中运行的目标应用的应用类型可以为云游戏应用、云会议应用、即时通信应用,直播应用等等,本申请实施例对此不做限定。
服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请实施例中,服务器120为终端110中运行的目标应用提供后台服务器,可以向终端110传输目标应用对应的编码视频流,以及接收终端110发送的目标解码分辨率,从而基于目标解码分辨率对视频画面进行采样以及对视频帧数据进行编码。
如图1所示,在目标应用具有视频渲染需求,或者在该目标应用启动的情况下,终端110首先确定目标应用下终端110支持的最大解码分辨率以及目标应用配置的最高画面分辨率。随后根据最大解码分辨率以及最高画面分辨率确定终端110进行视频画面渲染过程中的目标解码分辨率以及目标画面分辨率。并且,终端110会将解码分辨率发送至服务器120,以使得服务器120能够基于目标解码分辨率进行视频编码,从而得到编码视频流再发送至终端110。最终终端110基于目标解码分辨率以及目标画面分辨率渲染视频画面。
请参考图2,其示出了本申请一个示例性实施例提供的视频画面渲染方法的流程图,该方法包括:
步骤201,确定目标应用下终端支持的最大解码分辨率,以及目标应用配置的最高画面分辨率。
可选的,目标应用可以为云应用,云应用运行于服务器中,终端作为显示云应用的用户画面的设备。可选的,目标应用不是云应用,服务器为目应用提供后台服务。目标应用具有视频显示功能,在视频显示功能启动时,终端从服务器获取所要显示的编码视频流。该编码视频流可能为从服务器采集的视频帧数据进行视频编码后得到的,也可能是由视频发送终端进行视频帧数据采集后进行视频编码再发送至服务器的。
其中,最大解码分辨率为终端中所安装的目标应用下终端支持的最大编码分辨率。可选的,目标应用配置有多种解码分辨率,且终端存在解码能力上限,目标应用支持的多种解码分辨率中可能配置有大于终端解码能力上限的解码分辨率,可能也存在小于终端解码能力上限的分辨率。则最大编码分辨率为当前目标应用下,在目标应用配置的解码分辨率中,终端的解码能力上限能够满足的解码分辨率。例如,终端配置的解码分辨率包括{3840×2160,2560×1440,1920×1080,1280×720,960×540}这五种分辨率,而终端的解码能力上限为1900×1000,则可以确定最大解码分辨率为1280×720。
其中,目标应用配置的最高分辨率是指目标应用配置的,在该目标应用下视频画面能够显示出的最大分辨率,例如,最高画面分辨率可以为4K。
步骤202,基于最大解码分辨率以及最高画面分辨率,确定视频解码采用的目标解码分辨率以及视频画面渲染采用的目标画面分辨率。
其中,目标画面分辨率大于或等于目标解码分辨率,目标解码分辨率与终端的视频解码能力相关,目标画面分辨率与终端的视频处理能力相关。在最高画面分辨率小于最大解码分辨率的情况下,终端的视频解码能力越强,则目标解码分辨率越高。在目标有应用配置的最高画面分辨率允许的情况下,终端的视频处理能力越强,则目标画面分辨率越大。
在一种可能的实施方式中,终端的视频解码能力较弱,则此时终端进行视频画面渲染的能力相对较强,则可以确定较大的目标画面分辨率,以呈现更好的视频画面质量。而在另一种可能的实施方式中,终端的视频解码能力较强,则此时终端进行视频渲染的能力相对较弱,则可以确定较小的视频解码分辨率即可满足视频画面分辨率的需求,从而降低终端采用较大解码分辨率对编码视频流进行编码产生过多的功耗。
目标解码分辨率以及视频画面分辨率是终端确定的,在当前场景下合适的解码分辨率以及视频画面分辨率,确定的目标解码分辨率以及视频画面分辨率能够使终端在进行视频画面渲染时尽可能提供更高的视频画质。
步骤203,向目标应用的应用服务器发送目标解码分辨率,以使应用服务器基于目标解码分辨率进行编码,得到编码视频流。
目标应用的应用服务器是指为该目标应用提供后台服务的服务器,例如在云游戏场景中,终端安装有目标应用的客户端,而该应用服务器为云游戏服务器,云游戏运行于云游戏服务器中。再例如,在直播场景中,终端安装有支持直播功能或者观看直播功能的目标应用,而应用服务器为直播服务器,直播服务器通过接收主播终端发送的视频数据,并将该视频数据下发至观众终端。
在一些实施例中,处于实时通讯场景,如直播以及视频通话等等,对于视频画面显示的延时要求较高,为提升视频编解码效率,降低视频画面显示的延时,终端采用的视频解码分辨率与服务器采用的视频编码分辨率相同,则终端在接收到编码视频流进行解码的过程中无需考虑进行分辨率的变换。因此,终端在确定目标解码分辨率后,将目标解码分辨率发送至服务器,以使得服务器采用该目标解码分辨率进行视频编码。
在该目标应用运行于应用服务器的情况下,通常需要先对视频图像进行采样,采样过程中会根据采样分辨率进行采样,并且对采样得到的视频帧数据进行预处理,即将视频帧数据不利于压缩的RGB(Red,Green,Blue,红,绿,蓝)信号转换为易于压缩的YUV信号。从而使服务器基于编码分辨率进行压缩编码。其中采样分辨率可能与编码分辨率相同,也可能与编码分辨率不同,在采样分辨率与编码分辨率相同的情况下,在进行视频编码时不必改变视频帧数据的分辨率,节约应用服务器的计算资源,因此采样分辨率与编码分辨率相同时最佳。
步骤204,接收应用服务器发送的编码视频流。
在应用服务器对视频帧数据进行编码后,会通过通信连接向终端发送编码视频流,以使终端基于该编码视频流渲染视频画面。
步骤205,基于编码视频流、目标解码分辨率以及目标画面分辨率,渲染视频画面。
终端在接收到编码视频流后,根据已确定的目标解码分辨率以及目标画面分辨率,对编码视频流进行解码以及渲染。解码后的视频帧的分辨率与目标解码分辨率相同,渲染后在终端显示的视频画面的分辨率与目标画面分辨率相同。
请参考图3,其示出了本申请一个示例性实施例提供的视频处理过程的流程图,首先基于采集分辨率进行图像采集,得到视频帧数据,再经过预处理将模拟信号转换为数字信号,以及将RGB信号转换为YUV信号。随后再通过视频编码,对视频帧数据进行压缩,在视频编码过程中包括预测、变换以及量化以及熵编码等过程,预测用于去除视频帧数据的空间冗余以及时间冗余,包括帧内预测以及帧间预测;变换用于去除空间冗余;量化用于去除视觉冗余,通过降低图像质量提高压缩比;而熵编码用于去除编码冗余,可以通过变长编、算数编码实现。在进行视频编码后,即得到编码视频流(码流),服务器将编码视频流发送至终端,经过视频编码的逆过程完成视频解码(熵解码、反量化、反变换以及预测),得到视频帧数据,终端对视频帧数据进行图像处理,最终经过渲染显示于终端的显示器。
综上所述,本申请实施例中,在基于端云协同的方式在终端显示视频画面的过程中,首先在通过确定目标应用下终端支持的最大解码分辨率以及目标应用配置的最高画面分辨率,从而根据最大解码分辨率以及最高画面分辨率确定出终端适用的目标解码分辨率以及目标画面分辨率。从而使得服务器根据目标解码分辨率进行编码,在此过程中不仅考虑到当前目标应用下的终端的视频解码能力,同样考虑到目标应用下终端的画面渲染能力,从而使得终端在接收到编码视频流后充分利用视频解码能力以及画面渲染能力,为用户提供更高画面分辨率的视频画面,提升显示的目标应用画面的画质。
本申请实施例中,在确定目标解码分辨率以及目标画面分辨率之前,终端首先需要确定最大解码分辨率以及最高画面分辨率。其中最高画面分辨率是目标应用配置的,因此,终端可以直接获取到目标应用配置的最高画面分辨率。而对于最大解码分辨率,与终端的视频解码能力相关,因此终端基于自身的视频解码性能,从目标应用下至少两个候选解码分辨率中确定最大解码分辨率,终端的视频解码性能所支持的解码分辨率大于或等于最大解码分辨率。其中,视频解码性能可能为终端通过硬件解码的性能,视频解码性能主要受到终端的硬件性能的影响,且该视频解码性能也可能是指终端通过软件解码的视频解码性能,视频解码性能受到计算机的计算能力影响。
在一种可能的实施方式中,目标应用提供了至少一个候选解码分辨率,在候选解码分辨率中可能存在候选解码分辨率较大,高于终端的解码性能,也可能存在候选解码分辨率较小,采用较小的候选解码分辨率会使终端的解码性能造成浪费,并且影响最终显示的视频画面的画质,因此,需要根据终端的解码性能确定出最大解码分辨率。
可选的,在目标应用程序支持n种候选解码分辨率的情况下,n个候选解码分辨率分别为{W1×H1,W2×H2,...,Wn×Hn},其中,W表示画面的宽度,H表示画面的高度。在确定最大解码分辨率时,需要先对最大解码分辨率进行初始化,随后,再一次判断终端是否支持不同的候选解码分辨率。
可选的,终端可以先从最大的候选解码分辨率进行判断,在采用硬件解码的情况下,终端调用视频解码器对应的接口,在接口调用成功的情况下,说明中终端能解码该大小的码流,确定该候选解码分辨率为最大解码分辨率。而在接口返回调用失败的情况下,说明终端不能解码该大小的码流,按照候选解码分辨率由大至小的顺序,依次调用相应大小的解码器,并根据调用情况确定最大解码分辨率。
可选的,在采用软件进行视频解码的情况下,终端可以直接将软件设置的解码分辨率上限与候选解码分辨率进行对比,从而确定终端能够支持的候选解码分辨率作为最大解码分辨率。
示意性的,请参考图4,其示出了本申请一个示例性实施例提供的确定最大解码分辨率的流程图。首先输入目标应用配置的分辨率数量n,再由大到小一次输入n个候选解码分辨率{W1×H1,W2×H2,...,Wn×Hn},设置一个变量i代表循环次数,并且对最大解码分辨率进行初始化,使其等于一个较小的基础分辨率,这个基础分辨率是终端一定能够解码的分辨率,其值可能小于{W1×H1,W2×H2,...,Wn×Hn}中的任意分辨率。随后开始尝试开启Wi×Hi分辨率的解码器,在解码器开启成功的情况下,确定Wi×Hi为最大解码分辨率,在解码器开启失败的情况下,令i=i+1,随后尝试开启Wi+1×Hi+1分辨率的解码器,重复该循环的过程即可确定出最大解码分辨率。
例如,在n=5的情况下,即目标应用配置有5种候选解码分辨率为{3840×2160,2560×1440,1920×1080,1280×720,960×540},候选解码分辨率大小介于540p~4K。假设终端的解码能力上限分辨率为2500×1400,随后,令i初始化为1,最大解码分辨率初始化为480p,首先确定当前i小于n,尝试开启3840×2160分辨率大小的解码器,由于终端的解码能力上限分辨率为2500×1400,则3840×2160分辨率大小的解码器必然开启失败。令i=i+1=2,小于n,尝试开启2560×1440分辨率大小的解码器开启失败,令i=i+1=3,小于n,尝试开启1280×720分辨率大小的解码器。由于终端的解码能力上限分辨率为2500×1400,则1280×720分辨率大小的解码器能够开启成功,从而确定最大解码分辨率为1280×720。
本申请实施例中,首先确定目标应用下终端支持的最大解码分辨率,有利于基于最大解码分辨率以及最高画面分辨率确定目标解码分辨率以及目标画面分辨率,为后续计算提供前提条件。
本申请实施例中,由于不同终端的硬件性能不同,则导致不同终端的解码能力也不同,因此,对于不同终端,目标应用下能够支持的最大解码分辨率也可能不同。由于在不同终端中,目标应用提供的最高画面分辨率均相同,则对于不同终端,最大解码分辨率与最高画面分辨率之间的大小关系也可能不同,因此,可能存在以下两种情况:
一、最高画面分辨率小于最大解码分辨率
在最大解码分辨率大于最高画面分辨率的情况下,将最高画面分辨率确定为目标画面分辨率,以及将最高画面分辨率确定为目标解码分辨率。
即在最大解码分辨率大于最高画面分辨率的情况下,最终呈现的视频画面的分辨率的最大值为最高画面分辨率,因此,在对编码视频流进行解码时,无需考虑采用较大分辨率进行解码,可以直接采用与最高画面分辨率相同的分辨率进行解码,从而在进行视频画面渲染的过程中无需再对分辨率进行更改,降低计算时间,节约计算资源。
二、最高画面分辨率大于最大解码分辨率
在最高画面分辨率大于最大解码分辨率的情况下,则再用最大解码分辨率对编码视频解码后,终端仍然可以采用更高的画面分辨率进行画面渲染,以获取更高的画面质量。因此,终端在最高画面辨率大于最大解码分辨率的情况下,将最大解码分辨率确定为目标解码分辨率,并且基于最大解码分辨率以及最高画面分辨率,从目标应用提供的候选画面分辨率中确定目标画面分辨率。
可选的,从目标应用提供的候选画面分辨率确定最大的候选画面分辨率为目标画面分辨率,能够使终端显示的视频画面具有最高的画面分辨率。相对应的,采用最高画面分辨率进行视频画面渲染对于终端的渲染能力以及计算能力要求较高。并且,由于最高画面分辨率大于最大解码分辨率,则终端的解码能力较弱,为使得终端最终呈现出较高画质的视频画面,则可以考虑采用超分辨率的方式对最大解码分辨率的视频帧数据进行超分处理,从而得到较高画质的视频画面,则目标画面分辨率应当大于或等于目标解码分辨率。
请参考图5,其示出了本申请一个示例性实施例提供的视频画面的渲染过程流程图,该过程由终端实现,该过程包括如下步骤:
步骤501,确定目标应用下终端支持的最大解码分辨率,以及目标应用配置的最高画面分辨率。
步骤501的具体实施方式可以参照上述步骤201,本实施例对此不进行赘述。
步骤502,将最大解码分辨率确定为目标解码分辨率。
在最大解码分辨率小于最高画面分辨率的情况下,可以将最大解码分辨率确定为目标解码分辨率,有利于减小进行超分处理的计算量。
步骤503,基于最大解码分辨率以及最高画面分辨率,确定候选画面分辨率。
其中,最高画面分辨率为候选画面分辨率的最大值,最大解码分辨率为候选画面分辨率的最小值。
在一种可能的实施方式中,由于最大解码分辨率最高画面分辨率,则终端基于最高画面分辨率以及最大解码分辨率,将目标应用提供的画面分辨率中大于最大解码分辨率的画面分辨率确定为候选画面分辨率。例如,目标应用提供的画面分辨率包括{3840x2160,2560x1440,1920x1080,1280x720,960×540},最高画面渲染分辨率为3840×2160以及最大解码分辨率为1280x720,则可以确定候选画面分辨率包括{3840x2160,2560x1440,1920x1080,1280x720},其中候选画面分辨率的最大值为最高画面渲染分辨率,候选画面分辨率的最小值为最大解码分辨率。
在一些实施例中,由于目标应用提供的候选分辨率之间的差值过大,而在基于超分时长确定目标画面分辨率的过程中,可能会出现确定出的目标画面分辨率与满足超分时长的情况下终端能够达到的画面分辨率潮剧较大的情况,则未能充分利用终端的计算能力以及视频渲染能力。
因此,在另一种可能的实施方式中,终端基于最大解码分辨率以及超分时长上限通过分辨率预测模型确定超分范围,再基于第一粒度,在超分范围内设置候选画面分辨率,以及基于第二粒度,在超分范围外设置候选画面分辨率,第一粒度小于第二粒度。
其中,对最大解码分辨率的样本视频画面进行超分处理,得到超分范围内分辨率的样本视频画面的超分时长小于超分时长上限。超分时长上限是终端在当前样本视频帧率下能够保证样本视频画面流畅显示的时长上限,由于视频解码与视频画面渲染在两个不同的线程中进行,因此,在确定超分时长上线的过程中无需考虑终端进行视频解码的时长。
示意性的,例如样本视频画面的帧率为60fps(Frames Per Second,每秒帧数),则超分时长上限为(1000/60fps)ms,即渲染一帧视频画面的时长,即终端对样本视频画面进行超分处理的最大时长越为16ms。
在确定出超分时长上限后,终端可以将最大解码分辨率以及超分时长上限输入分辨率预测模型,从而确定超分范围。其中,该分辨率预测模型可以为卷积神经网络、前馈型神经网络等等,本实施例对分辨率预测模型的类型以及具体结构不进行限定。该分辨率预测模型可以基于监督学习的方式进行训练,在训练过程中将样本最大解码分辨率以及样本超分时长,得到训练预估结果,将样本最大解码分辨率以及样本超分时长对应的样本超分范围作为训练预估结果的监督,训练该分辨率预测模型。
在确定超分范围后,在目标应用提供的画面分辨率,且大于最大解码分辨率的情况下,基于第一粒度在超分范围内设置候选画面分辨率,基于第二粒度在超分范围之外设置候选画面分辨率。第一粒度小于第二粒度,则对于相同的画面分辨率范围内,采用第一粒度设置的候选画面分辨率高于采用第二粒度设置的候选画面分辨率。
例如,目标应用提供的画面分辨率中大于最大解码分辨率的画面分辨率包括{3840×2160,2560×1440,1920×1080,1280×720}。基于最大解码分辨率以及超分时长上限预测出的超分范围为分辨率小于2500×1400,则在超分范围内,即1400p-720p之间基于第一粒度设置候选画面分辨率,在超分范围外,即4k-2k之间基于第二粒度设置候选画面分辨率。则最终确定的候选分辨率可能为{3840×2160,2560×1440,2130×120,1970×110,1920×108,1600×900,1370×770,1280×720}。
步骤504,基于不同候选画面分辨率对应的超分时长,从候选画面分辨率中确定目标画面分辨率。
其中,超分时长为对最大解码分辨率的样本视频画面进行超分处理,得到不同候选画面分辨率的样本视频画面,所需要的超分处理的时长。
不同候选画面分辨率不同,因此将最大解码分辨率超分至不同候选画面分辨率的超分时长也不同。由于视频画面的播放速度由帧率进行控制,则进行超分的超分时长应当小于视频画面的切换时间。
可选的,存在n种候选画面分辨率,第一候选画面分辨率为最高画面分辨率,第n候选画面分辨率为最大解码分辨率,且第i候选画面分辨率大于第i+1候选画面分辨率。终端在确定目标画面分辨率的过程中对最大解码分辨率的样本视频画面进行超分处理,得到第i候选画面分辨率的样本视频画面。在进行超分处理的平均超分时长小于时长阈值的情况下,终端将第i候选画面分辨率确定为目标画面分辨率。在进行超分处理的平均超分时长大于时长阈值的情况下,对最大解码分辨率的样本视频画面进行超分处理,得到第i+1候选画面分辨率的样本视频画面。
其中,样本视频画面可能为终端安装应用程序时存储至本地的不同分辨率的样本视频画面,也可能是在确定目标画面分辨率的过程中终端向服务器请求获取的最大解码分辨率的视频画面。平均超分处理时长可能为一定帧数的样本视频画面的超分时长的平均值,也可能是一定时长内样本视频画面的超分时长的平均值。
可选的,终端基于目标应用进行视频画面渲染采用的视频帧率确定单帧渲染时长,基于单帧渲染时长确定超分处理对应的时长阈值。
其中,时长阈值小于或等于超分时长上限(单帧渲染时长),在时长阈值等于超分时长上限(单帧渲染时长)的情况下,则对样本视频画面进行超分的速度刚好能够满足当前帧率,而时长阈值小于超分时长上限(单帧渲染时长)的情况下,对样本视频画面进行超分的速度较快,能够很好的适应当前帧率。
需要说明的是,本申请实施例中在确定目标画面分辨率的过程中所采用的帧率与终端接收到编码视频流解码后,实际应用的视频帧率相同。
在另一种可能的实施方式中,由于对视频画面进行超分处理需要消耗终端的计算资源,以及可能产生较大的延时。并且,对于终端显示的视频画面,不同视频画面之间的分辨率小于分辨率差异的情况下,其对应的视频画面的画面差异小于画面差异阈值,即人眼不会捕捉到不同视频画面之间的差异。因此,在最大解码分辨率与最高画面分辨率的差值小于分辨率差值阈值的情况下,将最大解码分辨率确定为目标画面分辨率。例如,最大解码分辨率为3820×2160,最高画面分辨率为3840×2160,判断二者的分辨率差值为20像素,通过人眼难以感知到视频画面中20像素的差异,则可以将最大解码分辨率确定为目标画面分辨率,能够省略对视频画面进行超分处理的过程,降低视频渲染时延。
其中,在至少两个画面分辨率的分辨率差异小于分辨率差异阈值的情况下,至少两个画面分辨率对应的视频画面的画面差异小于画面差异阈值。
步骤505,基于目标解码分辨率对编码视频流进行解码,得到视频帧数据。
其中,基于目标解码分辨率对编码视频流进行解码,得到的视频帧数据的分辨率为目标解码分辨率。
进行视频解码的过程可以参照上述实施例中步骤205,本实施例在此不做赘述。
步骤506,基于目标画面分辨率对视频帧数据进行超分处理,得到目标画面分辨率的视频画面。
超分处理是指图像超分辨率,将视频帧数据的分辨率放大。
可选的,采用插值、重构获取浅层学习的方式进行超分处理,其中,差值包括最近邻插值、双线性插值和双三次插值等;重构方法包括频域方法和空域方法;浅层学习主要包括样本学习或者系数编码等等。
可选的,采用深度学习的方式进行超分处理,深度学习的方法可以为基于卷积神经网络的超分处理、基于残差网络的超分处理以及基于生成对抗网络的超分处理等等。
需要说明的是,本申请实施例对于进行超分处理的具体方式不进行限定。
本申请实施例中,根据终端支持的最大解码分辨率以及目标应用提供的最高画面分辨率,确定两种不同情况下,终端所要采用的目标解码分辨率以及目标画面分辨率。在当前终端的解码性能较强时,可以保证终端的目标解码分辨率、目标画面分辨率,以及服务器的编码分辨率、采集分辨率均设置为较大水平,即等于最高画面分辨率。此时终端无需对解码后的视频帧数据进行超分处理,即可为用户提供最高画面分辨率的视频画面。而在终端的解码性能较差时,可以通过动态的超分处理的方式,基于超分时长以及时长阈值确定目标画面分辨率,能够在终端解码能力较差的情况下挖掘终端的视频处理能力,此时终端的目标解码分辨率与服务器的编码分辨率以及采样分辨率相同,且小于或等于最高画面分辨率,能够在满足视频帧率的情况下,在终端显示尽可能高画质的视频画面。
请参考图6,其示出了本申请一个示例性实施例提供的确定目标画面分辨率以及确定目标解码分辨率的示意图。首先,确定目标应用提供的最高画面分辨率,候选画面分辨率{W1×H1,W2×H2,...,Wn×Hn}以及确定目标应用的视频渲染帧率。随后,在确定目标画面分辨率以及目标解码分辨率之前,终端基于基础解码分辨率以及基础画面分辨率,对目标解码分辨率以及目标画面分辨率进行初始化,其中,基础解码分辨率是终端支持的最低解码分辨率,基础画面分辨率是指终端支持的最低画面分辨率。并且设置变量i表征进行判断的次数,将i初始化为1。随后,终端判断最大解码分辨率以及最高画面分辨率,在最大解码分辨率大于最高画面分辨率的情况下,直接将最高画面分辨率确定为目标解码分辨率以及目标画面分辨率。在最大解码分辨率小于最高画面分辨率的情况下,将最大解码分辨率的视频画面超分辨率至Wi×Hi,并记录平均超分时长。随后,判断平均超分时长是否满足时长阈值,在平均超分时长小于时长阈值的情况下,即可确定Wi×Hi为目标画面分辨率,并且将最大解码分辨率确定为目标解码分辨率。在平均超分时长大于时长阈值的情况下,即平均超分时长不满足时长阈值,则令i=i+1,并判断最大解码分辨率的视频画面超分辨率至Wi+1×Hi+1的平均超分时长是否满足时长阈值,直至确定目标画面分辨率。
请参考图7,其示出了本申请一个示例性实施例提供的多端通信场景下的视频画面渲染方法。其中包括视频发送终端、应用服务器以及四个视频接收端。在应用服务器进行视频发送以及接收时,为节省服务器的计算资源,可以根据视频接收端的目标解码分辨率,向视频发送端发送目标解码分辨率,从而使得视频发送端对视频画面进行采样后直接按照目标解码分辨率进行编码,再将编码得到的编码视频流发送至应用服务器,从而使得应用服务器能够直接将编码视频流分发至各个视频接收端。
如图7所示,其中第一视频接收端至第四视频接收端确定的目标解码分辨率分别为1080p、1080p、1080p以及720p,视频接收端分别将目标解码分辨率发送应用服务器。由于第一视频接收端至第三视频接收端的目标解码分辨率分均为1080p,只有第四视频接收端的目标解码分辨率为720p,则应用服务器将1080P作为目标编码分辨率,并发送至视频发送端。视频发送端根据接收到的目标编码分辨率对视频帧数据进行编码,得到编码数据流,并将编码数据流发送至应用服务器。应用服务器在接收到编码数据流后,直接分发至第一视频接收端至第三视频接收端,并且,应用服务器基于1080p的解码分辨率对编码分辨率进行解码后,再基于720p的编码分辨率对视频帧数据进行编码,得到720p的编码视频流,再将该编码视频流发送至第四视频接收端。能够最大程度上避免服务器进行频繁的视频解码以及视频编码,有利于节约服务器的计算资源。
请参考图8,其示出了本申请一个示例性实施例提供的视频画面渲染装置的结构框图,如图8所示,该装置包括:
第一确定模块801,用于确定目标应用下终端支持的最大解码分辨率,以及所述目标应用配置的最高画面分辨率;
第二确定模块802,用于基于所述最大解码分辨率以及所述最高画面分辨率,确定视频解码采用的目标解码分辨率以及视频画面渲染采用的目标画面分辨率,所述目标画面分辨率大于或等于所述目标解码分辨率,所述目标解码分辨率目标画面分辨率与终端的视频解码能力相关,所述目标画面分辨率与终端的视频处理能力相关;
发送模块803,用于向所述目标应用的应用服务器发送所述目标解码分辨率,以使所述应用服务器基于所述目标解码分辨率进行编码,得到编码视频流;
接收模块804,用于接收所述应用服务器发送的所述编码视频流;
渲染模块805,用于基于所述编码视频流、所述目标解码分辨率以及所述目标画面分辨率,渲染视频画面。
可选的,所述第二确定模块802,用于:
在所述最高画面辨率大于所述最大解码分辨率的情况下,将所述最大解码分辨率确定为所述目标解码分辨率;
基于所述最大解码分辨率以及所述最高画面分辨率,从所述目标应用提供的候选画面分辨率中确定所述目标画面分辨率。
可选的,所述第二确定模块802,用于:
基于所述最大解码分辨率以及所述最高画面分辨率,确定所述候选画面分辨率,所述最高画面分辨率为所述候选画面分辨率的最大值,所述最大解码分辨率为所述候选画面分辨率的最小值;
基于不同候选画面分辨率对应的超分时长,从所述候选画面分辨率中确定所述目标画面分辨率。
可选的,存在n种候选画面分辨率,第一候选画面分辨率为所述最高画面分辨率,第n候选画面分辨率为所述最大解码分辨率,且第i候选画面分辨率大于第i+1候选画面分辨率;
所述第二确定模块802,用于:
对所述最大解码分辨率的样本视频画面进行超分处理,得到第i候选画面分辨率的所述样本视频画面;
在进行所述超分处理的平均超分时长小于时长阈值的情况下,将所述第i候选画面分辨率确定为所述目标画面分辨率;
在进行所述超分处理的所述平均超分时长大于所述时长阈值的情况下,对所述最大解码分辨率的所述样本视频画面进行所述超分处理,得到所述第i+1候选画面分辨率的所述样本视频画面。
可选的,所述第二确定模块802,用于:
基于所述目标应用进行视频画面渲染采用的视频帧率确定单帧渲染时长;
基于所述单帧渲染时长确定所述超分处理对应的所述时长阈值。
可选的,所述第二确定模块802,用于:
基于所述最高画面分辨率以及所述最大解码分辨率,将所述目标应用提供的画面分辨率中大于所述最大解码分辨率的所述画面分辨率确定为所述候选画面分辨率。
可选的,所述第二确定模块802,用于:
基于所述最大解码分辨率以及超分时长上限,通过分辨率预测模型确定超分范围,其中,对所述最大解码分辨率的样本视频画面进行超分处理,得到所述超分范围内分辨率的所述样本视频画面的超分时长小于所述超分时长上限;
基于第一粒度,在所述超分范围内设置所述候选画面分辨率,以及基于第二粒度,在所述超分范围外设置所述候选画面分辨率,所述第一粒度小于所述第二粒度。
可选的,所述第二确定模块802,用于在所述最大解码分辨率与所述最高画面分辨率的差值小于分辨率差值阈值的情况下,将所述最大解码分辨率确定为所述目标画面分辨率,其中,在至少两个画面分辨率的分辨率差异小于所述分辨率差异阈值的情况下,至少两个所述画面分辨率对应的视频画面的画面差异小于画面差异阈值。
可选的,所述第二确定模块802,用于在所述最大解码分辨率大于所述最高画面分辨率的情况下,将所述最高画面分辨率确定为所述目标画面分辨率,以及将所述最高画面分辨率确定为所述目标解码分辨率。
可选的,所述第一确定模块801,用于基于所述终端的视频解码性能,从所述目标应用下至少两个候选解码分辨率中确定所述最大解码分辨率,所述终端的所述视频解码性能所支持的解码分辨率大于或等于所述最大解码分辨率。
可选的,所述装置还包括:
初始化模块,用于基于基础解码分辨率以及基础画面分辨率,对所述目标解码分辨率以及所述目标画面分辨率进行初始化,所述基础解码分辨率是所述终端支持的最低解码分辨率,所述基础画面分辨率是指所述终端支持的最低画面分辨率。
可选的,所述渲染模块805,用于:
基于所述目标解码分辨率对所述编码视频流进行解码,得到视频帧数据;
基于所述目标画面分辨率对所述视频帧数据进行超分处理,得到所述目标画面分辨率的所述视频画面。
综上所述,本申请实施例中,在基于端云协同的方式在终端显示视频画面的过程中,首先在通过确定目标应用下终端支持的最大解码分辨率以及目标应用配置的最高画面分辨率,从而根据最大解码分辨率以及最高画面分辨率确定出终端适用的目标解码分辨率以及目标画面分辨率。从而使得服务器根据目标解码分辨率进行编码,在此过程中不仅考虑到当前目标应用下的终端的视频解码能力,同样考虑到目标应用下终端的画面渲染能力,从而使得终端在接收到编码视频流后充分利用视频解码能力以及画面渲染能力,为用户提供更高画面分辨率的视频画面,提升显示的目标应用画面的画质。
请参考图9,其示出了本申请一个示例性实施例提供的终端900的结构框图。该终端900可以是便携式移动终端,比如:智能手机、平板电脑、动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III,MP3)播放器、动态影像专家压缩标准音频层面4(Moving Picture Experts Group Audio Layer IV,MP4)播放器。终端900还可能被称为用户设备、便携式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、9核心处理器等。处理器901可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请实施例提供的视频画面的渲染方法。
在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。
外围设备接口903可被用于将输入/输出(Input/Output,I/O)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述任一实施例所述的视频画面的渲染方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面提供的视频画面的渲染方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述任一方法实施例所述的视频画面的渲染方法。
可选地,该计算机可读存储介质可以包括:ROM、RAM、固态硬盘(Solid StateDrives,SSD)或光盘等。其中,RAM可以包括电阻式随机存取记忆体(Resistance RandomAccess Memory,ReRAM)和动态随机存取存储器(Dynamic Random Access Memory,DRAM)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
且本申请在收集用户的相关数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。且本文中提及的“第一”、“第二”等用于区别类似对象,而并不用于限定特定的顺序或先后次序。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的可选的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (16)

1.一种视频画面的渲染方法,其特征在于,所述方法包括:
确定目标应用下终端支持的最大解码分辨率,以及所述目标应用配置的最高画面分辨率;
基于所述最大解码分辨率以及所述最高画面分辨率,确定视频解码采用的目标解码分辨率以及视频画面渲染采用的目标画面分辨率,所述目标画面分辨率大于或等于所述目标解码分辨率,所述目标解码分辨率与所述终端的视频解码能力相关,所述目标画面分辨率与所述终端的视频处理能力相关;
向所述目标应用的应用服务器发送所述目标解码分辨率,以使所述应用服务器基于所述目标解码分辨率率进行编码,得到编码视频流;
接收所述应用服务器发送的所述编码视频流;
基于所述编码视频流、所述目标解码分辨率以及所述目标画面分辨率,渲染视频画面。
2.根据权利要求1所述的方法,其特征在于,所述基于所述最大解码分辨率以及所述最高画面分辨率,确定视频解码采用的目标解码分辨率以及视频画面渲染采用的目标画面分辨率,包括:
在所述最高画面分辨率大于所述最大解码分辨率的情况下,将所述最大解码分辨率确定为所述目标解码分辨率;
基于所述最大解码分辨率以及所述最高画面分辨率,从所述目标应用提供的候选画面分辨率中确定所述目标画面分辨率。
3.根据权利要求2所述的方法,其特征在于,所述高画面分辨率,包括:
基于所述最大解码分辨率以及所述最高画面分辨率,确定所述候选画面分辨率,所述最高画面分辨率为所述候选画面分辨率的最大值,所述最大解码分辨率为所述候选画面分辨率的最小值;
基于不同候选画面分辨率对应的超分时长,从所述候选画面分辨率中确定所述目标画面分辨率。
4.根据权利要求3所述的方法,其特征在于,存在n种候选画面分辨率,第一候选画面分辨率为所述最高画面分辨率,第n候选画面分辨率为所述最大解码分辨率,且第i候选画面分辨率大于第i+1候选画面分辨率;
所述基于不同候选画面分辨率对应的超分时长,从所述候选画面分辨率中确定所述目标画面分辨率,包括:
对所述最大解码分辨率的样本视频画面进行超分处理,得到第i候选画面分辨率的所述样本视频画面;
在进行所述超分处理的平均超分时长小于时长阈值的情况下,将所述第i候选画面分辨率确定为所述目标画面分辨率;
在进行所述超分处理的所述平均超分时长大于所述时长阈值的情况下,对所述最大解码分辨率的所述样本视频画面进行所述超分处理,得到所述第i+1候选画面分辨率的所述样本视频画面。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于所述目标应用进行视频画面渲染采用的视频帧率确定单帧渲染时长;
基于所述单帧渲染时长确定所述超分处理对应的所述时长阈值。
6.根据权利要求3所述的方法,其特征在于,所述基于所述最大解码分辨率以及所述最高画面分辨率,确定所述候选画面分辨率,包括:
基于所述最高画面分辨率以及所述最大解码分辨率,将所述目标应用提供的画面分辨率中大于所述最大解码分辨率的所述画面分辨率确定为所述候选画面分辨率。
7.根据权利要求3所述的方法,其特征在于,所述基于所述最大解码分辨率以及所述最高画面分辨率,确定所述候选画面分辨率,包括:
基于所述最大解码分辨率以及超分时长上限,通过分辨率预测模型确定超分范围,其中,对所述最大解码分辨率的样本视频画面进行超分处理,得到所述超分范围内分辨率的所述样本视频画面的超分时长小于所述超分时长上限;
基于第一粒度,在所述超分范围内设置所述候选画面分辨率,以及基于第二粒度,在所述超分范围外设置所述候选画面分辨率,所述第一粒度小于所述第二粒度。
8.根据权利要求2所述的方法,其特征在于,所述基于所述最大解码分辨率以及所述最高画面分辨率,从所述目标应用提供的候选画面分辨率中确定所述目标画面分辨率,包括:
在所述最大解码分辨率与所述最高画面分辨率的差值小于分辨率差值阈值的情况下,将所述最大解码分辨率确定为所述目标画面分辨率,其中,在至少两个画面分辨率的分辨率差异小于所述分辨率差异阈值的情况下,至少两个所述画面分辨率对应的视频画面的画面差异小于画面差异阈值。
9.根据权利要求1所述的方法,其特征在于,所述基于所述最大解码分辨率以及所述最高画面分辨率,确定视频解码采用的目标解码分辨率以及视频画面渲染采用的目标画面分辨率,包括:
在所述最大解码分辨率大于所述最高画面分辨率的情况下,将所述最高画面分辨率确定为所述目标画面分辨率,以及将所述最高画面分辨率确定为所述目标解码分辨率。
10.根据权利要求1所述的方法,其特征在于,所述确定目标应用下所述终端支持的最大解码分辨率,包括:
基于所述终端的视频解码性能,从所述目标应用下至少两个候选解码分辨率中确定所述最大解码分辨率,所述终端的所述视频解码性能所支持的解码分辨率大于或等于所述最大解码分辨率。
11.根据权利要求1所述的方法,其特征在于,所述基于所述最大解码分辨率以及所述最高画面分辨率,确定视频解码采用的目标解码分辨率以及视频画面渲染采用的目标画面分辨率之前,所述方法还包括:
基于基础解码分辨率以及基础画面分辨率,对所述目标解码分辨率以及所述目标画面分辨率进行初始化,所述基础解码分辨率是所述终端支持的最低解码分辨率,所述基础画面分辨率是指所述终端支持的最低画面分辨率。
12.根据权利要求1所述的方法,其特征在于,所述基于所述编码视频流、所述目标解码分辨率以及所述目标画面分辨率,渲染视频画面,包括:
基于所述目标解码分辨率对所述编码视频流进行解码,得到视频帧数据;
基于所述目标画面分辨率对所述视频帧数据进行超分处理,得到所述目标画面分辨率的所述视频画面。
13.一种视频画面的渲染装置,其特征在于,所述装置包括:
第一确定模块,用于确定目标应用下终端支持的最大解码分辨率,以及所述目标应用配置的最高画面分辨率;
第二确定模块,用于基于所述最大解码分辨率以及所述最高画面分辨率,确定视频解码采用的目标解码分辨率以及视频画面渲染采用的目标画面分辨率,所述目标画面分辨率大于或等于所述目标解码分辨率,所述目标解码分辨率目标画面分辨率与终端的视频解码能力相关,所述目标画面分辨率与终端的视频处理能力相关;
发送模块,用于向所述目标应用的应用服务器发送所述目标解码分辨率,以使所述应用服务器基于所述目标解码分辨率进行编码,得到编码视频流;
接收模块,用于接收所述应用服务器发送的所述编码视频流;
渲染模块,用于基于所述编码视频流、所述目标解码分辨率以及所述目标画面分辨率,渲染视频画面。
14.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至12任一所述的视频画面的渲染方法。
15.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至12任一所述的视频画面的渲染方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令以实现如权利要求1至12任一所述的视频画面的渲染方法。
CN202311258319.XA 2023-09-27 2023-09-27 视频画面的渲染方法、装置、终端、存储介质及程序产品 Pending CN117336531A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311258319.XA CN117336531A (zh) 2023-09-27 2023-09-27 视频画面的渲染方法、装置、终端、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311258319.XA CN117336531A (zh) 2023-09-27 2023-09-27 视频画面的渲染方法、装置、终端、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN117336531A true CN117336531A (zh) 2024-01-02

Family

ID=89289572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311258319.XA Pending CN117336531A (zh) 2023-09-27 2023-09-27 视频画面的渲染方法、装置、终端、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN117336531A (zh)

Similar Documents

Publication Publication Date Title
CN111681167B (zh) 画质调整方法和装置、存储介质及电子设备
CN110557649B (zh) 直播交互方法、直播系统、电子设备及存储介质
CN112533059B (zh) 图像渲染方法、装置、电子设备以及存储介质
CN112714320B (zh) 一种解码方法、解码设备及计算机可读存储介质
CN113301355B (zh) 视频传输、直播与播放方法、设备及存储介质
CN111970565A (zh) 视频数据处理方法、装置、电子设备及存储介质
CN113747160B (zh) 视频编码配置方法、装置、设备及计算机可读存储介质
CN113973224B (zh) 媒体信息的传输方法、计算设备及存储介质
CN113286146B (zh) 媒体数据处理方法、装置、设备以及存储介质
US20230388526A1 (en) Image processing method and apparatus, computer device, storage medium and program product
US20220148133A1 (en) Image display control device, transmitting device, image display control method, and program
US20220239920A1 (en) Video processing method, related apparatus, storage medium, and program product
CN117336531A (zh) 视频画面的渲染方法、装置、终端、存储介质及程序产品
CN110784731A (zh) 一种数据流转码方法、装置、设备及介质
CN114938461A (zh) 视频处理方法、装置、设备及可读存储介质
CN116708793B (zh) 视频的传输方法、装置、设备及存储介质
JP2018514133A (ja) データ処理方法および装置
CN117291810B (zh) 视频帧的处理方法、装置、设备及存储介质
JP2005341093A (ja) コンテンツ適応化装置、コンテンツ適応化システム、コンテンツ適応化方法
CN110798715A (zh) 基于图像串的视频播放方法及系统
CN114640849B (zh) 直播视频编码方法、装置、计算机设备及可读存储介质
CN115550690B (zh) 帧率调整方法、装置、设备及存储介质
CN110662060B (zh) 视频编码方法和装置、视频解码方法和装置及存储介质
CN117149123A (zh) 数据处理方法、装置、电子设备
CN116016957A (zh) 一种视频处理方法、装置及计算机设备、存储介质

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