CN111432262B - 页面视频渲染方法及装置 - Google Patents

页面视频渲染方法及装置 Download PDF

Info

Publication number
CN111432262B
CN111432262B CN202010113625.4A CN202010113625A CN111432262B CN 111432262 B CN111432262 B CN 111432262B CN 202010113625 A CN202010113625 A CN 202010113625A CN 111432262 B CN111432262 B CN 111432262B
Authority
CN
China
Prior art keywords
video
image data
thread
page
windows
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
Application number
CN202010113625.4A
Other languages
English (en)
Other versions
CN111432262A (zh
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202010113625.4A priority Critical patent/CN111432262B/zh
Publication of CN111432262A publication Critical patent/CN111432262A/zh
Application granted granted Critical
Publication of CN111432262B publication Critical patent/CN111432262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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, rendering scenes according to MPEG-4 scene graphs
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Abstract

本发明公开一种页面视频渲染方法及装置。由主线程创建至少一个子线程,在播放页面视频时,当主线程接收到多个视频窗口的视频原始码流时,主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据;然后,主线程接收子线程回调的每个所述视频窗口的图像数据,当页面刷新时,主线程将多个所述视频窗口的图像数据合并提交至图形处理器。进而,主线程还将基于多个所述视频窗口的图像数据,向所述图形处理器合并提交绘制指令。本技术方案由于将视频解码的过程分配到子线程中,从而提高了多核CPU的利用率,并且通过合并提交图像数据以及合并绘制指令,降低了多视频窗口下的操作耗时及系统开销。

Description

页面视频渲染方法及装置
【技术领域】
本发明涉及网页视频渲染技术领域,尤其涉及一种页面视频渲染方法及装置。
【背景技术】
Web图形库(Web Graphics Library,简称WebGL)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,以使Web开发人员可以借助系统显卡在浏览器里更流畅地展示3D场景和模型,还能创建复杂的导航和数据视觉化。可见,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏。
图1A是现有技术中的一种页面视频渲染方法的信令时序示意图。
参考图1A,在视频播放过程中,流媒体服务101向页面发送视频原始码流,JS(即JavaScript)页面线程102接收到视频原始码流后进行视频解码,并将解码后的纹理数据以及绘制指令发送至图形处理器103(Graphics Processing Unit,简称GPU),GPU基于接收到的纹理数据和执行制定窗口画面的绘制指令,完成画面渲染。
但是,由于操作系统中单个线程只能使用一个CPU核心进行计算,因此在页面中存在多个窗口同时播放视频的场景下,页面视频播放过程中占用JS页面线程的时间将增加,导致JS页面线程的负荷过大。
图1B是采用图1A所示的页面视频渲染方法的过程中JS页面线程的耗时分布示意图。
参考图1B,以页面中存在三个窗口播放视频为例,每个窗口接收到一帧视频原始码流都将进行视频解码,提交纹理数据和绘制指令三个过程,这三个过程的耗时分别表示为A,B,C,而JS页面线程处理事件(例如用户输入,定时器等)、页面业务逻辑处理以及空闲状态等耗时过程表示为D。
具体地,当JS页面线程接收到窗口1的视频原始码流,进行视频解码,提交纹理数据和绘制指令分别对应的耗时过程表示为A1、B1以及C1。经过耗时过程D,当JS页面线程接收到窗口2的视频原始码流,进行视频解码,提交纹理数据和绘制指令分别对应的耗时过程表示为A2、B2以及C2。经过耗时过程D,当JS页面线程接收到窗口3的视频原始码流,进行视频解码,提交纹理数据和绘制指令分别对应的耗时过程表示为A3、B3以及C3。
可见,当窗口个数增长时,页面视频播放过程占用JS页面线程的时间将线性增加,导致线程负荷过大,该线程会很快满载甚至超载运行,从而导致视频解码速率跟不上接收视频数据的速率,页面视频帧率下降,无法及时响应用户输入事件,页面卡顿等问题。
【发明内容】
有鉴于此,本发明实施例提供了一种页面视频渲染方法及装置,用以解决现有技术中当页面存在多个窗口播放视频时,会出现页面卡顿等技术问题。
一方面,本发明实施例提供了一种页面视频渲染方法,包括:当播放页面视频时,若主线程接收到多个视频窗口的视频原始码流,所述主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据;所述主线程接收子线程回调的每个所述视频窗口的图像数据;当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器。
可选的,方法还包括:所述主线程基于多个所述视频窗口的图像数据,向所述图形处理器合并提交绘制指令。
可选的,所述主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据包括:所述主线程创建至少一个子线程;其中,一个所述子线程对应一个或多个所述视频窗口;所述主线程分别调用各个子线程分别对相应的一个或多个视频窗口的视频原始码流进行视频解码,以分别得到每个视频窗口的图像数据;基于每个所述视频窗口的显示尺寸对相应的图像数据的实际尺寸进行调整,以使所述图像数据调整后的尺寸与对应的视频窗口的显示尺寸相匹配。
可选的,在所述主线程接收子线程回调的每个所述视频窗口的图像数据之后还包括:所述主线程根据各个所述视频窗口的编号顺序确定各个所述视频窗口对应的图像数据的内存存储地址;依照所述内存存储地址将各个所述视频窗口对应的图像数据存储至对应的内存区域。
可选的,所述当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器包括:当页面刷新时,若所有视频窗口对应的图像数据都有更新,则所述主线程将所有视频窗口对应的图像数据合并提交至所述图形处理器。
可选的,所述当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器包括:当页面刷新时,若部分视频窗口对应的图像数据有更新,则基于所述图像数据有更新的视频窗口对应的内存存储地址确定待选取内存区域;其中,所述待选取内存区域内的图像数据至少包含所有有更新的视频窗口的图像数据;将所述待选取内存区域内的图像数据合并提交至图形处理器。
可选的,所述基于所述图像数据有更新的视频窗口对应的内存存储地址确定待选取内存区域包括:将所有所述图像数据有更新的视频窗口中对应的最小内存存储地址作为所述待选取内存区域的起始地址;将所有所述图像数据有更新的视频窗口中对应的最大内存存储地址作为所述待选取内存区域的结束地址;依照所述起始地址和所述结束地址确定所述待选取内存区域。
可选的,所述页面刷新的周期基于所有视频窗口的帧周期中的最小帧周期来确定。
可选的,所述主线程为JS页面线程,所述子线程为Webworker线程。
另一方面,本发明实施例还提供了一种页面视频渲染装置,包括:视频解码处理模块,用于当播放页面视频时,若主线程接收到多个视频窗口的视频原始码流,所述主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据;图像数据接收模块,用于所述主线程接收子线程回调的每个所述视频窗口的图像数据;图像数据提交模块,用于当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器。
与现有技术相比,本技术方案至少具有如下有益效果:
根据本发明实施例提供的页面视频渲染方法,由主线程创建至少一个子线程,在播放页面视频时,当主线程接收到多个视频窗口的视频原始码流时,主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据;然后,主线程接收子线程回调的每个所述视频窗口的图像数据,当页面刷新时,主线程将多个所述视频窗口的图像数据合并提交至图形处理器。进而,主线程还将基于多个所述视频窗口的图像数据,向所述图形处理器合并提交绘制指令。本技术方案由于将视频解码的过程分配到子线程中,从而提高了多核CPU的利用率,并且通过合并提交图像数据以及合并绘制指令,降低了多视频窗口下的操作耗时及系统开销。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1A是现有技术中的一种页面视频渲染方法的信令时序示意图;
图1B是采用图1A所示的页面视频渲染方法的过程中JS页面线程的耗时分布示意图;
图2是本发明实施例提供的页面视频渲染方法的一个具体实施例的流程示意图;
图3是本发明实施例提供的页面视频渲染方法中对图像数据进行缩放的示意图;
图4是本发明实施例提供的页面视频渲染方法中JS页面线程及Webworker线程的耗时分布示意图;
图5是本发明实施例提供的页面视频渲染方法的另一个具体实施例的流程示意图;
图6是图5所示的页面视频渲染方法中确定各个视频窗口的图像数据在内存中的存储位置的示意图;
图7A是图5所示的页面视频渲染方法中JS页面线程将图像数据合并提交至图形处理器的一个具体实施例的示意图;
图7B是图5所示的页面视频渲染方法中JS页面线程将图像数据合并提交至图形处理器的另一个具体实施例的示意图;
图8是本发明实施例提供的页面视频渲染装置的一个具体实施例的结构示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图2是本发明实施例提供的页面视频渲染方法的一个具体实施例的流程示意图。参考图2,所述页面视频渲染方法包括:
步骤201、当播放页面视频时,若主线程接收到多个视频窗口的视频原始码流,所述主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据;
步骤202、所述主线程接收子线程回调的每个所述视频窗口的图像数据;
步骤203、当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器。
需要说明的是,在本实施例中,主线程以JavaScript页面线程,子线程以Webworker线程为例来描述具体实施方式。
本领域技术人员理解,由于在浏览器中Javascript的执行是单线程的,而在操作系统中单个线程只能使用一个CPU核心进行计算,该线程会很快满载甚至超载运行。因此,浏览器在执行JavaScript时会阻塞浏览器的响应,直到运行结束后在恢复到正常状态。
HTML5中的Webworker线程为了解决JavaScript在浏览器环境中没有多线程的问题,因为页面上单线程执行的Javascript是主线程,由JS页面线程创建的Webworker线程是子线程,只有主线程中的代码执行时会导致浏览器阻塞,而子线程则不会。因此,通过将部分耗费时间的复杂运算(例如视频解码的运算)由子线程处理,从而提高多核CPU的利用率。
在所述步骤201中,视频窗口的视频原始码流是由流媒体(Streaming Media)服务提供。本领域技术人员知晓,流媒体服务是指将一连串的媒体数据压缩后,以流的方式在网络中分段传送,实现在网络上实时传输音频、视频、图像等媒体传输方式以供用户观赏的一种服务。当浏览器加载页面时,运行html代码和js代码,页面上的各个视频窗口开始播放页面视频,JS页面线程从流媒体服务获取一个或多个视频窗口的视频原始码流。不同的视频窗口对应的视频原始码流的传输帧率可以相同或不同。
所述主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据包括:
步骤2011、所述主线程创建至少一个子线程;其中,一个所述子线程对应一个或多个所述视频窗口;
步骤2012、所述主线程分别调用各个子线程分别对相应的一个或多个视频窗口的视频原始码流进行视频解码,以分别得到每个视频窗口的图像数据;
步骤2012、基于每个所述视频窗口的显示尺寸对相应的图像数据的实际尺寸进行调整,以使所述图像数据调整后的尺寸与对应的视频窗口的显示尺寸相匹配。
在本实施例中,在播放页面视频之前,由JS页面线程建立Webworker线程。具体来说,若页面上视频窗口的数目较少(例如视频窗口的数目为3个),则建立个数与视频窗口的数目相匹配的Webworker线程,即Webworker线程的个数与页面上视频窗口的数目相同。这样Webworker线程可以与页面上的视频窗口一一对应,每个Webworker线程针对一个视频窗口的视频原始码流进行视频解码,从而提高了多核CPU的利用率。若页面上视频窗口的数目较多(例如视频窗口的数目为12个),为了避免建立过多的Webworker线程,导致多个Webworker线程同时处理视频解码时,多核CPU满负荷运行,则可以建立数目少于视频窗口的Webworker线程,这样一个Webworker线程可以对应一个或多个视频窗口。
JS页面线程分别调用各个Webworker线程分别对相应的一个或多个视频窗口的视频原始码流进行视频解码,以分别得到每个视频窗口的图像数据。由于所述图像数据在WebGL渲染过程中以纹理方式存储,因此所述图像数据是纹理数据。本领域技术人员理解,纹理是一张或者多张数据格式相同的图像,每张纹理图像的每个顶点有纹理坐标,组成纹理图像的像素为纹素。因此所述纹理数据包括纹理图像中各个顶点的纹理坐标以及纹理图像的纹素。
基于每个所述视频窗口的显示尺寸对相应的图像数据的实际尺寸进行调整,以使所述图像数据调整后的尺寸与对应的视频窗口的显示尺寸相匹配。
图3是本发明实施例提供的页面视频渲染方法中对图像数据进行缩放的示意图。
参考图3,例如页面31中包括4个视频窗口,分别为视频窗口1、视频窗口2、视频窗口3以及视频窗口4,这4个视频窗口的显示尺寸不同,而且这4个视频窗口各自对应的Webworker线程对视频原始码流进行视频解码后得到的图像数据的实际尺寸也各不相同。为了使后续图形处理器根据图像数据执行实例化绘制指令对视频窗口进行渲染时,每个视频窗口对应的图像数据能够适于在其对应的视频窗口内渲染,需要根据每个所述视频窗口的显示尺寸对相应的图像数据的实际尺寸进行调整,以使所述图像数据调整后的尺寸与对应的视频窗口的显示尺寸相匹配。
继续参考图3,例如,视频窗口1的图像数据321的实际尺寸小于视频窗口1的显示尺寸,则根据视频窗口1的显示尺寸对所述视频窗口1的图像数据321的实际尺寸进行放大处理,使得所述视频窗口1的图像数据321放大后的尺寸与视频窗口1的显示尺寸相匹配。
又例如,视频窗口2的图像数据322的实际尺寸大于视频窗口2的显示尺寸,则根据视频窗口2的显示尺寸对所述视频窗口2的图像数据322进行缩小处理,使得所述视频窗口2的图像数据322缩小后的尺寸与视频窗口2的显示尺寸相匹配。
又例如,视频窗口3的图像数据323的实际尺寸大于视频窗口3的显示尺寸,则根据视频窗口3的显示尺寸对所述视频窗口3的图像数据323进行缩小处理,使得所述视频窗口3的图像数据323缩小后的尺寸与视频窗口3的显示尺寸相匹配。
再例如,视频窗口4的图像数据324的实际尺寸小于视频窗口4的显示尺寸,则根据视频窗口4的显示尺寸对所述视频窗口4的图像数据324的实际尺寸进行放大处理,使得所述视频窗口4的图像数据324放大后的尺寸与视频窗口4的显示尺寸相匹配。
在实际应用中,对图像数据进行缩小处理可以采用下采样(subsampled)或者说降采样(downsampled)的算法来处理;对图像数据进行放大处理可以采用上采样(upsampling)或图像插值(interpolating)的算法来处理。
需要说明的是,图3仅是示意图,在实际应用中,页面上的视频窗口的数目的显示尺寸不限于图3中所示,且各个视频窗口的图像数据的实际尺寸也不限于图3中所示。
如步骤202所述,所述主线程接收子线程回调的每个所述视频窗口的图像数据。
具体地,各个Webworker线程将所处理的各个视频窗口对应的经过尺寸调整后的图像数据回调至JS页面线程。JS页面线程接收各个Webworker线程回调的每个视频窗口对应的经过尺寸调整后的视频数据。
如步骤203所述,当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器。
具体地,页面刷新的周期可以自行设定(例如每隔25~50ms刷新一次页面)或者根据页面上所有视频窗口的帧周期中的最小帧周期或者传输视频原始码流的最大帧率来确定来确定页面刷新的周期(例如,最小帧周期为10ms或者最大帧率100Hz,则每隔10ms刷新一次页面)。
当页面刷新时,所述JS页面线程将存储的多个视频窗口的图像数据合并提交至图形处理器(Graphics Processing Unit,简称GPU)。所谓合并提交是指在本次页面刷新时,JS页面线程仅调用一次提交接口将已存储的多个视频窗口的图像数据一起提交至GPU。相比于现有技术,可以减少提交接口调用次数,缩短图像数据提交至GPU的时间且降低系统开销。
进一步,在播放页面视频过程中,页面上的不同视频窗口加载进度不同,可能出现在某一次页面刷新时,只有部分视频窗口的图像数据有更新。因此,所述JS页面线程可以将有更新的视频窗口的图像数据合并提交至GPU。这样可以减少JS页面线程一次提交至GPU的图像数据量。
在本实施例中,还包括如下步骤:所述主线程基于多个所述视频窗口的图像数据,向所述图形处理器合并提交绘制指令。
与现有技术不同,JS页面线程将多个视频窗口对应的图像数据合并提交至GPU之后,还将多个视频窗口对应的绘制指令合并提交至GPU。因此,GPU在接收到JS页面线程提交的多个视频窗口的图像数据和绘制指令后,可以一次性执行多个视频窗口的绘制指令。通过将多个视频窗口的渲染过程合并,从而减少了WebGL上下文切换次数和绘制接口的调用次数,尤其在视频窗口较多时可大幅提升性能。
图4是本发明实施例提供的页面视频渲染方法中JS页面线程及Webworker线程的耗时分布示意图。
参考图4,以页面中存在三个视频窗口播放视频,且Webworker线程的数目与视频窗口的数目相匹配为例。与现有技术不同,本实施例中,由Webworker线程1、Webworker线程2以及Webworker线程3分别对视频窗口1、视频窗口2以及视频窗口3的视频原始码流进行视频解码,然后将解码后的图像数据回调至JS页面线程,由JS页面线程合并提交三个视频窗口的图像数据以及绘制指令至GPU。其中,各个Webworker线程接收到对应视频窗口的每一帧(例如,图4中所示的第N帧、第N+1帧、第N+2帧以及第N+3帧)视频原始码流进行视频解码的耗时过程对应A、JS页面线程合并提交三个视频窗口的图像数据和绘制指令的耗时过程分别对应B和C、JS页面线程处理事件(例如用户输入,定时器等)、页面业务逻辑处理以及空闲状态等耗时过程表示为D。
可以看出,耗时较长的各个视频窗口的视频原始码流的视频解码过程A被分配到各自Webworker线程中,使得JS页面线程可大幅减轻负荷。JS页面线程将各个视频窗口的图像数据和绘制指令分别合并后再提交至GPU,这样可以减少提交接口调用次数,缩短图像数据提交至GPU的时间且降低系统开销。
图5是本发明实施例提供的页面视频渲染方法的另一个具体实施例的流程示意图。参考图5,所述页面视频渲染方法包括:
步骤501、当播放页面视频时,若主线程接收到多个视频窗口的视频原始码流,所述主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据。
步骤502、所述主线程接收子线程回调的每个所述视频窗口的图像数据。
步骤503、所述主线程根据各个所述视频窗口的编号顺序确定各个所述视频窗口对应的图像数据的内存存储地址。
步骤504、依照所述内存存储地址将各个所述视频窗口对应的图像数据存储至对应的内存区域。
步骤5051、当页面刷新时,若所有视频窗口对应的图像数据都有更新,则所述主线程将所有视频窗口对应的图像数据合并提交至所述图形处理器。
步骤5052、当页面刷新时,若部分视频窗口对应的图像数据有更新,则基于所述图像数据有更新的视频窗口对应的内存存储地址确定待选取内存区域;其中,所述待选取内存区域内的图像数据至少包含所有有更新的视频窗口的图像数据。
步骤5053、将所述待选取内存区域内的图像数据合并提交至图形处理器。
本实施例中,所述步骤501和步骤502的具体实施过程可以参考上文图2所述实施例中步骤201和步骤202的详细描述,在此不再赘述。
与图2所述实施例不同,在本实施例中,进一步描述JS页面线程(即主线程)在接收到各个Webworker线程(即子线程)回调的图像数据后将图像数据存储至内存的具体实现过程,以及当页面刷新时,JS页面线程如何从内存中选取图像数据合并提交至图形处理器的具体实现过程。
如步骤503所述,所述主线程根据各个所述视频窗口的编号顺序确定各个所述视频窗口对应的图像数据的内存存储地址。
如步骤504所述,依照所述内存存储地址将各个所述视频窗口对应的图像数据存储至对应的内存区域。
具体地,由于同一页面上各个视频窗口的位置固定,因此可以为各个视频窗口编号,然后根据各个视频窗口的编号顺序分别为每个视频窗口在内存中分配一段用于存储图像数据的内存区域,且为了便于后续从内存中提取图像数据,因此为各个视频窗口分配的内存区域在一块连续的内存区域中。
图6是图5所示的页面视频渲染方法中确定各个视频窗口的图像数据在内存中的存储位置的示意图。
参考图6,所述页面61包括5个视频窗口,分别为视频窗口1、视频窗口2、视频窗口3、视频窗口4以及视频窗口5。依照5个视频窗口的编号顺序在内存62中分别为每个视频窗口分配内存存储地址。例如,视频窗口1的图像数据在内存62中分配的内存存储地址为0X00000005~0X0000000F对应内存区域1、视频窗口2的图像数据在内存62中分配的内存存储地址为0X0000000F~0X000002FF对应内存区域2、视频窗口3的图像数据在内存62中分配的内存存储地址为0X000002FF~0X00003FFF对应内存区域3、视频窗口4的图像数据在内存62中分配的内存存储地址为0X00003FFF~0X0003FFFF对应内存区域4以及视频窗口5的图像数据在内存62中分配的内存存储地址为0X0003FFFF~0X01FFFFFF对应内存区域5。
然后,JS页面线程将视频窗口1对应的图像数据存储至内存区域1、将视频窗口2对应的图像数据存储至内存区域2、将视频窗口3对应的图像数据存储至内存区域3、将视频窗口4对应的图像数据存储至内存区域4以及将视频窗口5对应的图像数据存储至内存区域5。
如步骤5051所述,当页面刷新时,若所有视频窗口对应的图像数据都有更新,则所述主线程将所有视频窗口对应的图像数据合并提交至所述图形处理器。
图7A是图5所示的页面视频渲染方法中JS页面线程将图像数据合并提交至图形处理器的一个具体实施例的示意图。
参考图7A,所有视频窗口对应的图像数据都有更新(带有斜线的视频窗口为当页面刷新时图像数据有更新的视频窗口)。所述JS页面线程将所述内存72中所有视频窗口对应的内存区域作为待选取内存区域721,从待选取内存区域721中提取出图像数据合并提交至图形处理器,JS页面线程基于所有视频窗口的图像数据,向图形处理器合并提交绘制指令,以使所述图形处理器对所有视频窗口执行绘制指令,以对所有视频窗口进行渲染。
如步骤5052所述、当页面刷新时,若部分视频窗口对应的图像数据有更新,则基于所述图像数据有更新的视频窗口对应的内存存储地址确定待选取内存区域;其中,所述待选取内存区域内的图像数据至少包含所有有更新的视频窗口的图像数据。
如步骤5053所述、将所述待选取内存区域内的图像数据合并提交至图形处理器。
图7B是图5所示的页面视频渲染方法中JS页面线程提交将图像数据合并提交至图形处理器的另一个具体实施例的示意图。
参考图7B,视频窗口2和视频窗口4对应的图像数据有更新(带有斜线的视频窗口为当页面刷新时图像数据有更新的视频窗口),因此根据所述图像数据有更新的视频窗口对应的内存存储地址确定待选取内存区域。
具体来说,将所有所述图像数据有更新的视频窗口中对应的最小内存存储地址作为所述待选取内存区域的起始地址。
继续参考图7B,视频窗口2和视频窗口4对应的图像数据有更新,视频窗口2对应的最小内存存储地址0X0000000F作为待选取内存区域721的起始地址。
将所有所述图像数据有更新的视频窗口中对应的最大内存存储地址作为所述待选取内存区域的结束地址。
继续参考图7B,视频窗口2和视频窗口4对应的图像数据有更新,视频窗口4对应的最大内存存储地址0X0003FFFF作为待选取内存区域721的结束地址。
依照所述起始地址和所述结束地址确定所述待选取内存区域。
继续参考图7B,因此,所述待选取内存区域为内存存储地址为0X0000000F~0X0003FFFF的内存区域,包括内存区域2、内存区域3以及内存区域4。
可以看出,根据上述确定待选取内存区域的方法,对于部分视频窗口对应的图像数据有更新的情形,为了使JS页面线程可以一次性从内存中选取出一整块内存区域中的图像数据,因此确定的待选取内存区域中可能包含视频窗口对应的图像数据未更新的内存区域(例如图7B中内存区域3)。
将所述待选取内存空间内的图像数据合并提交至图形处理器,JS页面线程基于所有有更新的视频窗口的图像数据,向图形处理器合并提交绘制指令,以使所述图形处理器对有更新的视频窗口执行绘制指令,以对这些有更新的视频窗口进行渲染。
图8是本发明实施例提供的页面视频渲染装置的一个具体实施例的结构示意图。
参考图8,所述装置8包括:视频解码处理模块801,用于当播放页面视频时,若主线程接收到多个视频窗口的视频原始码流,所述主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据。图像数据接收模块802,用于所述主线程接收子线程回调的每个所述视频窗口的图像数据。图像数据提交模块803,用于当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器。
本实施例中,所述装置8还包括:绘制指令提交模块804,用于所述主线程基于多个所述视频窗口的图像数据,向所述图形处理器合并提交绘制指令。
具体地,所述视频解码处理模块801包括:子线程创建单元8011,用于所述主线程创建至少一个子线程;其中,一个所述子线程对应一个或多个所述视频窗口。视频解码处理单元8012,用于所述主线程分别调用各个子线程分别对相应的一个或多个视频窗口的视频原始码流进行视频解码,以分别得到每个视频窗口的图像数据。尺寸调整单元8013,用于基于每个所述视频窗口的显示尺寸对相应的图像数据的实际尺寸进行调整,以使所述图像数据调整后的尺寸与对应的视频窗口的显示尺寸相匹配。
所述装置8还包括:内存存储地址确定模块805,用于所述主线程根据各个所述视频窗口的编号顺序确定各个所述视频窗口对应的图像数据的内存存储地址。内存区域确定模块806,用于依照所述内存存储地址将各个所述视频窗口对应的图像数据存储至对应的内存区域。
所述图像数据提交模块803包括:第一图像数据提交单元8031,用于当页面刷新时,若所有视频窗口对应的图像数据都有更新,则所述主线程将所有视频窗口对应的图像数据合并提交至所述图形处理器。
所述图像数据提交模块803包括:第二图像数据提交单元8032;所述第二图像数据提交单元8032包括:待选取内存区域确定子单元80321,用于当页面刷新时,若部分视频窗口对应的图像数据有更新,则基于所述图像数据有更新的视频窗口对应的内存存储地址确定待选取内存区域;其中,所述待选取内存区域内的图像数据至少包含所有有更新的视频窗口的图像数据。
图像数据提交子单元80322,用于将所述待选取内存区域内的图像数据合并提交至图形处理器。
其中,所述待选取内存区域确定子单元80322包括:最小内存存储地址确定单元(图中未示出),用于将所有所述图像数据有更新的视频窗口中对应的最小内存存储地址作为所述待选取内存区域的起始地址;最大内存存储地址确定单元(图中未示出),用于将所有所述图像数据有更新的视频窗口中对应的最大内存存储地址作为所述待选取内存区域的结束地址;内存区域确定单元(图中未示出),用于依照所述起始地址和所述结束地址确定所述待选取内存区域。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述页面视频渲染方法的实施例中的各个步骤。
本发明实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述页面视频渲染方法的实施例中的各个步骤。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (20)

1.一种页面视频渲染方法,其特征在于,包括:
当播放页面视频时,若主线程接收到多个视频窗口的视频原始码流,所述主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据;
所述主线程接收子线程回调的每个所述视频窗口的图像数据;
当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器。
2.如权利要求1所述的方法,其特征在于,还包括:
所述主线程基于多个所述视频窗口的图像数据,向所述图形处理器合并提交绘制指令。
3.如权利要求1所述的方法,其特征在于,所述主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据包括:
所述主线程创建至少一个子线程;其中,一个所述子线程对应一个或多个所述视频窗口;
所述主线程分别调用各个子线程分别对相应的一个或多个视频窗口的视频原始码流进行视频解码,以分别得到每个视频窗口的图像数据;
基于每个所述视频窗口的显示尺寸对相应的图像数据的实际尺寸进行调整,以使所述图像数据调整后的尺寸与对应的视频窗口的显示尺寸相匹配。
4.如权利要求1所述的方法,其特征在于,在所述主线程接收子线程回调的每个所述视频窗口的图像数据之后还包括:
所述主线程根据各个所述视频窗口的编号顺序确定各个所述视频窗口对应的图像数据的内存存储地址;
依照所述内存存储地址将各个所述视频窗口对应的图像数据存储至对应的内存区域。
5.如权利要求1所述的方法,其特征在于,所述当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器包括:
当页面刷新时,若所有视频窗口对应的图像数据都有更新,则所述主线程将所有视频窗口对应的图像数据合并提交至所述图形处理器。
6.如权利要求4所述的方法,其特征在于,所述当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器包括:
当页面刷新时,若部分视频窗口对应的图像数据有更新,则基于所述图像数据有更新的视频窗口对应的内存存储地址确定待选取内存区域;其中,所述待选取内存区域内的图像数据至少包含所有有更新的视频窗口的图像数据;
将所述待选取内存区域内的图像数据合并提交至图形处理器。
7.如权利要求6所述的方法,其特征在于,所述基于所述图像数据有更新的视频窗口对应的内存存储地址确定待选取内存区域包括:
将所有所述图像数据有更新的视频窗口中对应的最小内存存储地址作为所述待选取内存区域的起始地址;
将所有所述图像数据有更新的视频窗口中对应的最大内存存储地址作为所述待选取内存区域的结束地址;
依照所述起始地址和所述结束地址确定所述待选取内存区域。
8.如权利要求1所述的方法,其特征在于,所述页面刷新的周期基于所有视频窗口的帧周期中的最小帧周期来确定。
9.如权利要求1所述的方法,其特征在于,所述主线程为JS页面线程,所述子线程为Webworker线程。
10.一种页面视频渲染装置,其特征在于,包括:
视频解码处理模块,用于当播放页面视频时,若主线程接收到多个视频窗口的视频原始码流,所述主线程调用子线程分别对每个视频窗口的视频原始码流进行视频解码,以获得每个视频窗口的图像数据;
图像数据接收模块,用于所述主线程接收子线程回调的每个所述视频窗口的图像数据;
图像数据提交模块,用于当页面刷新时,所述主线程将多个所述视频窗口的图像数据合并提交至图形处理器。
11.如权利要求10所述的装置,其特征在于,还包括:
绘制指令提交模块,用于所述主线程基于多个所述视频窗口的图像数据,向所述图形处理器合并提交绘制指令。
12.如权利要求10所述的装置,其特征在于,所述视频解码处理模块包括:
子线程创建单元,用于所述主线程创建至少一个子线程;其中,一个所述子线程对应一个或多个所述视频窗口;
视频解码处理单元,用于所述主线程分别调用各个子线程分别对相应的一个或多个视频窗口的视频原始码流进行视频解码,以分别得到每个视频窗口的图像数据;
尺寸调整单元,用于基于每个所述视频窗口的显示尺寸对相应的图像数据的实际尺寸进行调整,以使所述图像数据调整后的尺寸与对应的视频窗口的显示尺寸相匹配。
13.如权利要求10所述的装置,其特征在于,还包括:
内存存储地址确定模块,用于所述主线程根据各个所述视频窗口的编号顺序确定各个所述视频窗口对应的图像数据的内存存储地址;
内存区域确定模块,用于依照所述内存存储地址将各个所述视频窗口对应的图像数据存储至对应的内存区域。
14.如权利要求10所述的装置,其特征在于,所述图像数据提交模块包括:第一图像数据提交单元,用于当页面刷新时,若所有视频窗口对应的图像数据都有更新,则所述主线程将所有视频窗口对应的图像数据合并提交至所述图形处理器。
15.如权利要求13所述的装置,其特征在于,所述图像数据提交模块包括:第二图像数据提交单元;所述第二图像数据提交单元包括:
待选取内存区域确定子单元,用于当页面刷新时,若部分视频窗口对应的图像数据有更新,则基于所述图像数据有更新的视频窗口对应的内存存储地址确定待选取内存区域;其中,所述待选取内存区域内的图像数据至少包含所有有更新的视频窗口的图像数据;
图像数据提交子单元,用于将所述待选取内存区域内的图像数据合并提交至图形处理器。
16.如权利要求15所述的装置,其特征在于,所述待选取内存区域确定子单元包括:
最小内存存储地址确定单元,用于将所有所述图像数据有更新的视频窗口中对应的最小内存存储地址作为所述待选取内存区域的起始地址;
最大内存存储地址确定单元,用于将所有所述图像数据有更新的视频窗口中对应的最大内存存储地址作为所述待选取内存区域的结束地址;
内存区域确定单元,用于依照所述起始地址和所述结束地址确定所述待选取内存区域。
17.如权利要求10所述的装置,其特征在于,所述页面刷新的周期基于所有视频窗口的帧周期中的最小帧周期来确定。
18.如权利要求10所述的装置,其特征在于,所述主线程为JS页面线程,所述子线程为Webworker线程。
19.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1~9中任一所述页面视频渲染方法。
20.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1~9中任一所述页面视频渲染方法。
CN202010113625.4A 2020-02-24 2020-02-24 页面视频渲染方法及装置 Active CN111432262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010113625.4A CN111432262B (zh) 2020-02-24 2020-02-24 页面视频渲染方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010113625.4A CN111432262B (zh) 2020-02-24 2020-02-24 页面视频渲染方法及装置

Publications (2)

Publication Number Publication Date
CN111432262A CN111432262A (zh) 2020-07-17
CN111432262B true CN111432262B (zh) 2022-05-24

Family

ID=71551565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010113625.4A Active CN111432262B (zh) 2020-02-24 2020-02-24 页面视频渲染方法及装置

Country Status (1)

Country Link
CN (1) CN111432262B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235626B (zh) * 2020-10-15 2023-06-13 Oppo广东移动通信有限公司 视频渲染方法、装置、电子设备及存储介质
CN113986438B (zh) * 2021-10-30 2024-01-30 深圳市快易典教育科技有限公司 动画的加载方法、系统、装置及计算机可读存储介质
CN115482146A (zh) * 2022-08-31 2022-12-16 北京四维远见信息技术有限公司 立体影像自动跨像对漫游的方法、装置、设备和存储介质
CN117112086A (zh) * 2023-01-31 2023-11-24 荣耀终端有限公司 一种数据处理方法及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523461A (zh) * 2011-11-25 2012-06-27 北京东方艾迪普科技发展有限公司 支持动态三维的多源接入大屏播放方法
CN104932892A (zh) * 2015-06-19 2015-09-23 浪潮软件集团有限公司 一种基于WebWorker实现的Web应用中间件异步嵌套调用方法
CN105100803A (zh) * 2014-04-29 2015-11-25 三星电子(中国)研发中心 视频解码优化方法
CN106993212A (zh) * 2017-03-20 2017-07-28 贵阳朗玛信息技术股份有限公司 浏览器窗口中播放多路视频的方法及装置
CN108282686A (zh) * 2017-01-18 2018-07-13 广州市动景计算机科技有限公司 视频画面处理方法、装置及电子设备
CN108462825A (zh) * 2017-02-21 2018-08-28 阿里巴巴集团控股有限公司 视频处理方法及装置
CN109408214A (zh) * 2018-11-06 2019-03-01 北京字节跳动网络技术有限公司 一种数据的并行处理方法、装置、电子设备及可读介质
CN109600666A (zh) * 2018-12-12 2019-04-09 网易(杭州)网络有限公司 游戏场景中的视频播放方法、装置、介质以及电子设备
CN110300328A (zh) * 2018-03-21 2019-10-01 腾讯科技(深圳)有限公司 一种视频播放控制方法、装置及可读存储介质
CN110620959A (zh) * 2018-06-20 2019-12-27 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备、系统及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392834B2 (en) * 2003-04-09 2013-03-05 Hewlett-Packard Development Company, L.P. Systems and methods of authoring a multimedia file
CN105630507B (zh) * 2015-12-29 2020-01-24 Tcl集团股份有限公司 一种WebView控件界面绘制的方法和装置
CN107305529A (zh) * 2016-04-25 2017-10-31 阿里巴巴集团控股有限公司 检测目标软件的方法和装置
US11197010B2 (en) * 2016-10-07 2021-12-07 Microsoft Technology Licensing, Llc Browser-based video decoder using multiple CPU threads
US10713746B2 (en) * 2018-01-29 2020-07-14 Microsoft Technology Licensing, Llc FIFO queue, memory resource, and task management for graphics processing
CN110704768B (zh) * 2019-10-08 2022-03-18 支付宝(杭州)信息技术有限公司 基于图形处理器的网页渲染方法以及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523461A (zh) * 2011-11-25 2012-06-27 北京东方艾迪普科技发展有限公司 支持动态三维的多源接入大屏播放方法
CN105100803A (zh) * 2014-04-29 2015-11-25 三星电子(中国)研发中心 视频解码优化方法
CN104932892A (zh) * 2015-06-19 2015-09-23 浪潮软件集团有限公司 一种基于WebWorker实现的Web应用中间件异步嵌套调用方法
CN108282686A (zh) * 2017-01-18 2018-07-13 广州市动景计算机科技有限公司 视频画面处理方法、装置及电子设备
CN108462825A (zh) * 2017-02-21 2018-08-28 阿里巴巴集团控股有限公司 视频处理方法及装置
CN106993212A (zh) * 2017-03-20 2017-07-28 贵阳朗玛信息技术股份有限公司 浏览器窗口中播放多路视频的方法及装置
CN110300328A (zh) * 2018-03-21 2019-10-01 腾讯科技(深圳)有限公司 一种视频播放控制方法、装置及可读存储介质
CN110620959A (zh) * 2018-06-20 2019-12-27 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备、系统及存储介质
CN109408214A (zh) * 2018-11-06 2019-03-01 北京字节跳动网络技术有限公司 一种数据的并行处理方法、装置、电子设备及可读介质
CN109600666A (zh) * 2018-12-12 2019-04-09 网易(杭州)网络有限公司 游戏场景中的视频播放方法、装置、介质以及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于C/S模式的机载多路视频同步回放技术;郝朝等;《计算机技术与发展》;20181220(第04期);全文 *

Also Published As

Publication number Publication date
CN111432262A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN111432262B (zh) 页面视频渲染方法及装置
CN109600666B (zh) 游戏场景中的视频播放方法、装置、介质以及电子设备
CN109327727B (zh) 一种WebRTC中的直播流处理方法及推流客户端
WO2022110903A1 (zh) 全景视频渲染方法及系统
CN107145355B (zh) 页面布局的调整方法及装置、存储介质、处理器和终端
US20140087877A1 (en) Compositing interactive video game graphics with pre-recorded background video content
US20130055072A1 (en) Multi-Threaded Graphical Display System
WO2022048097A1 (zh) 一种基于多显卡的单帧画面实时渲染方法
CN112843676B (zh) 数据处理方法、装置、终端、服务器及存储介质
CN113457160A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN112596843B (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN107707965B (zh) 一种弹幕的生成方法和装置
CN116821040B (zh) 基于gpu直接存储器访问的显示加速方法、装置及介质
CN111131910B (zh) 弹幕实现方法、装置、电子设备和可读存储介质
CN111107427B (zh) 图像处理的方法及相关产品
CN110049347B (zh) 在直播界面配置图像的方法、系统、终端和装置
US20140161173A1 (en) System and method for controlling video encoding using content information
CN109688462B (zh) 降低设备功耗的方法、装置、电子设备及存储介质
CN112804410A (zh) 多显示屏同步显示方法及装置、视频处理设备和存储介质
CN113473226B (zh) 提高视频渲染效率的方法、装置、计算机设备及存储介质
CN114998087A (zh) 渲染方法及装置
CN112184538B (zh) 图像加速方法、相关装置、设备及存储介质
CN115409681A (zh) 一种渲染方法及相关装置
CN112135056A (zh) 拍摄方法、装置、电子设备以及存储介质
CN113079408A (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