CN116567296B - 视频画面处理方法、装置、计算机设备和存储介质 - Google Patents
视频画面处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116567296B CN116567296B CN202310843668.1A CN202310843668A CN116567296B CN 116567296 B CN116567296 B CN 116567296B CN 202310843668 A CN202310843668 A CN 202310843668A CN 116567296 B CN116567296 B CN 116567296B
- Authority
- CN
- China
- Prior art keywords
- rendering
- picture
- video
- complexity
- transmission 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000009877 rendering Methods 0.000 claims abstract description 334
- 230000005540 biological transmission Effects 0.000 claims abstract description 234
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000012545 processing Methods 0.000 claims abstract description 66
- 230000008569 process Effects 0.000 claims abstract description 48
- 238000004806 packaging method and process Methods 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000003139 buffering effect Effects 0.000 claims 2
- 238000004891 communication Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23412—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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为另一些实施例中视频画面处理装置的结构框图;
图10为一些实施例中计算机设备的内部结构图;
图11为另一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的视频画面处理方法,可以应用于如图1所示的应用环境中。其中,终端102可以与云平台104通信,数据存储系统可以存储云平台104需要处理的数据,数据存储系统可以集成在云平台104上,也可以放在其他云上或者其他服务器上。当云平台104检测到运行的云业务切换时,对与切换后的云业务相匹配的视频画面进行渲染处理,得到原始视频渲染画面。云平台104对原始视频渲染画面进行视频编码,得到传输视频流。云平台104确定在针对视频画面进行渲染处理过程中的渲染复杂度,并确定在针对原始视频渲染画面进行视频编码过程中的编码复杂度。云平台104根据渲染复杂度和编码复杂度,对云业务进行视频画面需求的估计,得到画面需求信息。云平台104对传输视频流和画面需求信息进行打包处理,得到传输视频包。云平台104将传输视频包发送给终端102,以使终端102根据传输视频包中的画面需求信息确定相匹配的解码渲染策略,并根据解码渲染策略对传输视频包中的传输视频流进行解码和渲染处理,得到目标视频渲染画面。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备。
在一些实施例中,如图2所示,提供了一种视频画面处理方法,以该方法应用于图1的云平台为例进行说明。本实施例中,该方法包括但不限于包括以下步骤:
步骤202,当检测到运行的云业务切换时,对与切换后的云业务相匹配的视频画面进行渲染处理,得到原始视频渲染画面。
其中,云平台指的是基于云计算技术的计算资源和服务的整合平台,它通过网络提供各种计算资源,且允许用户在终端通过互联网访问这些资源和服务,从而通过云平台运行对应的云业务,不需要在终端本地部署硬件或者软件,不占用终端本地的内存。
云业务,指的是在云平台上运行的业务,如办公、看视频、打游戏等。
云业务切换,指的是将原本运行的云业务切换至新的云业务,或者将同一云业务原本的业务场景切换至新的业务场景的处理。
具体地,云平台可以进行业务切换或者业务场景切换的检测,当云平台检测到其上运行的云业务或者业务场景切换时,则对与切换后的云业务相匹配的视频画面进行渲染处理,得到原始视频渲染画面。
步骤204,对原始视频渲染画面进行视频编码,得到传输视频流。
具体地,在云平台对视频画面进行渲染处理得到原始视频渲染画面之后,则可以对原视频渲染画面进行视频编码,得到传输视频流。
步骤206,确定在针对视频画面进行渲染处理过程中的渲染复杂度,并确定在针对原始视频渲染画面进行视频编码过程中的编码复杂度。
其中,渲染复杂度能够反映渲染处理过程中所需计算量和处理复杂程度,渲染复杂度高的场景往往需要更多的计算资源和时间。
在一些实施例中,渲染复杂度包括算术逻辑单元(Arithmetic Logic Unit,ALU)占用率、纹理(texture)数量或通用寄存器(General Purpose Register,GPR)占用率中的至少一种。其中,ALU占用率表示在一段时间内,ALU计算单元被有效利用的比例,该比例越高意味着图形处理器(Graphics ProcessingUnit,GPU)在执行计算任务时更加充分利用了其计算资源。纹理数量指的是在渲染过程中使用纹理的数量,纹理数量会影响GPU的内存消耗和性能开销。GPR占用率表示在计算过程中,使用的通用寄存器与可用寄存器数量之间的比例,较高的GPR占用率表示计算过程中需要更多的寄存器存储空间。
其中,编码复杂度是指将原始视频渲染进行编码的过程中所需的计算量和处理复杂程度,较高的编码复杂度意味着需要更多的计算资源和时间来完成视频编码任务。
在一些实施例中,编码复杂度包括运动矢量(Motion Vector,MV)运动信息因子或P帧缓存区占用情况(P frame Buffer Level)中的至少一种。其中,MV运动信息因子指的是运动矢量的特征或统计量,可以表示视频中运动的强度、方向和复杂程度等。P帧缓存区占用情况中的P帧指的是非关键帧,对应的,P帧缓存区占用情况指的是非关键帧缓存区的使用情况,即该缓冲区当前所占用的空间大小和利用率。
具体地,云平台在针对视频画面进行渲染处理的过程中,可以获取对应的渲染复杂度。云平台在针对原始视频渲染画面进行渲染处理的过程中,可以获取对应的编码复杂度。
步骤208,根据渲染复杂度和编码复杂度,对云业务进行视频画面需求的估计,得到画面需求信息。
其中,画面需求信息,指的是针对不同的云业务或者业务场景,对显示在终端上的视频画面的不同需求,比如响应延迟需求、画面清晰度需求等。
具体地,云平台根据渲染复杂度和编码复杂度,对显示在终端上与该云业务相匹配的视频画面的需求进行估计,得到画面需求信息。
步骤210,对传输视频流和画面需求信息进行打包处理,得到传输视频包。
具体地,云平台对传输视频流和画面需求信息进行打包处理,以将画面需求信息嵌入至传输视频流对应的视频包中,得到传输视频包。
步骤212,将传输视频包发送给终端,以使终端根据传输视频包中的画面需求信息确定相匹配的解码渲染策略,并根据解码渲染策略对传输视频包中的传输视频流进行解码和渲染处理,得到目标视频渲染画面。
解码渲染策略,指的是对接收到的传输视频包进行解码以及渲染的策略。
具体地,云平台将打包好的传输视频包发送给终端。终端在接收到传输视频包之后,则根据传输视频包中的画面需求信息确定与云业务相匹配的解码渲染策略,并根据确定的解码渲染策略对传输视频包中的传输视频流进行解码和渲染处理,得到目标视频渲染画面。
在一些实施例中,如图3所示,视频画面处理方法的流程大致包括:当出现云业务切换或者云业务的场景切换时,云平台则可以进行视频画面的渲染和编码处理,以读取渲染复杂度和编码复杂度,根据渲染复杂度和编码复杂度计算PT值,根据PT值进行编码并发送传输视频包给终端,其中,该传输视频包中包括多个视频帧。终端在接收到传输视频包后,则可以读取传输视频包中的PT值,并根据读取的PT值调整解码渲染策略,按照新的解码渲染策略处理传输视频包中的视频流,即从第1帧开始,依次对多个视频帧进行编码和渲染处理。
其中,PT值指的是通过实时传输协议(Real-time Transport Protocol,RTP)进行视频打包时,根据画面需求信息所修改的PT位信息。在RTP中,PT位指的是有效载荷类型(Payload Type)字段,用于标识传输视频包中所携带的数据类型。此外,PT位是一个8位的字段,它定义了特定有效载荷类型的编码,每个有效载荷类型都对应着不同的媒体格式或编解码器。通过PT位对应的PT值,终端可以识别和解析传输视频包中的画面需求信息,以根据识别出的画面需求信息进行解码渲染策略的调整。
在一些实施例中,如图4所示,云平台包括虚拟机、业务场景估算模块、PT值计算模组、抓屏编码器和RTP传输模块,虚拟机则包括中央处理器(Central Processing Unit,CPU)和GPU。其中,虚拟机的CPU负责通过不同架构的服务器所模拟的终端来处理真实终端的用户指令。虚拟机的GPU复杂进行画面渲染,并将渲染过程中的渲染复杂度输出到业务场景估算模块。抓屏编码器复杂将渲染后的原始视频渲染画面进行重新编码,并将编码过程中的编码复杂度输出到业务场景估算模块。业务场景估算模块根据渲染复杂度和编码复杂度估算画面需求信息,比如估计当前业务类型与场景需求信息,当前业务类型例如游戏、办公或者视频,场景需求信息例如画面清晰型或者时延敏感型。PT值计算模组则按照业务PT值的前3位和后3位分别标记估算的业务类型和场景需求信息。RTP传输模块负责将传输视频流进行打包,并打上当前PT位专用的业务类型和场景需求信息(即业务场景优先级)的标识,得到传输视频包,并发送到终端进行处理。
上述视频画面处理方法,当云平台检测到运行的云业务切换时,对与切换后的云业务相匹配的视频画面进行渲染处理,得到原始视频渲染画面;对原始视频渲染画面进行视频编码,得到传输视频流。确定在针对视频画面进行渲染处理过程中的渲染复杂度,并确定在针对原始视频渲染画面进行视频编码过程中的编码复杂度;根据渲染复杂度和编码复杂度,对云业务进行视频画面需求的估计,得到画面需求信息。对传输视频流和画面需求信息进行打包处理,得到传输视频包,将传输视频包发送给终端。终端在接收到传输视频包之后,则可以根据画面需求信息快速确定并且切换至相匹配的解码渲染策略,无需再次进行等待或者同步。终端根据确定的解码渲染策略可以对同步接收到的传输视频包进行快速调整,从而有效减小了延迟。
在一些实施例中,画面需求信息包括业务类型信息和场景需求信息;业务类型信息表征云业务对应的业务类型;场景需求信息表征运行云业务对应场景所需的渲染优先级。步骤208具体包括但不限于包括:确定预先设置的多个业务类型分别对应的多个第一渲染复杂度范围;确定预先设置的多个渲染优先级分别对应的多个综合复杂度范围;根据渲染复杂度所位于的第一渲染复杂度范围对应的业务类型,并根据编码复杂度所位于的综合复杂度范围对应的渲染优先级,分别得到业务类型信息和场景需求信息。
在一些实施例中,业务类型包括办公业务、视频业务和游戏业务中的至少一种。渲染优先级包括高效渲染、稳定渲染或高速渲染中的至少一种。
其中,综合复杂度范围,由第二渲染复杂度范围和编码复杂度范围共同确定。
具体地,云平台确定预先设置的多个业务类型分别对应的多个第一渲染复杂度范围,以确定渲染复杂度具体属于哪一个第一渲染复杂度范围,将渲染复杂度具体属于的第一渲染复杂度范围确定为第一目标渲染复杂度范围,将第一目标渲染复杂度范围对应的业务类型,确定为该云业务对应的业务类型信息。云平台确定预先设置的多个渲染优先级分别对应的多个综合复杂度范围,以确定编码复杂度具体属于哪一个综合复杂度范围,将编码复杂度具体属于的综合复杂度范围确定为目标综合复杂度范围,将目标综合复杂度范围对应的渲染优先级,确定为该云业务对应的场景需求信息。
示例性的,第一渲染复杂度范围包括3个,分别是“ALU占用率<50%&纹理数量<16&GRP占用率<50%”、“ALU占用率>50%&ALU占用率>GRP占用率*1.5&纹理数量>16”、“ALU占用率>50%&ALU占用率<GPU占用率*1.5&纹理数量>16”。其中,“ALU占用率<50%&纹理数量<16&GRP占用率<50%”对应的业务类型为办公业务,“ALU占用率>50%&ALU占用率>GRP占用率*1.5&纹理数量>16”对应的业务类型为视频业务,“ALU占用率>50%&ALU占用率<GPU占用率*1.5&纹理数量>16”对应的业务类型为游戏业务。
示例性的,综合复杂度范围包括3个,分别是“ALU占用率<50%&综合MV搜索方向以平移为主&P帧缓存区占用情况<30%”、“ALU占用率>50%&综合MV搜索方向以平移为主&30%<P帧缓存区占用情况<60%”、“ALU占用率>50%&P帧缓存区占用情况>60%”。其中,“ALU占用率<50%&综合MV搜索方向以平移为主&P帧缓存区占用情况<30%”对应的渲染优先级为高效渲染、“ALU占用率>50%&综合MV搜索方向以平移为主&30%<P帧缓存区占用情况<60%”对应的渲染优先级为稳定渲染,“ALU占用率>50%&P帧缓存区占用情况>60%”对应的渲染优先级为高速渲染。
在一些实施例中,210具体包括但不限于包括:对传输视频流进行打包处理,得到原始传输视频包;将画面需求信息嵌入至原始传输视频包中,得到传输视频包。
具体地,云平台对传输视频流进行打包处理,得到原始传输视频包;将画面需求信息转换成对应的标识值,并将对应的标识值嵌入至原始传输视频包中,得到传输视频包。
在一些实施例中,步骤“将画面需求信息嵌入至原始传输视频包中,得到传输视频包”具体包括但不限于包括:对画面需求信息进行标识值转换,分别得到表征业务类型信息的第一标识值和表征场景需求信息的第二标识值;将第一标识值和第二标识值写入传输视频包的目标标识位中,得到传输视频包,以使终端根据传输视频包中的第一标识值和第二标识值确定相匹配的解码渲染策略。
具体地,云平台将画面需求信息中的业务类型信息转换成所匹配的标识,得到第一标识值,并将画面需求信息中的场景需求信息转换成所匹配的标识,得到第二标识值。其中,目标标识位可以是PT位,云平台将第一标识值和第二标识值分别写入至PT位的前3位以及后3位中,得到传输视频包,以使终端根据传输视频包中PT位的前3位和后3位分别对应的第一标识值和第二标识值确定相匹配的解码渲染策略。
在一些实施例中,传输视频包中的PT值以及其对应的第一标识值和第二标识值分别如下表所示:
其中,PT位中的第一位都是0,PT位对应的第2到第4位则是第一标识位,其对应的值是第一标识值,比如101、110和111,第一标识值为101则表示业务类型为办公,第一标识值为110则表示业务类型为视频,第一标识值为111则表示业务类型为游戏。PT位对应的第5到第7位则是第二标识位,其对应的值是第二标识值,比如001、010和100,第二标识值为001则表示渲染优先级为高效渲染,第二标识值为010则表示渲染优先级为稳定渲染,第二标识值为100则表示渲染优先级为高速渲染。需要说明的是,将PT位中每个位的值进行组合可得到PT值。
在一些实施例中,如图6所示,还提供了一种视频画面处理方法,以该方法应用于图1的终端为例进行说明。本实施例中,该方法包括但不限于包括以下步骤:
步骤602,接收云平台发送的传输视频包。
其中,传输视频包通过云平台对传输视频流和画面需求信息进行打包处理得到;传输视频流通过云平台对原始视频渲染画面进行编码处理得到;原始视频编码画面是当云平台检测到运行的云业务切换时,对切换后的云业务相匹配的视频画面进行渲染处理得到;画面需求信息通过云平台根据渲染复杂度和编码复杂度对云业务进行视频画面需求的估计得到;渲染复杂度从云平台针对视频画面进行渲染处理的过程中确定;编码复杂度从云平台针对原始视频渲染画面进行视频编码的过程中确定。
具体地,终端接收云平台发送的传输视频包。
步骤604,从传输视频包中确定传输视频流和针对云业务的画面需求信息。
具体地,终端对传输视频包进行解析处理,以确定传输视频包中的传输视频流和针对云业务的画面需求信息。
步骤606,根据画面需求信息确定相匹配的解码渲染策略。
具体地,终端根据云业务对应的画面需求信息,确定相匹配的解码渲染策略。
步骤608,根据解码渲染策略对传输视频流进行解码和渲染处理,得到目标视频渲染画面。
具体地,若终端确定的解码渲染策略和当前的解码渲染策略一致,则直接使用当前的解码渲染策略对传输视频流进行解码和渲染处理。若确定的解码渲染策略和当前的解码渲染策略不一致,则使用确定的解码渲染策略对传输视频流进行解码和渲染处理。
在一些实施例中,如图4所示,终端包括指令收集模组、视频解码器、RTP接收模块、解码渲染策略控制模组和PT值解析模组。其中,RTP接收模块接收云平台发送的传输视频包,读取PT值用于确定当前的业务类型及其场景需求信息,并分别发送到视频解码器及PT值解析模组。PT值解析模组根据PT值前三位、后三位的内容,分析出其标识的业务类型与场景需求信息。解码渲染策略控制模组根据PT值解析的结果,动态调整视频解码器的解码渲染策略,比如buffer控制、丢包等待策略、高效/稳定/快速渲染策略。视频解码器根据解码渲染策略进行视频解码及渲染输出,并将云业务展现给用户。指令收集模组收集用户在终端的触控、按键等输入,并传输到云平台的虚拟机进行处理。
上述视频画面处理方法,当终端接收到云平台经过一系列处理后得到的传输视频包时,通过该传输视频包则可以同步获取传输视频流和针对云业务的画面需求信息。终端无需再次进行等待或者同步,可以根据画面需求信息快速确定并切换至对应的解码渲染策略,根据确定的解码渲染策略可以对同步接收到的传输视频包进行快速调整,从而有效减小了延迟。
在一些实施例中,画面需求信息包括业务类型信息和场景需求信息。步骤604具体包括但不限于包括:对传输视频包进行视频解码,得到传输视频流;对传输视频包中的目标标识位进行解析,得到表征业务类型信息的第一标识值和表征场景需求信息的第二标识值;分别根据第一标识值和第二标识值,确定针对云业务的业务类型信息和场景需求信息。
具体地,终端对传输视频包进行视频解码,得到传输视频流。终端对传输视频包中的目标标识位,比如终端分别对传输视频包中PT位前3位和后3位进行解析,得到表征业务类型信息的第一标识值和表征场景需求信息的第二标识值。需要说明的是,终端根据第一标识值则可以确定具体的业务类型,根据第二标识值则可以确定具体的渲染优先级,根据业务类型和渲染优先级确定针对对应云业务的解码渲染策略。从而使云业务的视频画面呈现满足云业务的场景需求,保证云业务切换的快速和稳定。本申请无须扩展私有的接口或协议,即可满足用户快速云业务切换及不同业务对视频解码、渲染的要求。
在一些实施例中,解码渲染策略包括缓存策略、丢包等待策略或渲染策略中的至少一种。其中,缓存策略用于指示对应的水平画面允许延迟的时间,丢包等待策略用于指示丢包等待的超时时间,渲染策略指的是使用对应的压缩码率进行解码和渲染的策略。
在一些实施例中,具体的解码渲染策略可以如下表所示:
其中,当业务类型为办公时,用户对视频画面的需求是高清晰,其对应的缓存策略可以是允许延迟100ms、丢包等待策略可以是第n+3帧到达或300ms、渲染策略是高效。当业务类型为视频时,用户对视频画面的需求是清晰、不卡顿,其对应的缓存策略可以是允许延迟80ms、丢包等待策略可以是第n+2帧到达或300ms、渲染策略是稳定。当业务类型为游戏时,用户对视频画面的需求是低时延,其对应的缓存策略可以是允许延迟50ms、丢包等待策略可以是第n+1到达后、渲染策略是高速。
示例性的,当用户在终端上使用办公业务时,需要保证操作画面清晰,对画面卡顿和延迟敏感较低,其对应的视频处理步骤为:(1)用户启动终端,使用云办公业务,云平台虚拟机处理办公业务。(2)虚拟机的GPU进行画面渲染,由于办公业务的画面变化线相对较少,其ALU、纹理复杂度较低,GRP占用率中低,如ALU占用率<10%、纹理数量<2,GRP占用率<50%。(3)抓屏编码器对GPU渲染的画面进行捕捉与编码,计算编码复杂度,由于画面变化相对较少,其编码MV移动以平移为主,且P帧内存空间占用率较低,比如P帧缓存区占用情况<30%。(4)业务场景估算模块根据渲染及编码复杂度,估算云业务类型为云办公、编码方式为高效编码,确定PT值为0101001。(5)RTP传输模块将编码的视频流打包为传输视频包,并在PT位写入0101001标签。(6)RTP传输模块将传输视频包传输到终端进行处理。(7)云端的RTP接收模块接收到传输视频包后,检查PT值=0101001,确认为云办公场景,高效编码。(8)RTP接收模块通知视频解码器调整缓存策略、丢包等待策略与渲染策略。其中,缓存策略为:缓存采用高水位线机制,丢包等待策略为:等待网络包恢复,直到第n+3帧到达或300ms超时,渲染策略为:高压缩率解码与渲染。(9)视频解码器解码渲染后输出对应的视频画面给用户,并行等待用户输入。
又示例性的,当用户在终端上使用游戏业务时,对画面卡顿和延迟敏感,其对应的视频画面处理步骤为:(1)用户操作终端切换到游戏业务,云平台虚拟机处理游戏业务。(2)虚拟机的GPU进行画面渲染,游戏业务的画面变化剧烈,其ALU、纹理复杂度较高,GRP占用率中高,如ALU占用率>70%、纹理数量>8,GRP占用率>50%。(3)抓屏编码器对GPU渲染的画面进行捕捉与编码,计算编码复杂度,由于画面变化相对较多,其编码MV移动复杂,且P帧内存空间占用率较高。(4)业务场景估算模块根据渲染及编码复杂度,估算云业务类型为云游戏、编码方式为高速编码,确定PT值为0111100。(5)RTP传输模块将编码的视频流打包为传输视频包,并在PT位写入0111100标签。(6)RTP传输模块将传输视频包传输到终端进行处理。(7)终端的RTP接收模块接收传输视频包后,检查PT值=0111100,确认为云游戏场景,高速编码。(8)RTP接收模块通知视频解码器调整缓存策略、丢包等待策略与渲染策略。其中,缓存策略为:缓存采用低水位线机制,丢包等待策略为:等待网络包恢复,直到第n+1帧到达或100ms超时,渲染策略为:低压缩率解码与渲染。(9)视频解码器解码渲染后输出对应的视频画面给用户,并行等待用户输入。
在一些实施例中,如图7所示,本申请的视频画面处理方法具体包括但不限于包括以下步骤:在虚拟机执行云办公业务的情况下,通过GPU运行对应的办公业务,由抓屏编码器抓取对应的视频画面,并发送抓屏编码视频流,即传输视频包给RTP传输模块。同时,GPU则计算对应的渲染复杂度为低,抓屏编码器计算对应的编码复杂度为低,业务场景估算模块则根据渲染复杂度和编码复杂度计算场景,并确认为办公场景和高效编码(即高效渲染)。RTP传输模块将“0101001”写入PT位中得到PT值并写入传输视频包,将传输视频包发送给RTP接收模块。RTP接收模块读取传输视频包中的PT值,并根据PT值修改解码渲染策略(即办公、高效),从而根据解码渲染策略解码和展示画面,并行等待用户输入,以通过虚拟机进行处理。
在虚拟机切换到云游戏业务时,通过GPU运行对应的游戏业务,由抓屏编码器抓取对应的视频画面,并发送抓屏编码视频流,即传输视频包给RTP传输模块。同时,GPU则计算对应的渲染复杂度为高,抓屏编码器计算对应的编码复杂度为高,业务场景估算模块则根据渲染复杂度和编码复杂度计算场景,并确认为游戏场景和高速编码(即高速渲染)。RTP传输模块将“0111100”写入PT位中得到PT值并写入传输视频包,将传输视频包发送给RTP接收模块。RTP接收模块读取传输视频包中的PT值,并根据PT值修改解码渲染策略(即游戏、低延迟),从而根据解码渲染策略解码和展示画面,并行等待用户输入,以通过虚拟机进行处理。
在一些实施例中,本申请的视频画面处理方法还具体包括但不限于包括以下步骤:
(1)当云平台检测到运行的云业务切换时,对与切换后的云业务相匹配的视频画面进行渲染处理,得到原始视频渲染画面。
(2)云平台对原始视频渲染画面进行视频编码,得到传输视频流。
(3)云平台确定在针对视频画面进行渲染处理过程中的渲染复杂度,并确定在针对原始视频渲染画面进行视频编码过程中的编码复杂度。
(4)云平台确定预先设置的多个业务类型分别对应的多个第一渲染复杂度范围。
(5)云平台确定预先设置的多个渲染优先级分别对应的多个综合复杂度范围。
(6)云平台根据渲染复杂度所位于的第一渲染复杂度范围对应的业务类型,并根据编码复杂度所位于的综合复杂度范围对应的渲染优先级,分别得到业务类型信息和场景需求信息。
(7)云平台对传输视频流进行打包处理,得到原始传输视频包。
(8)云平台分别对业务类型信息和场景需求信息进行标识值转换,得到分别表征业务类型信息的第一标识值和表征场景需求信息的第二标识值。
(9)云平台将第一标识值和第二标识值写入传输视频包的目标标识位中,得到传输视频包。
(10)云平台将传输视频包发送给终端。
(11)终端对传输视频包进行视频解码,得到传输视频流。
(12)终端对传输视频包中的目标标识位进行解析,得到表征业务类型信息的第一标识值和表征场景需求信息的第二标识值。
(13)终端分别根据第一标识值和第二标识值,确定针对云业务的业务类型信息和场景需求信息。
(14)终端根据业务类型信息和场景需求信息确定相匹配的解码渲染策略。
(15)终端根据解码渲染策略对传输视频流进行解码和渲染处理,得到目标视频渲染画面。
需要说明的是,传统技术的码流渲染与解码策略相对固定,但由于云端的云业务场景会随着用户使用不断使用而改变,不同业务场景对时延、画面清晰度的需求具备差异性,原有方法需要云平台读取云业务类型与场景再发送调整信令的方法存在延迟性;且读取云业务类型对后续运维要求较高,存在方案复杂、无法满足实时切换延迟等问题。本申请通过渲染及编码复杂度自动估算业务类型及场景,并通过在视频码流添加RTP的PT值,云平台可以通过PT值自动且实时的调整解码渲染策略,使云业务的视频画面呈现满足云业务的场景需求,保证云业务切换的快速和稳定。此外,本申请无须扩展私有的接口或协议,即可满足用户快速云业务切换及不同业务对视频解码、渲染的要求。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的视频画面处理方法的视频画面处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个视频画面处理装置实施例中的具体限定可以参见上文中对于视频画面处理方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种视频画面处理装置,包括:渲染处理模块802、视频编码模块804、复杂度确定模块806、需求估计模块808、打包处理模块810和视频发送模块812,其中:
渲染处理模块802,用于当检测到运行的云业务切换时,对与切换后的云业务相匹配的视频画面进行渲染处理,得到原始视频渲染画面;
视频编码模块804,用于对原始视频渲染画面进行视频编码,得到传输视频流;
复杂度确定模块806,用于确定在针对视频画面进行渲染处理过程中的渲染复杂度,并确定在针对原始视频渲染画面进行视频编码过程中的编码复杂度;
需求估计模块808,用于根据渲染复杂度和编码复杂度,对云业务进行视频画面需求的估计,得到画面需求信息;
打包处理模块810,用于对传输视频流和画面需求信息进行打包处理,得到传输视频包;
视频发送模块812,用于将传输视频包发送给终端,以使终端根据传输视频包中的画面需求信息确定相匹配的解码渲染策略,并根据解码渲染策略对传输视频包中的传输视频流进行解码和渲染处理,得到目标视频渲染画面。
上述视频画面处理装置,当云平台检测到运行的云业务切换时,对与切换后的云业务相匹配的视频画面进行渲染处理,得到原始视频渲染画面;对原始视频渲染画面进行视频编码,得到传输视频流。确定在针对视频画面进行渲染处理过程中的渲染复杂度,并确定在针对原始视频渲染画面进行视频编码过程中的编码复杂度;根据渲染复杂度和编码复杂度,对云业务进行视频画面需求的估计,得到画面需求信息。对传输视频流和画面需求信息进行打包处理,得到传输视频包,将传输视频包发送给终端。终端在接收到传输视频包之后,则可以根据画面需求信息快速确定并且切换至相匹配的解码渲染策略,无需再次进行等待或者同步。终端根据确定的解码渲染策略可以对同步接收到的传输视频包进行快速调整,从而有效减小了延迟。
在一些实施例中,画面需求信息包括业务类型信息和场景需求信息;业务类型信息表征云业务对应的业务类型;场景需求信息表征运行云业务对应场景所需的渲染优先级。需求估计模块808,还用于确定预先设置的多个业务类型分别对应的多个第一渲染复杂度范围;确定预先设置的多个渲染优先级分别对应的多个综合复杂度范围;其中,综合复杂度范围,由第二渲染复杂度范围和编码复杂度范围共同确定;根据渲染复杂度所位于的第一渲染复杂度范围对应的业务类型,并根据编码复杂度所位于的综合复杂度范围对应的渲染优先级,分别得到业务类型信息和场景需求信息。
在一些实施例中,打包处理模块810,还用于对传输视频流进行打包处理,得到原始传输视频包;将画面需求信息嵌入至原始传输视频包中,得到传输视频包。
在一些实施例中,打包处理模块810,还用于对画面需求信息进行标识值转换,分别得到表征业务类型信息的第一标识值和表征场景需求信息的第二标识值;将第一标识值和第二标识值写入传输视频包的目标标识位中,得到传输视频包,以使终端根据传输视频包中的第一标识值和第二标识值确定相匹配的解码渲染策略。
在一些实施例中,如图9所示,还提供了一种视频画面处理装置,包括:视频接收模块902、信息确定模块904、策略匹配模块906和视频处理模块908,其中:
视频接收模块902,用于接收云平台发送的传输视频包;传输视频包通过云平台对传输视频流和画面需求信息进行打包处理得到;传输视频流通过云平台对原始视频渲染画面进行编码处理得到;原始视频编码画面是当云平台检测到运行的云业务切换时,对切换后的云业务相匹配的视频画面进行渲染处理得到;画面需求信息通过云平台根据渲染复杂度和编码复杂度对云业务进行视频画面需求的估计得到;渲染复杂度从云平台针对视频画面进行渲染处理的过程中确定;编码复杂度从云平台针对原始视频渲染画面进行视频编码的过程中确定;
信息确定模块904,用于从传输视频包中确定传输视频流和针对云业务的画面需求信息;
策略匹配模块906,用于根据画面需求信息确定相匹配的解码渲染策略;
视频处理模块908,用于根据解码渲染策略对传输视频流进行解码和渲染处理,得到目标视频渲染画面。
上述视频画面处理装置,当终端接收到云平台经过一系列处理后得到的传输视频包时,通过该传输视频包则可以同步获取传输视频流和针对云业务的画面需求信息。终端无需再次进行等待或者同步,可以根据画面需求信息快速确定并切换至对应的解码渲染策略,根据确定的解码渲染策略可以对同步接收到的传输视频包进行快速调整,从而有效减小了延迟。
在一些实施例中,画面需求信息包括业务类型信息和场景需求信息。信息确定模块904,还用于对传输视频包进行视频解码,得到传输视频流;对传输视频包中的目标标识位进行解析,得到表征业务类型信息的第一标识值和表征场景需求信息的第二标识值;分别根据第一标识值和第二标识值,确定针对云业务的业务类型信息和场景需求信息。
上述模板处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)及通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储与视频画面处理相关的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的视频画面处理方法中的步骤。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元及输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现上述的视频画面处理方法中的步骤。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏;该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10或图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种视频画面处理方法,其特征在于,应用于云平台,所述方法包括:
当检测到运行的云业务切换时,对与切换后的云业务相匹配的视频画面进行渲染处理,得到原始视频渲染画面;
对所述原始视频渲染画面进行视频编码,得到传输视频流;
确定在针对所述视频画面进行渲染处理过程中的渲染复杂度,并确定在针对所述原始视频渲染画面进行视频编码过程中的编码复杂度;所述渲染复杂度包括算术逻辑单元占用率、纹理数量或通用寄存器占用率中的至少一种;所述编码复杂度包括运动矢量运动信息因子或P帧缓存区占用情况中的至少一种;
根据所述渲染复杂度和所述编码复杂度,对所述云业务进行视频画面需求的估计,得到画面需求信息;所述画面需求信息,指的是针对不同的云业务或者业务场景,对显示在终端上的视频画面的响应延迟需求或画面清晰度需求;
对所述传输视频流和所述画面需求信息进行打包处理,得到传输视频包;
将所述传输视频包发送给终端,以使所述终端根据所述传输视频包中的画面需求信息确定相匹配的解码渲染策略,并根据所述解码渲染策略对所述传输视频包中的传输视频流进行解码和渲染处理,得到目标视频渲染画面;所述解码渲染策略包括缓存策略、丢包等待策略或渲染策略中的至少一种。
2.根据权利要求1所述的方法,其特征在于,所述画面需求信息包括业务类型信息和场景需求信息;所述业务类型信息表征所述云业务对应的业务类型;所述场景需求信息表征运行所述云业务对应场景所需的渲染优先级;
所述根据所述渲染复杂度和所述编码复杂度,对所述云业务进行视频画面需求的估计,得到画面需求信息,包括:
确定预先设置的多个业务类型分别对应的多个第一渲染复杂度范围;
确定预先设置的多个渲染优先级分别对应的多个综合复杂度范围;其中,综合复杂度范围,由第二渲染复杂度范围和编码复杂度范围共同确定;
根据所述渲染复杂度所位于的第一渲染复杂度范围对应的业务类型,并根据所述编码复杂度所位于的综合复杂度范围对应的渲染优先级,分别得到所述业务类型信息和所述场景需求信息。
3.根据权利要求1所述的方法,其特征在于,所述对所述传输视频流和所述画面需求信息进行打包处理,得到传输视频包,包括:
对所述传输视频流进行打包处理,得到原始传输视频包;
将所述画面需求信息嵌入至所述原始传输视频包中,得到传输视频包。
4.根据权利要求3所述的方法,其特征在于,所述将所述画面需求信息嵌入至所述原始传输视频包中,得到传输视频包,包括:
对所述画面需求信息进行标识值转换,分别得到表征业务类型信息的第一标识值和表征场景需求信息的第二标识值;
将所述第一标识值和所述第二标识值写入所述传输视频包的目标标识位中,得到传输视频包,以使所述终端根据所述传输视频包中的第一标识值和第二标识值确定相匹配的解码渲染策略。
5.一种视频画面处理方法,其特征在于,应用于终端,所述方法包括:
接收云平台发送的传输视频包;所述传输视频包通过所述云平台对传输视频流和画面需求信息进行打包处理得到;所述传输视频流通过所述云平台对原始视频渲染画面进行编码处理得到;所述原始视频编码画面是当所述云平台检测到运行的云业务切换时,对切换后的云业务相匹配的视频画面进行渲染处理得到;所述画面需求信息通过所述云平台根据渲染复杂度和编码复杂度对所述云业务进行视频画面需求的估计得到;所述渲染复杂度从所述云平台针对所述视频画面进行渲染处理的过程中确定;所述编码复杂度从所述云平台针对所述原始视频渲染画面进行视频编码的过程中确定;所述渲染复杂度包括算术逻辑单元占用率、纹理数量或通用寄存器占用率中的至少一种;所述编码复杂度包括运动矢量运动信息因子或P帧缓存区占用情况中的至少一种;
从所述传输视频包中确定传输视频流和针对所述云业务的画面需求信息;所述画面需求信息,指的是针对不同的云业务或者业务场景,对显示在终端上的视频画面的响应延迟需求或画面清晰度需求;
根据所述画面需求信息确定相匹配的解码渲染策略;所述解码渲染策略包括缓存策略、丢包等待策略或渲染策略中的至少一种;
根据所述解码渲染策略对所述传输视频流进行解码和渲染处理,得到目标视频渲染画面。
6.根据权利要求5所述的方法,其特征在于,所述画面需求信息包括业务类型信息和场景需求信息;所述从所述传输视频包中确定传输视频流和针对所述云业务的画面需求信息,包括:
对所述传输视频包进行视频解码,得到传输视频流;
对所述传输视频包中的目标标识位进行解析,得到表征业务类型信息的第一标识值和表征场景需求信息的第二标识值;
分别根据所述第一标识值和所述第二标识值,确定针对所述云业务的业务类型信息和场景需求信息。
7.一种视频画面处理装置,其特征在于,所述装置包括:
渲染处理模块,用于当检测到运行的云业务切换时,对与切换后的云业务相匹配的视频画面进行渲染处理,得到原始视频渲染画面;
视频编码模块,用于对所述原始视频渲染画面进行视频编码,得到传输视频流;
复杂度确定模块,用于确定在针对所述视频画面进行渲染处理过程中的渲染复杂度,并确定在针对所述原始视频渲染画面进行视频编码过程中的编码复杂度;所述渲染复杂度包括算术逻辑单元占用率、纹理数量或通用寄存器占用率中的至少一种;所述编码复杂度包括运动矢量运动信息因子或P帧缓存区占用情况中的至少一种;
需求估计模块,用于根据所述渲染复杂度和所述编码复杂度,对所述云业务进行视频画面需求的估计,得到画面需求信息;所述画面需求信息,指的是针对不同的云业务或者业务场景,对显示在终端上的视频画面的响应延迟需求或画面清晰度需求;
打包处理模块,用于对所述传输视频流和所述画面需求信息进行打包处理,得到传输视频包;
视频发送模块,用于将所述传输视频包发送给终端,以使所述终端根据所述传输视频包中的画面需求信息确定相匹配的解码渲染策略,并根据所述解码渲染策略对所述传输视频包中的传输视频流进行解码和渲染处理,得到目标视频渲染画面;所述解码渲染策略包括缓存策略、丢包等待策略或渲染策略中的至少一种。
8.一种视频画面处理装置,其特征在于,所述装置包括:
视频接收模块,用于接收云平台发送的传输视频包;所述传输视频包通过所述云平台对传输视频流和画面需求信息进行打包处理得到;所述传输视频流通过所述云平台对原始视频渲染画面进行编码处理得到;所述原始视频编码画面是当所述云平台检测到运行的云业务切换时,对切换后的云业务相匹配的视频画面进行渲染处理得到;所述画面需求信息通过所述云平台根据渲染复杂度和编码复杂度对所述云业务进行视频画面需求的估计得到;所述渲染复杂度从所述云平台针对所述视频画面进行渲染处理的过程中确定;所述编码复杂度从所述云平台针对所述原始视频渲染画面进行视频编码的过程中确定;所述渲染复杂度包括算术逻辑单元占用率、纹理数量或通用寄存器占用率中的至少一种;所述编码复杂度包括运动矢量运动信息因子或P帧缓存区占用情况中的至少一种;
信息确定模块,用于从所述传输视频包中确定传输视频流和针对所述云业务的画面需求信息;所述画面需求信息,指的是针对不同的云业务或者业务场景,对显示在终端上的视频画面的响应延迟需求或画面清晰度需求;
策略匹配模块,用于根据所述画面需求信息确定相匹配的解码渲染策略;所述解码渲染策略包括缓存策略、丢包等待策略或渲染策略中的至少一种;
视频处理模块,用于根据所述解码渲染策略对所述传输视频流进行解码和渲染处理,得到目标视频渲染画面。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310843668.1A CN116567296B (zh) | 2023-07-11 | 2023-07-11 | 视频画面处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310843668.1A CN116567296B (zh) | 2023-07-11 | 2023-07-11 | 视频画面处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116567296A CN116567296A (zh) | 2023-08-08 |
CN116567296B true CN116567296B (zh) | 2023-10-03 |
Family
ID=87495166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310843668.1A Active CN116567296B (zh) | 2023-07-11 | 2023-07-11 | 视频画面处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116567296B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262961A (zh) * | 2015-10-21 | 2016-01-20 | 北京中科大洋科技发展股份有限公司 | 一种基于集群渲染的多镜头编辑方法 |
CN113015021A (zh) * | 2021-03-12 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 云游戏的实现方法、装置、介质及电子设备 |
CN113936119A (zh) * | 2020-06-28 | 2022-01-14 | 华为技术有限公司 | 一种数据渲染方法、系统及装置 |
CN115089966A (zh) * | 2022-08-10 | 2022-09-23 | 北京蔚领时代科技有限公司 | 应用于云游戏的视频渲染方法、系统及相关设备 |
CN115333677A (zh) * | 2022-08-25 | 2022-11-11 | 中国电信股份有限公司 | 云业务处理方法、系统、装置、设备及存储介质 |
CN116028205A (zh) * | 2022-05-16 | 2023-04-28 | 荣耀终端有限公司 | 资源调度方法和电子设备 |
-
2023
- 2023-07-11 CN CN202310843668.1A patent/CN116567296B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262961A (zh) * | 2015-10-21 | 2016-01-20 | 北京中科大洋科技发展股份有限公司 | 一种基于集群渲染的多镜头编辑方法 |
CN113936119A (zh) * | 2020-06-28 | 2022-01-14 | 华为技术有限公司 | 一种数据渲染方法、系统及装置 |
CN113015021A (zh) * | 2021-03-12 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 云游戏的实现方法、装置、介质及电子设备 |
CN116028205A (zh) * | 2022-05-16 | 2023-04-28 | 荣耀终端有限公司 | 资源调度方法和电子设备 |
CN115089966A (zh) * | 2022-08-10 | 2022-09-23 | 北京蔚领时代科技有限公司 | 应用于云游戏的视频渲染方法、系统及相关设备 |
CN115333677A (zh) * | 2022-08-25 | 2022-11-11 | 中国电信股份有限公司 | 云业务处理方法、系统、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116567296A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108206937B (zh) | 一种提升智能分析性能的方法和装置 | |
RU2011142772A (ru) | Система и способ выбора формата кодирования видео на основе данных обратной связи | |
US9609338B2 (en) | Layered video encoding and decoding | |
CN112449140B (zh) | 视频超分辨率处理方法及装置 | |
KR20200118237A (ko) | 비디오 인코딩 및 디코딩을 위한 적응형 전달 함수 | |
JP2009506456A5 (zh) | ||
CN112843676B (zh) | 数据处理方法、装置、终端、服务器及存储介质 | |
JP2015019365A (ja) | ビデオチャットデータプロセッシング | |
WO2023005140A1 (zh) | 视频数据处理方法、装置、设备以及存储介质 | |
US20150117515A1 (en) | Layered Encoding Using Spatial and Temporal Analysis | |
US20220334789A1 (en) | Augmented reality video stream synchronization | |
TW200808065A (en) | Video data compression system and method | |
CN111405358A (zh) | 基于缓存的视频帧提取方法、装置、介质及系统 | |
CN111432213A (zh) | 用于视频和图像压缩的自适应贴片数据大小编码 | |
CN116567296B (zh) | 视频画面处理方法、装置、计算机设备和存储介质 | |
WO2023142715A1 (zh) | 视频编码方法、实时通信方法、装置、设备及存储介质 | |
WO2023024832A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN116055802B (zh) | 图像帧处理方法及电子设备 | |
WO2022100645A1 (zh) | 一种数据编码方法、装置以及计算机可读存储介质 | |
CN114938408A (zh) | 一种云手机的数据传输方法、系统、设备及介质 | |
CN114245137A (zh) | 由gpu执行的视频帧处理方法和包括gpu的视频帧处理装置 | |
Kopczynski | Optimizations for fast wireless image transfer using H. 264 codec to Android mobile devices for virtual reality applications | |
CN116760986B (zh) | 候选运动矢量生成方法、装置、计算机设备和存储介质 | |
CN116883691B (zh) | 一种边缘设备的高帧率多路目标检测方法 | |
CN112188213B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |