CN115278301A - 视频处理方法、系统及设备 - Google Patents
视频处理方法、系统及设备 Download PDFInfo
- Publication number
- CN115278301A CN115278301A CN202210902575.7A CN202210902575A CN115278301A CN 115278301 A CN115278301 A CN 115278301A CN 202210902575 A CN202210902575 A CN 202210902575A CN 115278301 A CN115278301 A CN 115278301A
- Authority
- CN
- China
- Prior art keywords
- video
- picture
- code stream
- server
- video code
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 23
- 238000009877 rendering Methods 0.000 claims abstract description 179
- 238000000034 method Methods 0.000 claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 16
- 238000000926 separation method Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
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
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
公开了一种视频处理方法和相关设备,包括:服务端设备获取视频应用的视频码流,基于视频码流确定待渲染图片;服务端设备拦截第一调用指令后,向客户端设备发送第一消息;第一调用指令用于调用图片渲染组件对待渲染图片进行渲染;第一消息包括视频码流,用于指示客户端设备对视频码流进行处理。这里,服务端设备拦截对视频码流解码后的待渲染图片的渲染操作,并向客户端设备提供视频码流,指示客户端设备对视频码流进行解码和渲染。这样,在视频播放的过程中,服务端设备只需将视频码流发送到客户端设备,由客户端设备对原始的视频码流(压缩码流)进行处理,减少了服务端设备和客户端设备之间数据量的传输,从而减少对网络带宽消耗,节约资源。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种视频处理方法、系统及设备。
背景技术
云手机为一台运行在云端服务器的虚拟手机——把手机上的应用转移到云端,原本需要手机终端提供的计算、存储等能力,都改由云服务器来提供。
基于云手机,视频播放类应用通常会使用分离渲染方案对视频进行处理。在视频处理的过程中,服务端设备将渲染的动作分离到客户端设备上执行。以视频应用为例,服务端设备(例如云服务器)安装并运行该视频应用,在服务端设备对待显示画面进行处理,服务端设备将处理好的待显示画面发送到客户端设备(例如云手机),客户端设备对该待显示画面进行渲染显示。这样,依赖于服务端设备强大的计算能力,将计算压力给到服务端设备,客户端设备只负责显示的部分。
然而,服务端设备将处理好的待显示画面发送到客户端设备,数据传输量很大,对网络带宽消耗很大。即使进行无损压缩,其带宽仍然是难以商用。
发明内容
本申请实施例提供一种视频处理方法、系统及设备,能够在分离渲染的场景下,减少设备间数据量的传输,节约网络资源。
第一方面,本申请实施例提供一种视频处理方法,该方法包括:服务端设备获取视频应用的视频码流;服务端设备基于视频码流确定待渲染图片;服务端设备拦截第一调用指令后,向客户端设备发送第一消息;第一调用指令用于调用图片渲染组件对待渲染图片进行渲染;第一消息包括视频码流,第一消息用于指示客户端设备对视频码流进行处理。
本申请实施例,应用于分离渲染的场景,服务端设备运行应用,提供视频码流数据,并拦截服务端设备对视频码流解码后的待渲染图片的渲染操作,指示客户端设备对视频码流进行解码和渲染。这样,服务端设备只需关注逻辑开发,不需要部署GPU硬件,可以实现服务端的低成本和高密度。并且,服务端设备无需将所有纹理图片通过网络传送到客户端设备,服务端只需将原始的视频码流(压缩码流)等数据发送到客户端设备,减少了数据量的传输,从而减少对网络带宽消耗,节约资源。
结合第一方面,在一些实施例中,服务端设备向客户端设备发送第一消息之前,方法还包括:服务端设备基于视频码流确定视频标识信息,视频标识信息用于标识视频码流,待渲染图片中携带有视频标识信息。
在一些实施例中,服务端设备基于视频码流确定待渲染图片,包括:服务端设备基于视频码流构造出预设格式的图片,预设格式中包括视频标识信息的字段,视频标识信息用于标识视频码流;服务端设备将预设格式的图片转化为待渲染图片,待渲染图片中携带有视频标识信息。
在一些实施例中,服务端设备向客户端设备发送第一消息,包括:服务端设备基于待渲染图片解析出视频标识信息;服务端设备基于视频标识信息确定对应的视频码流,向客户端设备发送携带有视频码流的第一消息。由于视频标识信息和视频码流具有对应关系,服务端设备基于获取到的视频标识信息,确定与该视频标识信息对应的视频码流。
在一些实施例中,服务端设备基于视频码流构造出预设格式的图片,包括:服务端设备调用视频解码组件对视频码流进行解码;服务端设备拦截对视频解码组件的第二调用指令,基于视频码流构造预设格式的图片。这里,服务端设备在对视频码流进行解码时,拦截调用视频解码API的接口调用指令和视频码流;然后基于视频码流并构造预设格式的图片,预设格式的图片中嵌入视频标识信息。
在一些实施例中,第一消息中还包括以下一项或多项信息:视频标识信息;第一调用指令,第一调用指令中包括调用图片渲染组件需要调用的接口;第二调用指令,第二调用指令中包括调用视频解码组件需要调用的接口;非视频码流类型的待显示数据,待显示数据为与视频码流同步显示的数据。视频标识信息用于标识对应的视频码流;第一调用指令和第二调用指令用于为客户端设备提供需要调用的接口,从而客户端设备无需进行接口注册等操作,提高效率。
在一些实施例中,预设格式为YUV格式,其中U和V的数值均为128,Y中包括视频标识信息的字段。预设格式的YUV图片是为了在后续图片处理的过程中被识别出,提取其中的特定字段,例如视频标识信息。而大多数图像处理操作都是基于RGB格式。因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式。这种预设YUV数据格式即使YUV图片转换为RGB格式时,不会因为浮点计算精度差异而导致数据误差,保证Y分量携带数据的准确。即保证视频标识信息不会因为格式的转化而发生改变。
第二方面,本申请实施例提供一种视频处理方法,该方法包括:客户端设备接收服务端设备发送的第一消息,第一消息包括视频码流;第一消息是服务端设备拦截调用图片渲染组件对待渲染图片进行渲染的第一调用指令之后发送的,待渲染图片是服务端设备基于视频码流确定的;响应于第一消息,客户端设备对视频码流进行解码和渲染;客户端设备输出视频码流对应的显示画面。
本申请实施例,应用于分离渲染的场景,服务端设备运行应用,提供视频码流数据,并拦截服务端设备对视频码流解码后的待渲染图片的渲染操作,指示客户端设备对视频码流进行解码和渲染。这样,服务端设备只需关注逻辑开发,不需要部署GPU硬件,可以实现服务端的低成本和高密度。并且,服务端设备无需将所有纹理图片通过网络传送到客户端设备,服务端只需将原始的视频码流(压缩码流)等数据发送到客户端设备,减少了数据量的传输,从而减少对网络带宽消耗,节约资源。
结合第二方面,在一些实施例中,待渲染图片中携带有视频标识信息,视频标识信息是服务端设备基于视频码流确定的,视频标识信息用于标识视频码流。
结合第二方面,在一些实施例中,待渲染图片是服务端设备将预设格式的图片转化得到的,预设格式的图片服务端设备基于视频码流构造出的,预设格式中包括视频标识信息的字段。
结合第二方面,在一些实施例中,预设格式的图片是服务端设备拦截视频解码组件对视频码流进行解码的第二调用指令之后,基于视频码流构造的。
在一些实施例中,第一消息中还包括以下一项或多项信息:视频标识信息;第一调用指令,第一调用指令中包括调用图片渲染组件需要调用的接口;第二调用指令,第二调用指令中包括调用视频解码组件需要调用的接口;非视频码流类型的待显示数据,待显示数据为与视频码流同步显示的数据。视频标识信息用于标识对应的视频码流;第一调用指令和第二调用指令用于为客户端设备提供需要调用的接口,从而客户端设备无需进行接口注册等操作,提高效率。
在一些实施例中,预设格式为YUV格式,其中U和V的数值均为128,Y中包括视频标识信息的字段。预设格式的YUV图片是为了在后续图片处理的过程中被识别出,提取其中的特定字段,例如视频标识信息。而大多数图像处理操作都是基于RGB格式。因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式。这种预设YUV数据格式即使YUV图片转换为RGB格式时,不会因为浮点计算精度差异而导致数据误差,保证Y分量携带数据的准确。即保证视频标识信息不会因为格式的转化而发生改变。
第三方面,本申请实施例提供一种视频处理系统,其特征在于,包括服务端设备和客户端设备,
服务端设备,用于获取视频码流;
服务端设备,还用于基于视频码流确定待渲染图片;
服务端设备,还用于调用图片渲染组件对待渲染图片进行渲染;
服务端设备,还用于拦截对图片渲染组件的第一调用指令后,向客户端设备发送第一消息,第一消息包括视频码流;
客户端设备,用于基于第一消息对视频码流进行解码和渲染;
客户端设备,还用于输出视频码流对应的显示画面。
第四方面,本申请实施例提供一种计算设备,包括:一个或多个处理器、一个或多个存储器;一个或多个处理器分别与一个或多个存储器耦合;一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令在处理器上运行时,一个或多个处理器调用该计算机指令以使得电子设备执行第一方面或第二方面的任意一种实施例中执行的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行本申请实施例第一方面或第二方面的任意一种实施例中提供的呼叫转移的方法。
第六方面,本申请实施例提供了一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行本申请实施例第一方面或第二方面的任意一种实施例中提供的呼叫转移的方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种通信系统的结构示意图;
图2为本申请实施例提供的一种计算机系统的结构示意图;
图3为本申请实施例提供的一种视频处理方法的结构框架图;
图4为本申请实施例提供的又一种视频处理方法的结构框架图;
图5为本申请实施例提供的一种预设格式图片的数据格式图;
图6a和图6b为本申请实施例提供的一种预设格式图片的数据格式图;
图7为本申请实施例提供的一种视频处理方法的方法流程图;
图8为本申请实施例提供的另一种视频处理方法的方法流程图;
图9为本申请实施例提供的一种视频处理装置的结构示意图;
图10为本申请实施例提供的一种计算机设备的硬件结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本说明书中使用的术语“部件”、“模块即、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在终端设备上运行的应用和终端设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
首先,对本申请实施例的应用场景进行示例性介绍。
本申请实施例提供了一种视频处理方法,能够应用于分离渲染场景,分离渲染即为在图片处理的过程中,将视频的渲染分离给其他设备执行。例如对于视频应用来说,视频应用运行在服务端,显示在手机端,其中,服务端负责提供数据,手机端负责该视频应用的页面渲染、页面显示和用户交互。示例性的,当手机端向服务端请求页面资源时,响应于手机端发送的请求,服务端向手机端提供一些应用程序编程接口(Application ProgrammingInterface,API)使得手机端可以获取到页面显示数据,手机端可以先显示页面,然后手机端基于这些API获取到页面显示数据之后再在手机端进行页面的渲染,显示在手机端上。这样,页面的加载速度会更快,手机端先显示页面再对页面数据进行渲染,用户感知的等待时间会更短,并且这种在手机端进行渲染的方式,服务端只需关注逻辑开发,不需要部署GPU硬件,可以实现服务端的低成本和高密度。本申请实施例,服务端的设备可以称为服务端设备,手机端的设备也可以称为客户端设备。
如图1所示,图1是本申请实施例一种实现场景的系统结构示意图,包括服务端设备,以及一个或多个客户端设备,服务端设备通过网络与客户端设备进行通信,为客户端设备提供相关数据。
服务端设备11包括但不限于网页(Web)服务器、文件传输协议(File TransferProtocol,FTP)服务器、动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)服务器或域名服务器(Domain Name Server,DNS)等等。
客户端设备12可以搭载iOS、Android、Microsoft或者其它操作系统,客户端设备可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备等设备,本申请实施例对该客户端设备的具体类型不作特殊限制。
网络13可以是局域网(local area networks,LAN),也可以是广域网(wide areanetworks,WAN),例如互联网。该网络13可使用任何已知的网络通信协议来实现,上述网络通信协议可以是各种有线或无线通信协议,诸如以太网、通用串行总线(universal serialbus,USB)、火线(FIREWIRE)、全球移动通讯系统(global system for mobilecommunications,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分多址接入(code division multiple access,CDMA)、宽带码分多址(wideband codedivision multiple access,WCDMA),时分码分多址(time-division code divisionmultiple access,TD-SCDMA),长期演进(long term evolution,LTE)、蓝牙、无线保真(wireless fidelity,Wi-Fi)、NFC、基于互联网协议的语音通话(voice over Internetprotocol,VoIP)、支持网络切片架构的通信协议或任何其他合适的通信协议。
可以理解的,本实施例示出的结构并不构成对通信系统10的具体限定。在本申请另一些实施例中,通信系统10可以包括比图示更多或更少的设备。
下面,基于上述图1示出的通信系统,结合下列图2对本申请实施例涉及的系统架构进行说明。
图2为本申请实施例提供的一种视频处理系统的架构示意图。如图2所示,图2中的计算机系统100可以为至少一个客户端设备(客户端设备110、客户端设备111等)提供服务,其中,计算机系统100也可以称为服务端,搭载计算机系统100的设备可以称为服务端设备。
具体来说,计算机系统100上安装有主机操作系统104,该主机操作系统104上安装有至少一个客户操作系统(例如客户操作系统105),可选的,该主机操作系统104上还可以安装虚拟机106,虚拟机106上安装有客户操作系统107。
客户操作系统105上安装有应用程序108,客户操作系统107上安装有应用程序109。该主机操作系统104可以将处理器101、存储器102等硬件资源分配给各个客户操作系统,使得各个客户操作系统相对独立地运行,就相当于各个客户操作系统运行在不同的硬件设备一样。该计算机系统100上的每个客户操作系统可以分别为不同的客户端设备提供服务,例如客户操作系统105为客户端设备110提供服务,客户操作系统107为客户端设备111提供服务。例如应用程序108为视频应用,客户端设备110显示该应用程序108的显示画面,客户操作系统105提供视频应用所调用的服务。
客户端设备110上可以安装客户操作系统105(或其它与客户操作系统105不同的操作系统),也可以不安装客户操作系统105。由于计算机系统100向客户端设备110提供客户操作系统105的界面和功能,所以从用户角度来看,客户端设备110是一个能够实现客户操作系统105功能的终端。例如,当该客户操作系统105为Android系统时,从用户角度来看,客户端设备110就相当于一个能够实现Android功能的终端,当该客户端设备110为手机时,该客户端设备110也可以称为云手机。客户端设备111同理,这里不再赘述。
本申请实施例中涉及到的操作系统(例如主机操作系统104、客户操作系统105、客户操作系统107、客户端设备110安装的操作系统、客户端设备111安装的操作系统)可以是Linux系统、Android系统、鸿蒙系统或者其他操作系统。
计算机系统100可以为一个服务器,也可以为由多台服务器构成的一个服务器集群,也可以为其他具有计算能力的硬件设备。服务器可以是ARM(Advanced RISC Machine)架构的服务器,x86架构的服务器,也可以是其它架构类型的服务器。计算机系统100的硬件包括但不限于处理器101、存储器102和通信接口103,该计算机系统200的软件包括主机操作系统104,其中:
处理器101可以是一个或多个中央处理器(central processing unit,CPU),该处理器101可以是单核处理器,也可以是多核处理器。当然,该处理器101还可以是其他具有计算能力的电路,或者芯片。该处理器101能够运行操作系统104,处理操作系统104上产生的各种任务(或事件),如图像相关的处理策略的执行。
需要说明的是,处理器101上运行主机操作系统104,主机操作系统104上运行着客户操作系统105(或客户操作系统107),客户操作系统105(或客户操作系统107)也可以理解为主机操作系统上的一个应用程序。
存储器102包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmablereadonly memory,EPROM)、非易失性存储器(non-volatile memory,NVM)等,该存储器102用于存储相关程序指令及数据供处理器101读取,以及存储(或缓存)处理器101运行产生的数据。
通信接口103用于接收计算机系统100之外的设备发送的数据,例如,接收客户端设备110(或客户端设备111)对操作系统104的调用指令;该通信接口103还用于向计算机系统100之外的设备发送数据,例如,计算机系统100对图像处理完成之后,将处理完的数据发送给客户端设备110。可选的,该通信接口103在处理器101的控制下进行数据的接收和发送。该通信接口103的通信方式可以是有线通信,也可以是无线通信(例如,通过无线保真WI-FI、蓝牙等通信)。
基于上述系统架构,下面介绍一种视频处理方法,服务端设备(计算机系统100)运行客户操作系统或虚拟机,在其中运行应用程序,客户端设备110(或者客户端设备111)负责页面渲染、显示和用户交互。下面以应用程序108(或应用程序109)为具有视频播放需求的应用程序为例,例如视频应用。
如图3所示,服务端设备包括分离渲染引擎301、视频解码API302、视频解码组件303、图片渲染API拦截组件304以及视频应用305;可选的,服务端设备还可以包括图片渲染API309。客户端设备包括分离渲染引擎306、图片渲染API307以及图片渲染组件308。
其中,视频解码组件303用于提供对视频码流进行解码的服务,视频解码API302用于提供对视频码流进行解码的接口;在一些实施例中,视频解码组件303包括视频解码API302,视频解码API302为调用视频解码组件303所需调用的接口。图片渲染组件308用于提供对图形进行渲染的服务,图片渲染API307和图片渲染API309用于提供对图片进行渲染的接口;在一些实施例中,图片渲染组件308包括图片渲染API307,图片渲染API307为调用图片渲染组件308所需调用的接口。图片渲染API拦截组件304用于拦截对于图片渲染API309的调用。
服务端设备的视频解码组件303和图片渲染API拦截组件304为服务端设备的操作系统内核提供的服务组件。操作系统提供给用户程序(例如视频应用305)进行调用的一组接口(例如视频解码API307、图片渲染API309等),用户程序可以通过这组接口来获得操作系统内核提供的服务(例如视频解码服务、图片渲染服务等)。
分离渲染引擎是一种控制程序,对于服务端设备来说,在图片处理的过程中,分离渲染引擎301控制将渲染这个动作分离给其他设备执行。对于客户端设备来说,在图片处理的过程中,分离渲染引擎306控制客户端设备中的GPU对接收到的待渲染数据进行渲染。
视频处理方法具体包括:
2.1、视频应用305调用视频解码API302对视频码流进行解码。
视频应用305获取到视频解码组件303的对外接口(例如视频解码API302),通过调用该接口从而调用视频解码组件303。视频应用305通过系统内建的视频解码组件303对视频码流进行解码,该视频码流为编码后的压缩码流,常用格式例如包括H.264、H.265等。
2.2、视频解码组件303将该视频码流解码为YUV格式图片,并将解码后的YUV格式图片返回到视频应用305。
其中,视频码流可以解码为多帧YUV图片。
2.3、视频应用305将YUV格式图片转码为纹理图片(RGB格式)。由于YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式。因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式。其中,RGB格式的图片也可以称为纹理图片。
2.4、视频应用305将YUV格式图片转码为纹理图片(RGB格式)后,调用图片渲染API309对纹理图片进行渲染。
2.5、图片渲染API拦截组件304监测到视频应用305调用图片渲染API309的接口调用指令,对该接口调用指令进行拦截,并获取纹理图片。
2.6、图片渲染API拦截组件304将接口调用指令和纹理图片提供到分离渲染引擎301。
2.7、分离渲染引擎301用于控制将渲染这个动作分离给其他设备执行,分离渲染引擎301将纹理图片和调用图片渲染API的接口调用指令发送到客户端设备。
2.8、客户端设备接收到接口调用指令和纹理图片,执行该接口调用指令,调用图片渲染API307对纹理图片进行渲染,通过图片渲染组件308对纹理图片进行实际的图片渲染和显示。
在一些实施例中,图片渲染组件308搭载在客户端设备的GPU中。
在一些实施例中,接口调用指令包括需要调用的一组接口。可选的,该接口调用指令用于指示客户端设备对纹理图片进行渲染,从而使纹理图片显示在该客户端设备或者与该客户端设备连接的显示设备。
上述方式中,可以看出,视频应用305运行在服务端,显示在客户端,其中,服务端负责提供数据,客户端负责该视频应用的页面渲染、页面显示和用户交互。这样,在客户端进行渲染,服务端只需关注逻辑开发,不需要部署GPU硬件,可以实现服务端的低成本和高密度。
然而,视频码流解码后的纹理图片数量很多,分离渲染引擎301需要将所有纹理图片以及渲染指令一起通过网络传送到客户端设备,对网络带宽消耗很大。即使进行无损压缩,其带宽仍然是难以商用。
本申请实施例,提供了一种视频处理方法,可以解决视频应用在分离渲染时网络传输数据量大的问题。
如图4所示,服务端设备包括分离渲染引擎401、视频解码API拦截组件402、图片渲染API拦截组件403以及视频应用404;可选的,服务端设备还可以包括视频解码API405和图片渲染API406。客户端设备包括分离渲染引擎407、视频解码API408、视频解码组件409、图片渲染API410以及图片渲染组件411。
其中,视频解码组件409用于提供对视频码流进行解码的服务,视频解码API408和视频解码API405用于提供对视频码流进行解码的接口;在一些实施例中,视频解码组件409包括视频解码API408。图片渲染组件411用于提供对图形进行渲染的服务,图片渲染API410和图片渲染API406用于提供对图片进行渲染的接口;在一些实施例中,图片渲染组件411包括图片渲染API410。图片渲染API拦截组件403用于拦截对于图片渲染API406的调用;视频解码API拦截组件402用于拦截对于视频解码API405的调用。
服务端设备的视频解码API拦截组件402和图片渲染API拦截组件403为服务端设备提供的服务组件,客户端设备的视频解码组件409为客户端设备提供的服务组件。操作系统提供给应用程序(例如视频应用404)进行调用的一组接口(例如视频解码API405、图片渲染API406等),用户程序可以通过这组接口来获得操作系统内核提供的服务(例如视频解码服务、图片渲染服务等)。
分离渲染引擎是一种控制程序,对于服务端设备来说,在图片处理的过程中,分离渲染引擎控制401将渲染这个动作分离给其他设备执行。对于客户端设备来说,在图片处理的过程中,分离渲染引擎407控制客户端设备的GPU对接收到的待渲染数据进行渲染。
本申请实施例提供的视频处理方法可以包括:
3.1、视频应用404调用视频解码API405对视频码流进行解码。
服务端设备的操作系统或虚拟机中运行的视频应用404在播放视频之前,需要对待播放的视频码流进行处理。这里的视频码流为编码后的压缩码流,常用格式包括但不限于H.264或H.265等。视频应用404首先触发对视频码流的解码,视频应用404获取到视频解码组件的对外接口(例如视频解码API405)后,通过调用该接口从而调用视频解码组件。视频应用404通过服务端设备系统内建的视频解码组件对视频码流进行解码。
3.2、视频解码API拦截组件402监测到视频应用404调用视频解码API405的接口调用指令,对该接口调用指令进行拦截,并获取视频码流。
视频解码API拦截组件402为服务端内建的一个服务组件,对视频解码API405进行监测,当视频应用404调用视频解码API405对视频码流进行解码时,视频解码API拦截组件402检测到调用视频解码API405的接口调用指令,对该接口调用指令进行拦截,并获取待解码的视频码流。在一些实施例中,该接口调用指令包括需要调用的一组接口等信息。
3.3、视频解码API拦截组件402将获取到的视频码流发送到分离渲染引擎401。
可选的,视频解码API拦截组件402将调用视频解码API405的接口调用指令和视频码流发送到分离渲染引擎401。
在一些实施例中,视频解码API拦截组件402获取到视频码流的存储地址,将该存储地址提供给分离渲染引擎401。分离渲染引擎401基于该存储地址能够获取到视频码流。
3.4、视频解码API拦截组件402基于获取到的上述视频码流构造出预设格式的YUV图片,将该YUV图片返回给视频应用。其中,该预设格式下的YUV图片中包括视频标识信息。
视频解码API拦截组件402获取视频码流后,基于该视频码流构造出特定格式的YUV图片,该格式下的YUV图片中包括视频标识信息。该视频标识信息可以标识对应的视频码流。
在一些实施例中,视频标识信息可以为基于预设算法生成的随机数。
在一些实施例中,视频标识信息的生成方式可以为,视频解码API拦截组件402对该视频码流进行解码,对解码的视频第一帧YUV图片数据全量计算SHA256哈希,该哈希值作为该视频码流的视频标识信息。
在一些实施例中,基于视频码流构造出预设格式的YUV图片的执行主体不限于是视频解码API拦截组件402,也可以是其他部件或组件基于视频码流构造出预设格式的YUV图片后,发送到视频解码API拦截组件402;本申请实施例对此不作限制。
本申请实施例示例性的提供了一种YUV图片的预设格式,基于这种预设格式,在YUV图片转换为RGB图片后,仍然不丢失携带的视频标识信息,以及易于后续模块识别出特定构造图片和非构造图片的特定数据排列方式。
在一些实施例中,由于YUV格式转换成RGB格式的公式为:
R=Y+a(V-128);
G=Y-b(U-128)-c(V-128);
B=Y+d(U-128);其中,a、b、c、d为固定数值。
因此,特定格式的YUV图片中规定每个像素的U分量和V分量数值固定为128,只使用Y分量传递信息。这种数据格式即使YUV图片转换为RGB格式时,不会因为浮点计算精度差异而导致数据误差,保证Y分量携带数据的准确。Y分量基于整幅图像的尺寸,按照从上到下、从左到右的顺序,先后包含可变长度前导码、起始符和数据。
如图5所示,图5示例性的示出了一种YUV图片数据格式,其中,
Preamble为可变长度前导码,用于使接收节点(例如视频应用404)进行同步并做好接收数据帧的准备。本申请实施例中,Preamble由数值为255的像素和数值为0的像素连续交替,交替长度不固定,取决于总像素数量和数据长度。如图6a和图6b所示,前导码Preamble可以由255起始,也可以由0起始。在非构造图片中不会出现此种高频变化信号,可用于区分构造图片和非构造图片,后级组件也易于区分识别。
图5中的Start为起始符,长度为1像素,其数值等于最后一个前导码数值,可以是255也可以是0。用于确定数据信息的起始位置。
图5中的Data为携带的数据信息,包括视频标识信息,长度不固定,数值可为任意值。
在一些实施例中,Preamble是用于对非构造图片和构造图片进行区分,因此,Preamble的数值不限于是连续交替的数值255和数值0,还可以是其他的预设的数值或排列方式,本申请对此不作限制。
可以理解的,本申请对YUV图片的数据格式不进行限制,预设格式的YUV图片是为了在后续图片处理的过程中被识别出,提取其中的特定字段,例如视频标识信息。可选的,识别预设格式的YUV图片的方式可以是基于可变长度前导码Preamble进行识别,也可以是基于携带的数据信息data进行识别,本申请实施例对此不作限制。
3.5、视频应用404将预设格式的YUV图片转码为纹理图片(RGB格式)。
由于YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式。因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式。
视频应用404接收到的YUV图片为上述预设格式的YUV图片,这种数据格式即使YUV图片转换为RGB格式时,不会因为浮点计算精度差异而导致数据误差,保证Y分量携带数据的准确,即保证视频标识信息不会因为格式的转化而发生改变。
3.6、视频应用404将预设格式的YUV图片转码为纹理图片(RGB格式)后,调用图片渲染API406对纹理图片进行渲染。
3.7、图片渲染API拦截组件403监测到视频应用404调用图片渲染API406的接口调用指令,对该接口调用指令进行拦截,并获取纹理图片。
图片渲染API拦截组件403为服务端内建的一个服务组件,对图片渲染API406进行监测,当视频应用404调用图片渲染API406对纹理图片进行渲染,图片渲染API拦截组件403对该接口调用指令进行拦截,并获取待渲染的纹理图片(RGB格式)。在一些实施例中,该接口调用指令包括需要调用的一组接口等信息。
3.8、图片渲染API拦截组件403将纹理图片提供到分离渲染引擎401。
可选的,图片渲染API拦截组件403将接口调用指令和纹理图片提供到分离渲染引擎401。这里的接口调用指令为调用图片渲染API406的接口调用指令。
3.9、分离渲染引擎401在获取到的纹理图片中识别出预设格式的图片,并提取出其中的视频标识信息;分离渲染引擎401将视频码流、视频标识信息和接口调用指令发送到客户端设备。
这里的接口调用指令包括调用图片渲染API的接口调用指令和/或调用视频解码API的接口调用指令。
在一些实施例中,分离渲染引擎401将视频码流、视频标识信息和接口调用指令发送到客户端设备封装成适合网络传输的数据集发送到客户端设备。这里的“发送”也可以理解为传输。可选的,分离渲染引擎401基于视频码流传输协议srtp/srtcp将视频码流传输到客户端设备。
在一些实施例中,分离渲染引擎401基于纹理图片的前导码确定出特定格式的图片。特定格式的YUV图片中规定每个像素的U分量和V分量数值固定为128,Y分量的前导码为特定信号(例如高频变化信号)。由于YUV格式转换成RGB格式的公式为:
R=Y+a(V-128);
G=Y-b(U-128)-c(V-128);
B=Y+d(U-128);其中,a、b、c、d为固定数值。
因此,该特定格式的YUV图片转化为RGB图片后Y分量的信息没有变化。
即,分离渲染引擎401基于高频变化的前导码在纹理图片中识别出特定格式的纹理图片,并提取出其中的视频标识信息。
在一些实施例中,分离渲染引擎401基于纹理图片中的视频标识信息确定出特定格式的图片。可选的,该视频标识信息为基于预设算法计算出的数据。分离渲染引擎401可以基于同样的预设算法进行计算,若计算出的数据与视频标识信息一致,则识别出该纹理图片为特定格式的图片,并提取出其中的视频标识信息。
服务端的分离渲染引擎401用于提供分离渲染服务,然后,分离渲染引擎401将视频码流、视频标识信息和调用图片渲染API的接口调用指令发送到客户端设备。
由于视频标识信息和视频码流具有对应关系,分离渲染引擎401基于获取到的视频标识信息,确定与该视频标识信息对应的视频码流。分离渲染引擎401将视频码流、视频标识信息和调用图片渲染API的接口调用指令封装成适合网络传输的数据集发送到远程渲染显示端。该远程渲染显示端即为客户端设备。
在一些实施例中,视频解码API拦截组件402获取到视频码流的存储地址,将该存储地址发送到分离渲染引擎401,分离渲染引擎401接收到视频码流的存储地址,获取到视频码流。
可选的,分离渲染引擎401将视频码流发送到客户端设备。
可选的,分离渲染引擎401将视频码流、视频标识信息封装成适合网络传输的数据集发送到客户端设备。
可选的,分离渲染引擎401将视频码流、视频标识信息、接口调用指令封装成适合网络传输的数据集发送到客户端设备。
可选的,分离渲染引擎401将视频码流、接口调用指令封装成适合网络传输的数据集发送到客户端设备。
3.10、客户端设备的分离渲染引擎407接收到服务端设备发送的数据集,调用视频解码API408对视频码流进行解码。
分离渲染引擎407获取到视频解码组件409的对外接口(例如视频解码API408),调用该接口从而调用视频解码组件409,通过客户端设备系统内建的视频解码组件409对视频码流进行解码。
在一些实施例中,分离渲染引擎407接收到分离渲染引擎401发送的数据集中包括接口调用指令(调用视频解码API的接口调用指令),分离渲染引擎407执行该接收到的接口调用指令,调用视频解码API408对视频码流进行解码。
3.11、视频解码组件409将该视频码流解码为YUV格式图片。
其中,视频码流可以解码为多帧YUV图片。
3.12、分离渲染引擎407将YUV图片转码为纹理图片(RGB格式),调用图片渲染API410对纹理图片进行渲染,通过图片渲染组件411对纹理图片进行实际的图片渲染和显示。
分离渲染引擎407获取到图片渲染组件411的对外接口(例如图片渲染API410),调用该接口从而调用图片渲染组件411,通过客户端设备系统内建的图片渲染组件411对纹理图片进行渲染。
在一些实施例中,分离渲染引擎407接收到分离渲染引擎401发送的数据集中包括接口调用指令(例如调用图片渲染API的接口调用指令),分离渲染引擎407执行该接口调用指令,调用图片渲染API410对纹理图片进行渲染。
在一些实施例中,分离渲染引擎407接收到分离渲染引擎401发送的数据集中包括视频标识信息,分离渲染引擎407接收到解码后的多帧YUV图片后,根据视频标识信息和解码帧信息重建出符合原始视频解码帧顺序的纹理图片序列,将多帧YUV图片转换为RGB格式。然后按照接口调用指令进行渲染,从而使纹理图片显示在该客户端设备或者与该客户端设备连接的显示设备。
在一些实施例中,图片渲染组件411搭载在客户端设备的GPU中。
在一些实施例中,接口调用指令包括需要调用的一组接口。可选的,该接口调用指令用于指示客户端设备对纹理图片进行渲染,从而使纹理图片显示在该客户端设备或者与该客户端设备连接的显示设备。
本申请实施例,服务端设备在对视频码流进行解码时,拦截调用视频解码API的接口调用指令和视频码流;然后基于视频码流并构造预设格式的YUV图片,预设格式的YUV图片中嵌入视频标识信息。服务端设备将预设格式的YUV图片转码为RGB格式的纹理图片,在对纹理图片进行解码时,服务端设备拦截调用图片渲染API的接口调用指令和纹理图片,解析出预设格式的图片和提取图片中视频识别信息。
服务端设备后续将接口调用指令、自然纹理图片、原始视频码流、视频标识信息通过网络发送到远程的渲染显示端(客户端设备)。客户端设备调用本地视频解码组件解码视频码流,通过视频标识信息重建视频帧序列纹理图片,调用本地图片渲染组件进行实际渲染并显示视频应用的图形画面。
上述方式中,视频应用在客户端进行渲染,服务端设备只需关注逻辑开发,不需要部署GPU硬件,可以实现服务端的低成本和高密度。并且,服务端设备无需将所有纹理图片通过网络传送到客户端设备,服务端只需将原始的视频码流(压缩码流)等数据发送到客户端设备,减少了数据量的传输,从而减少对网络带宽消耗,节约资源。
以上详细描述了对于视频码流来说,本申请实施例提供的视频处理方法中服务端设备和客户端设备的示例性的内部数据流走向,其中,上述示出的模块、部件、组件等示意的结构并不构成对实施本申请实施例提供的视频处理方法的具体限定。在本申请另一些实施例中,服务端或客户端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
结合上述实施例,下面描述本申请实施例提供的视频处理方法中服务端设备和客户端设备之间的数据交互流程。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。如图7所示,图7为本申请实施例提供的一种视频处理方法的流程示意图。请参见图7,该方法可以包括:
步骤S101:服务端设备获取视频码流。
服务端设备运行的应用程序在播放视频时,服务端设备获取待显示的视频码流。其中,应用程序包括但不限于视频播放类应用、新闻类应用、音乐类应用、游戏类应用等。本申请实施例以视频应用为例,服务端设备获取视频应用提供的待显示的视频码流。这里,视频应用提供的待显示的视频码流为编码后的压缩码流,常用格式包括但不限于H.264或H.265等。本申请实施例,该视频码流也可称为原始视频码流。
在一些实施例中,服务端设备获取到其他设备发送的视频码流,其他设备可以是云服务器、数据库服务器、后台服务器、应用服务器等等。可选的,视频应用运行在该其他设备上。
在一些实施例中,服务端设备在获取视频码流的同时,也会获取其他的待显示数据。这里的其他待显示数据为与视频码流同步显示的数据,例如视频未全屏播放时显示在应用界面上的图片、图标、文字等显示数据。可选的,服务器端设备可以获取同步播放的两条或两条以上的视频码流。
步骤S102:服务端设备向客户端设备发送第一消息,第一消息携带了视频码流,指示客户端设备对该视频码流进行处理。
服务端设备获取视频码流后,服务端设备可以不对视频码流做解码和渲染等处理,而是指示客户端设备对视频码流进行解码和渲染等处理。服务端设备向客户端设备发送第一消息,第一消息携带该视频码流。
在一些实施例中,第一消息还携带了接口调用指令,该接口调用指令中包括对视频码流进行解码时需要调用的接口、对解码后的纹理图片进行渲染时需要调用的接口等。这样,客户端设备无需执行接口注册等动作,可以快速对视频码流进行处理,提高处理效率。
在一些实施例中,服务端设备获取视频码流之后,服务端设备基于视频码流确定视频标识信息,视频标识信息用于标识该视频码流,其中,对于视频标识信息的表述可以参考上述图3中步骤3.4的相关描述,这里不再赘述。
在一些实施例中,第一消息还携带了视频标识信息。
在一些实施例中,服务端设备在获取视频码流的同时,也会获取其他的待显示数据。这里的其他待显示数据为与视频码流同步显示的数据,例如视频未全屏播放时显示在应用界面上的图片、图标、文字等非视频码流类型的数据。服务端设备基于对数据类型的识别,对非视频码流的待显示数据进行解码得到非视频码流对应的待渲染图片,然后服务端设备将视频码流和非视频码流对应的待渲染图片发送到客户端设备。即第一消息还携带了非视频码流的待渲染图片。
在一些实施例中,服务端设备向客户端设备发送第一消息,该第一消息携带了两条或两条以上的视频码流,指示客户端设备对该两条或两条以上的视频码流进行处理。该两条或两条以上的视频码流为需同步显示的视频。
步骤S103:客户端设备基于第一消息对视频码流进行处理,输出该视频码流对应的显示画面。
客户端设备接收到第一消息,该第一消息携带了视频码流,客户端设备基于该第一消息对视频码流进行解码、渲染等处理,输出该视频码流对应的显示画面。
在一些实施例中,客户端设备显示该视频码流对应的显示画面,或者与客户端连接的显示设备显示该视频码流对应的显示画面。
在一些实施例中,第一消息还携带了视频标识信息。客户端设备对视频码流进行解码,得到解码后的多帧YUV图片,客户端设备根据视频标识信息和解码帧信息重建出符合原始视频解码帧顺序的纹理图片序列,将多帧YUV图片转换为RGB格式。然后对纹理图片进行渲染,从而使纹理图片显示在该客户端设备或者与该客户端设备连接的显示设备。
在一些应用场景中,第一消息携带了两条或两条以上的视频码流,该两条或两条以上的视频码流为需同步显示的视频。客户端设备对该两条或两条以上的视频码流进行解码,获取到多帧解码图片,客户端设备基于视频标识信息对该多帧解码图片进行识别和排序,基于该排序对该多帧解码图片对应的纹理图片按顺序进行渲染,从而将纹理图片显示在该客户端设备或者与该客户端设备连接的显示设备。即视频标识信息可以用于客户端设备区分需要同步播放的两条或两条以上的视频码流。
在一些实施例中,第一消息还携带了接口调用指令,该接口调用指令中包括对视频码流进行解码时需要调用的接口、对解码后的纹理图片进行渲染时需要调用的接口等。这样,客户端设备无需执行接口注册等动作,可以按照接口调用指令中指示的接口调用相应的服务组件(例如视频解码组件、图片渲染组件等)对视频码流进行处理,提高处理效率。
在一些实施例中,第一消息还携带了非视频码流的待渲染图片,客户端设备对该非视频码流的待渲染图片进行渲染,与视频码流同步显示在该客户端设备或者与该客户端设备连接的显示设备。
本申请实施例,服务端设备运行视频应用,提供视频码流数据,指示客户端设备对该视频码流进行解码和渲染。这样,在视频播放的过程中,服务端设备只需将原始的视频码流发送到客户端设备,由客户端设备对原始的视频码流进行处理,减少了服务端设备和客户端设备之间数据量的传输,从而减少对网络带宽消耗,节约资源。
如图8所示,图8为本申请实施例提供的又一种视频处理方法的流程示意图。请参见图8,该方法可以包括:
步骤S201:服务端设备获取视频码流。
这里可以参考上述步骤S101的相关描述,此处不再赘述。
步骤S202:服务端设备基于该视频码流确定待渲染图片。
服务端设备获取视频码流后,服务端设备基于该视频码流确定待渲染图片,一般来说,待渲染图片为RGB格式。可选的,待渲染图片也可称为纹理图片。纹理图片经过渲染可以显示在显示设备上。
在一些实施例中,服务端设备获取视频码流后,服务端设备基于该视频码流构造出预设格式的图片,然后把该预设格式的图片转化为待渲染图片。
可选的,该预设格式可以为YUV格式,“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
可选的,该预设格式可以是特定的YUV格式,即“U”和“V”的数值均为128,“Y”中包括视频标识信息的字段。该视频标识信息可以标识对应的视频码流。其中,该预设格式的图片在转化为其他格式的图片时,其中携带的视频标识信息不会改变。对于特定的YUV格式的表述可以参考上述图3中步骤3.4的相关描述,这里不再赘述。
在一些实施例中,服务端设备获取到视频码流后,调用视频解码组件对该视频码流进行解码。视频解码组件为服务端设备内置的一个功能组件,可以将视频码流解码为多帧YUV格式图片。服务端设备监测到对该调用进行拦截,即阻止对视频码流进行解码。拦截成功后,服务器端设备基于该视频码流构造出预设格式的图片。服务端设备将该预设格式的图片转化为待渲染图片。本申请实施例中,服务端设备调用视频解码组件的调用指令可以称为第二调用指令。
步骤S203:服务端设备调用图片渲染组件对待渲染图片进行渲染。
步骤S204:服务端设备拦截对图片渲染组件的调用。
服务端设备拦截对图片渲染组件的调用,并获取待渲染图片(RGB格式)。本申请实施例中,服务端设备调用图片渲染组件的调用指令可以称为第一调用指令。
步骤S205:服务端设备向客户端设备发送第一消息。
该第一消息中携带了视频码流,该视频码流为服务端设备拦截到的待渲染图片对应的视频码流。
在一些实施例中,服务端设备拦截对所述图片渲染组件的第一调用指令,获取到待渲染图片,服务端设备在获取到的待渲染图片中识别出特定格式的图片。
可选的,特定格式的YUV图片中规定每个像素的U分量和V分量数值固定为128,Y分量的前导码为特定信号(例如高频变化信号)。服务端设备基于待渲染图片的前导码确定出特定格式的图片。
可选的,特定格式的图片中包括视频标识信息,服务端设备基于待渲染图片中的视频标识信息确定出特定格式的图片。可选的,该视频标识信息为基于预设算法计算出的数据。服务端设备可以基于同样的预设算法进行计算,若计算出的数据与视频标识信息一致,则识别出该纹理图片为特定格式的图片,并提取出其中的视频标识信息。
进一步的,服务端设备基于视频码流构造出特定格式的图片后,服务器设备将该特定格式的图片转化为纹理图片(待渲染图片)。然后服务器设备调用图片渲染组件对该纹理图片进行渲染。图片渲染组件为服务端设备内置的一个功能组件,可以渲染纹理图片从而在显示端进行显示。服务端设备对该调用进行拦截,即阻止对纹理图片进行渲染。拦截成功后,服务端设备对该纹理图片进行解析,识别出特定格式的纹理图片,并提取出其中的视频标识信息。由于视频标识信息和视频码流具有对应关系,服务端设备基于视频标识信息可以确定对应的视频码流。服务端设备向客户端设备发送第一消息,该第一消息携带了视频码流。
在一些实施例中,第一消息还携带了接口调用指令,该接口调用指令中包括对视频码流进行解码时需要调用的接口、对解码后的纹理图片进行渲染时需要调用的接口等。例如该接口调用指令中包括第一调用指令和/或第二调用指令。这样,客户端设备无需执行接口注册等动作,可以快速对视频码流进行处理,提高处理效率。
在一些实施例中,第一消息中还可以携带视频标识信息。
在一些实施例中,服务端设备在获取视频码流的同时,也会获取其他的待显示数据。这里的其他待显示数据为与视频码流同步显示的数据,例如视频未全屏播放时显示在应用界面上的图片、图标、文字等非视频码流类型的数据。服务端设备基于对数据类型的识别,对视频码流构造出预设格式的图片,然后把该预设格式的图片转化为待渲染图片;对非视频码流的待显示数据进行解码得到非视频码流对应的待渲染图片。然后服务端设备将视频码流和非视频码流对应的待渲染图片发送到客户端设备。即第一消息还携带了非视频码流的待渲染图片。
步骤S206:客户端设备基于第一消息对视频码流进行处理,输出该视频码流对应的显示画面。
这里可以参考上述步骤S103的相关描述,此处不再赘述。
本申请实施例,应用于分离渲染的场景,服务端设备运行应用,提供视频码流数据,并拦截服务端设备对视频码流解码后的待渲染图片的渲染操作,指示客户端设备对视频码流进行解码和渲染。这样,在视频播放的过程中,服务端设备只需将原始的视频码流发送到客户端设备,由客户端设备对原始的视频码流进行处理,减少了服务端设备和客户端设备之间数据量的传输,从而减少对网络带宽消耗,节约资源。
基于上述实施例,在一些实施方式中,服务端设备获取到两个同步播放的视频码流。服务端设备基于该两个视频码流分别构造出预设格式的图片,然后把该预设格式的图片转化为待渲染图片。该预设格式中包括视频标识信息的字段。对于该预设格式的表述可以参考上述图3中步骤3.4的相关描述,这里不再赘述。
例如,服务端设备获取到两个同步播放的视频码流a和视频码流b,服务端设备构造出视频码流a对应的预设格式的图片,该图片中包括视频标识信息c;服务端设备构造出视频码流b对应的预设格式的图片,该图片中包括视频标识信息d。其中,视频标识信息c与视频码流a对应,视频标识信息d与视频码流b对应。其中,预设格式的图片转化为待渲染图片,其中的视频标识信息不会改变。
服务端设备调用图片渲染组件对待渲染图片进行渲染,服务端设备拦截对图片渲染组件的调用,并获取待渲染图片。然后服务端设备识别出待渲染图片中的视频标识信息,确定与视频标识信息对应的视频码流。服务端设备将与视频标识信息对应的视频码流发送给客户端设备。即服务端设备向客户端设备发送第一消息,第一消息携带了视频码流a和视频码流b,指示客户端设备对该视频码流进行处理。
示例性的,如图9所示,图9示出了上述实施例中所涉及的视频处理装置的一种可能的结构示意图,该视频处理装置90包括:获取单元901、确定单元902和发送单元903。
获取单元901,用于获取视频应用的视频码流;
确定单元902,用于基于视频码流确定待渲染图片;
发送单元903,用于拦截第一调用指令后,向客户端设备发送第一消息;第一调用指令用于调用图片渲染组件对待渲染图片进行渲染;第一消息包括视频码流,第一消息用于指示客户端设备对视频码流进行处理。
在一些实施例中,确定单元902,还用于发送单元903向客户端设备发送第一消息之前,基于视频码流确定视频标识信息,视频标识信息用于标识视频码流,待渲染图片中携带有视频标识信息。
在一些实施例中,确定单元902包括构造子单元904和转化子单元905,其中,构造子单元904用于基于视频码流构造出预设格式的图片,预设格式中包括视频标识信息的字段,视频标识信息用于标识视频码流;转化子单元905用于将预设格式的图片转化为待渲染图片,待渲染图片中携带有视频标识信息。
在一些实施例中,发送单元903具体用于基于待渲染图片解析出视频标识信息;并基于视频标识信息确定对应的视频码流,向客户端设备发送携带有视频码流的第一消息。由于视频标识信息和视频码流具有对应关系,基于获取到的视频标识信息,确定与该视频标识信息对应的视频码流。
在一些实施例中,构造子单元904具体用于调用视频解码组件对视频码流进行解码;服务端设备拦截对视频解码组件的第二调用指令,基于视频码流构造预设格式的图片。
在一些实施例中,第一消息中还包括以下一项或多项信息:视频标识信息;第一调用指令,第一调用指令中包括调用图片渲染组件需要调用的接口;第二调用指令,第二调用指令中包括调用视频解码组件需要调用的接口;非视频码流类型的待显示数据,待显示数据为与视频码流同步显示的数据。视频标识信息用于标识对应的视频码流;第一调用指令和第二调用指令用于为客户端设备提供需要调用的接口,从而客户端设备无需进行接口注册等操作,提高效率。
在一些实施例中,预设格式为YUV格式,其中U和V的数值均为128,Y中包括视频标识信息的字段。预设格式的YUV图片是为了在后续图片处理的过程中被识别出,提取其中的特定字段,例如视频标识信息。而大多数图像处理操作都是基于RGB格式。因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式。这种预设YUV数据格式即使YUV图片转换为RGB格式时,不会因为浮点计算精度差异而导致数据误差,保证Y分量携带数据的准确。即保证视频标识信息不会因为格式的转化而发生改变。
本申请实施例还提供了一种计算机设备,可选的,服务端设备和客户端设备均可认为是一种计算机设备,该计算机设备包括处理器和存储器,处理器与存储器连接,存储器存储有计算机执行指令,处理器执行该计算机执行指令时实现上述实施例中的数据处理方法。本申请实施例对计算机设备的具体形式不作任何限制。例如,计算机设备具体可以是终端装置,也可以是网络设备。其中,终端装置可以被称为:终端、用户设备(user equipment,UE)、终端设备、接入终端、用户单元、用户站、移动站、远方站、远程终端、移动设备、用户终端、无线通信设备、用户代理或用户装置等。终端装置具体可以是手机、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等。网络设备具体可以是服务器等。其中,服务器可以是一个物理或逻辑服务器,也可以是有两个或两个以上分担不同职责的物理或逻辑服务器、相互协同来实现服务器的各项功能。
在硬件实现上,上述计算机设备可以通过如图10所示的计算机设备实现。如图10所示,为本申请实施例提供的一种计算机设备200的硬件结构示意图。计算机设备200可以用于实现上述计算机设备的功能。
图10所示的计算机设备200可以包括:处理器210、存储器220、通信接口230以及总线240。处理器210、存储器220以及通信接口230之间可以通过总线240连接。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。在一些实施例中,分离渲染引擎可以搭载在处理器210中。在一些实施例中,客户端设备中的处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。GPU为图像处理的微处理器,连接显示设备和应用处理器。GPU用于执行数学和几何计算,用于图片渲染。
存储器220可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
在一些实施例中,存储器220可以独立于处理器210存在。存储器220可以通过总线240与处理器210相连接,用于存储数据、指令或者程序代码。处理器210调用并执行存储器220中存储的指令或程序代码时,能够实现本申请实施例提供的视频处理方法。在一些实施例中,存储器220也可以和处理器210集成在一起。
通信接口230,用于计算机设备200与其他设备通过通信网络连接,该通信网络可以是以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。通信接口230可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线240,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
需要指出的是,图10中示出的结构并不构成对计算机设备200的限定,除图10所示部件之外,计算机设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上文提供的任一种计算机设备所执行的方法。
关于上述提供的任一种计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
本申请实施例还提供了一种芯片。该芯片中集成了用于实现上述计算机设备130的功能的控制电路和一个或者多个端口。可选的,该芯片支持的功能可以参考上文,此处不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。所述的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定集成电路(application specific integrated circuit,ASIC)、微处理器(digital signal processor,DSP),现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如SSD)等。
应注意,本申请实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种视频处理方法,其特征在于,所述方法包括:
服务端设备获取所述视频应用的视频码流;
所述服务端设备基于所述视频码流确定待渲染图片;
所述服务端设备拦截第一调用指令后,向客户端设备发送第一消息;所述第一调用指令用于调用图片渲染组件对所述待渲染图片进行渲染;所述第一消息包括所述视频码流,所述第一消息用于指示所述客户端设备对所述视频码流进行处理。
2.根据权利要求1所述的方法,其特征在于,所述服务端设备向客户端设备发送第一消息之前,所述方法还包括:
所述服务端设备基于所述视频码流确定视频标识信息,所述视频标识信息用于标识所述视频码流,所述待渲染图片中携带有所述视频标识信息。
3.根据权利要求2所述的方法,其特征在于,所述服务端设备基于所述视频码流确定待渲染图片,包括:
所述服务端设备基于所述视频码流构造出预设格式的图片,所述预设格式中包括视频标识信息的字段,所述视频标识信息用于标识所述视频码流;
所述服务端设备将所述预设格式的图片转化为待渲染图片,所述待渲染图片中携带有所述视频标识信息。
4.根据权利要求2或3所述的方法,其特征在于,所述服务端设备向客户端设备发送第一消息,包括:
所述服务端设备基于所述待渲染图片解析出所述视频标识信息;
所述服务端设备基于所述视频标识信息确定对应的所述视频码流,向客户端设备发送携带有所述视频码流的第一消息。
5.根据权利要求3所述的方法,其特征在于,所述服务端设备基于所述视频码流构造出预设格式的图片,包括:
所述服务端设备调用视频解码组件对所述视频码流进行解码;
所述服务端设备拦截对所述视频解码组件的第二调用指令,基于所述视频码流构造预设格式的图片。
6.根据权利要求5所述的方法,其特征在于,所述第一消息中还包括以下一项或多项信息:所述视频标识信息;所述第一调用指令,所述第一调用指令中包括调用所述图片渲染组件需要调用的接口;所述第二调用指令,所述第二调用指令中包括调用所述视频解码组件需要调用的接口;非视频码流类型的待显示数据,所述待显示数据为与所述视频码流同步显示的数据。
7.根据权利要求2-6任一项所述的方法,其特征在于,所述预设格式为YUV格式,其中U和V的数值均为128,Y中包括视频标识信息的字段。
8.一种视频处理方法,其特征在于,所述方法包括:
客户端设备接收服务端设备发送的第一消息,所述第一消息包括视频码流;所述第一消息是所述服务端设备拦截调用图片渲染组件对所述待渲染图片进行渲染的第一调用指令之后发送的,所述待渲染图片是所述服务端设备基于所述视频码流确定的;
响应于所述第一消息,所述客户端设备对所述视频码流进行解码和渲染;
所述客户端设备输出所述视频码流对应的显示画面。
9.一种视频处理系统,其特征在于,包括服务端设备和客户端设备,
所述服务端设备,用于获取视频码流;
所述服务端设备,还用于基于所述视频码流确定待渲染图片;
所述服务端设备,还用于调用图片渲染组件对所述待渲染图片进行渲染;
所述服务端设备,还用于拦截对所述图片渲染组件的第一调用指令后,向客户端设备发送第一消息,所述第一消息包括所述视频码流;
所述客户端设备,用于基于所述第一消息对所述视频码流进行解码和渲染;
所述客户端设备,还用于输出所述视频码流对应的显示画面。
10.一种计算设备,其特征在于,包括:一个或多个处理器、一个或多个存储器;所述一个或多个处理器分别与所述一个或多个存储器耦合;所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令在所述处理器上运行时,使得所述处理器执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902575.7A CN115278301B (zh) | 2022-07-27 | 2022-07-27 | 视频处理方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902575.7A CN115278301B (zh) | 2022-07-27 | 2022-07-27 | 视频处理方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115278301A true CN115278301A (zh) | 2022-11-01 |
CN115278301B CN115278301B (zh) | 2023-12-22 |
Family
ID=83771940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210902575.7A Active CN115278301B (zh) | 2022-07-27 | 2022-07-27 | 视频处理方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115278301B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115695850A (zh) * | 2022-11-08 | 2023-02-03 | 瀚博半导体(上海)有限公司 | 视频数据处理方法、装置、电子设备和介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140074913A1 (en) * | 2012-09-10 | 2014-03-13 | Calgary Scientific Inc. | Client-side image rendering in a client-server image viewing architecture |
WO2016146078A1 (zh) * | 2015-03-19 | 2016-09-22 | 华为技术有限公司 | 一种多媒体重定向的方法、设备和系统 |
US20170354878A1 (en) * | 2016-06-13 | 2017-12-14 | Sony Interactive Entertainment America Llc | Browser-based cloud gaming |
CN111193878A (zh) * | 2020-01-03 | 2020-05-22 | 北京字节跳动网络技术有限公司 | 一种多媒体文本信息处理方法、装置、介质和电子设备 |
CN112230923A (zh) * | 2020-11-05 | 2021-01-15 | Oppo广东移动通信有限公司 | 用户界面渲染方法、用户界面渲染装置及服务器 |
CN112383539A (zh) * | 2020-11-11 | 2021-02-19 | 视若飞信息科技(上海)有限公司 | 一种基于远程过程调用云浏览器的方法、装置和电子设备 |
CN112770188A (zh) * | 2019-11-01 | 2021-05-07 | 杭州海康威视系统技术有限公司 | 一种视频播放方法及装置 |
CN113141511A (zh) * | 2021-04-20 | 2021-07-20 | 上海卓易科技股份有限公司 | 一种图形渲染方法及设备 |
CN113542875A (zh) * | 2021-06-24 | 2021-10-22 | 深圳华远云联数据科技有限公司 | 视频处理方法、装置、电子设备以及存储介质 |
CN113727142A (zh) * | 2021-09-02 | 2021-11-30 | 北京沃东天骏信息技术有限公司 | 云渲染方法及装置、计算机可存储介质 |
US20210409734A1 (en) * | 2020-06-30 | 2021-12-30 | At&T Mobility Ii Llc | Separation of graphics from natural video in streaming video content |
CN113946402A (zh) * | 2021-11-09 | 2022-01-18 | 中国电信股份有限公司 | 基于渲染分离的云手机加速方法、系统、设备及存储介质 |
CN114268796A (zh) * | 2021-12-22 | 2022-04-01 | 天翼云科技有限公司 | 视频流处理的方法及装置 |
CN114650434A (zh) * | 2020-12-18 | 2022-06-21 | 华为云计算技术有限公司 | 一种基于云服务的渲染方法及其相关设备 |
-
2022
- 2022-07-27 CN CN202210902575.7A patent/CN115278301B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140074913A1 (en) * | 2012-09-10 | 2014-03-13 | Calgary Scientific Inc. | Client-side image rendering in a client-server image viewing architecture |
WO2016146078A1 (zh) * | 2015-03-19 | 2016-09-22 | 华为技术有限公司 | 一种多媒体重定向的方法、设备和系统 |
US20170354878A1 (en) * | 2016-06-13 | 2017-12-14 | Sony Interactive Entertainment America Llc | Browser-based cloud gaming |
CN112770188A (zh) * | 2019-11-01 | 2021-05-07 | 杭州海康威视系统技术有限公司 | 一种视频播放方法及装置 |
CN111193878A (zh) * | 2020-01-03 | 2020-05-22 | 北京字节跳动网络技术有限公司 | 一种多媒体文本信息处理方法、装置、介质和电子设备 |
US20210409734A1 (en) * | 2020-06-30 | 2021-12-30 | At&T Mobility Ii Llc | Separation of graphics from natural video in streaming video content |
CN112230923A (zh) * | 2020-11-05 | 2021-01-15 | Oppo广东移动通信有限公司 | 用户界面渲染方法、用户界面渲染装置及服务器 |
CN112383539A (zh) * | 2020-11-11 | 2021-02-19 | 视若飞信息科技(上海)有限公司 | 一种基于远程过程调用云浏览器的方法、装置和电子设备 |
CN114650434A (zh) * | 2020-12-18 | 2022-06-21 | 华为云计算技术有限公司 | 一种基于云服务的渲染方法及其相关设备 |
CN113141511A (zh) * | 2021-04-20 | 2021-07-20 | 上海卓易科技股份有限公司 | 一种图形渲染方法及设备 |
CN113542875A (zh) * | 2021-06-24 | 2021-10-22 | 深圳华远云联数据科技有限公司 | 视频处理方法、装置、电子设备以及存储介质 |
CN113727142A (zh) * | 2021-09-02 | 2021-11-30 | 北京沃东天骏信息技术有限公司 | 云渲染方法及装置、计算机可存储介质 |
CN113946402A (zh) * | 2021-11-09 | 2022-01-18 | 中国电信股份有限公司 | 基于渲染分离的云手机加速方法、系统、设备及存储介质 |
CN114268796A (zh) * | 2021-12-22 | 2022-04-01 | 天翼云科技有限公司 | 视频流处理的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115695850A (zh) * | 2022-11-08 | 2023-02-03 | 瀚博半导体(上海)有限公司 | 视频数据处理方法、装置、电子设备和介质 |
CN115695850B (zh) * | 2022-11-08 | 2023-09-08 | 瀚博半导体(上海)有限公司 | 视频数据处理方法、装置、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115278301B (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110936B2 (en) | Web-based live broadcast | |
WO2022257699A1 (zh) | 图像画面显示方法、装置、设备、存储介质及程序产品 | |
WO2022242358A1 (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
US9558718B2 (en) | Streaming video data in the graphics domain | |
US11893963B2 (en) | Wireless programmable media processing system | |
CN115278301B (zh) | 视频处理方法、系统及设备 | |
CN112764877A (zh) | 一种用于硬件加速设备与docker内进程通信的方法与系统 | |
US20220116634A1 (en) | Multi-pixel caching scheme for lossless encoding | |
US20200128264A1 (en) | Image processing | |
CN108389165B (zh) | 一种图像去噪方法、装置、终端系统和存储器 | |
US10249269B2 (en) | System on chip devices and operating methods thereof | |
US9875076B1 (en) | Remoting client having GPU off-loader | |
CN116244231A (zh) | 一种数据传输方法、装置、系统、电子设备及存储介质 | |
EP3229478B1 (en) | Cloud streaming service system, image cloud streaming service method using application code, and device therefor | |
CN116546262A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110570502A (zh) | 显示图像帧的方法、装置、电子设备和计算机可读存储介质 | |
CN110855539B (zh) | 设备发现方法、装置及存储介质 | |
US11756151B1 (en) | End-cloud collaborative media data processing method and apparatus, device, and storage medium | |
CN117635798A (zh) | 图像渲染方法、装置和计算设备 | |
WO2024064436A1 (en) | Deep learning model for high resolution predictions | |
CN115865908A (zh) | 远程桌面系统启动控制方法及相关设备 | |
CN116010042A (zh) | 图像采集设备的控制方法、装置和电子设备 | |
US20180046466A1 (en) | Method and system for the loading of an operating system on a computing device | |
CN114928730A (zh) | 图像处理方法和图像处理装置 | |
CN116170634A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231113 Address after: 10/F, Chuangzhi Tiandi Building, Dongshigeng Street, Zhongdao East Road, Longzihu Wisdom Island, Zhengdong New District, Zhengzhou City, Henan Province, 450000 Applicant after: Henan Kunlun Technology Co.,Ltd. Address before: 450000 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu smart Island, Zhengdong New District, Zhengzhou City, Henan Province Applicant before: xFusion Digital Technologies Co., Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |