CN112511896A - 一种视频渲染方法及装置 - Google Patents

一种视频渲染方法及装置 Download PDF

Info

Publication number
CN112511896A
CN112511896A CN202011223445.8A CN202011223445A CN112511896A CN 112511896 A CN112511896 A CN 112511896A CN 202011223445 A CN202011223445 A CN 202011223445A CN 112511896 A CN112511896 A CN 112511896A
Authority
CN
China
Prior art keywords
video
window
rendering
mask information
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011223445.8A
Other languages
English (en)
Inventor
张宏
李永配
潘武
李浙伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202011223445.8A priority Critical patent/CN112511896A/zh
Publication of CN112511896A publication Critical patent/CN112511896A/zh
Pending legal-status Critical Current

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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明提供一种视频渲染方法及装置,所述方法包括:确定多个视频窗口在显示设备上的显示区域以及显示图层;根据所述显示区域以及显示图层,确定各视频窗口内的像素点是否被其他视频窗口覆盖,并根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息;根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据;对所述未被覆盖的像素点对应的视频渲染数据进行拼接处理,得到拼接后的视频。利用本发明提供的方法可以在确定每个窗口的像素点是否写入DDR时,通过提前计算视频掩码信息的方式,避免因实时计算区域覆盖情况所造成的***资源占用过多的问题,实现了对视频渲染***能力的整体性能提升。

Description

一种视频渲染方法及装置
技术领域
本发明涉及视频处理及显示控制领域,特别涉及一种视频渲染方法及装置。
背景技术
随着液晶显示和小间距LED显示技术的快速发展,大型拼接显示幕墙的应用领域越来越广泛,尤其在平安城市指挥中心、公安指挥中心、交通管理指挥调度中心,电力调度中心等领域已经有了大量的实际应用。
通常上述显示***主要包括拼接控制***和显示设备两大部分,拼接控制***主要用于接收来自不同视频接口发送的不同视频格式视频流,根据用户在显示应用场景的设置,将接收到的视频流经过压缩处理等方式,显示在显示设备的不同位置中,其中,显示设备可以是LED屏幕,也可以是液晶屏等屏幕类型,并且上述显示设备也能以多块屏组合拼接的方式,共同显示至少一个视频窗口。
在上述显示***中,拼接控制***起着至关重要的作用,决定着显示***对于视频的处理能力和显示效果,但随着不同视频接口的发送的视频流逐渐复杂,对于拼接控制***能够处理的输入视频流路数的要求也变高,且由于视频分辨率越来越大,对拼接控制***的视频处理性能要求也很高,而现有技术中,显示拼接视频的方式通常为,按各个视频窗口的在显示设备上的布局,将各窗口的完整视频按照该视频在显示设备的视频图层上的显示顺序,依次从底层到顶层输入到DDR SDRAM(Double Data Rate Synchronous DynamicRandom Access Memory,双倍速率同步动态随机存储器)中,最终由DDR将视频内容按显示设备的接口协议以及输出要求输出到显示设备中,而上述方式对于DDR的带宽有着更高的要求,但由于目前的DDR带宽存在瓶颈,故使用上述方式,难以处理复杂拼接视频窗口的应用场景,进而会制约显示设备的显示性能。
发明内容
本发明实施例提供一种视频渲染方法及装置,用于解决由于目前的DDR带宽存在瓶颈,难以处理复杂拼接视频窗口的应用场景,而制约显示设备的显示性能的问题。
本发明第一方面提供一种视频渲染方法,所述方法包括:
确定多个视频窗口在显示设备上的显示区域以及显示图层;
根据所述显示区域以及显示图层,确定各视频窗口内的像素点是否被其他视频窗口覆盖,并根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息;
根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据;
对所述未被覆盖的像素点对应的视频渲染数据进行拼接处理,得到拼接后的视频。
可选地,根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息,包括:
将所述视频窗口中未被遮挡的像素点编码为第一预设值,被遮挡的像素点编码为第二预设值,得到各视频窗口对应的视频掩码信息;
所述根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据,包括:
根据所述各视频窗口对应的视频掩码信息,对编码为第一预设值的像素点进行渲染,得到未被覆盖的像素点对应的视频渲染数据。
可选地,根据所述视频掩码信息对所述多个视频窗口进行渲染之前,还包括:
获取多个视频窗口对应的视频信号源,将各个视频信号源根据视频的源分辨率和视频窗口的分辨率进行缩放。
可选地,所述方法还包括:
若确定所述显示设备为多个子显示设备拼接,则在得到拼接后的视频后,利用所述子显示设备的拼接位置,将拼接后的视频进行划分,并按照各子显示设备的接口协议类型,分别发送至各个子显示设备中。
本发明第二方面提供一种视频渲染装置,所述装置包括:中央处理器CPU、视频处理单元、双倍速率同步动态随机存储器DDR SDRAM;
所述中央处理器,用于确定多个视频窗口在显示设备上的显示区域以及显示图层,根据所述显示区域以及显示图层,确定各视频窗口内的像素点是否被其他视频窗口覆盖,并根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息,将所述视频掩码信息发送至DDR SDRAM中;
所述视频处理单元,用于从所述DDR SDRAM中获取所述视频掩码信息,根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据,将所述视频渲染数据发送至所述DDR SDRAM中,并接收所述DDR SDRAM发送的拼接后视频;
所述DDR SDRAM,用于接收并存储中央处理器发送的所述视频掩码信息,并在视频处理单元对所述多个视频窗口进行渲染时,接收所述视频处理单元发送的视频渲染数据,并对所述视频渲染数据进行拼接,将所述拼接后视频发送至视频处理单元。
可选地,所述视频处理单元为:现场可编程逻辑门阵列FPGA、图形处理器GPU、中央处理器CPU中的任意一种或多种。
可选地,所述中央处理器还用于:
将所述视频窗口中未被遮挡的像素点编码为第一预设值,被遮挡的像素点编码为第二预设值,得到各视频窗口对应的视频掩码信息;
所述视频处理单元还用于,根据所述各视频窗口对应的视频掩码信息,对编码为第一预设值的像素点进行渲染,得到未被覆盖的坐标位置对应的视频渲染数据。
可选地,所述视频处理单元还用于:
根据所述视频掩码信息对所述多个视频窗口进行渲染之前,获取多个视频窗口对应的视频信号源,将各个视频信号源根据视频的源分辨率和视频窗口的分辨率进行缩放。
可选地,所述视频处理单元还用于:
若确定所述显示设备为多个子显示设备拼接,则在得到拼接后的视频后,利用所述子显示设备的拼接位置,将拼接后的视频进行划分,并按照各子显示设备的接口协议类型,分别发送至各个子显示设备中。
本发明第三方面提供一种视频渲染装置,所述装置包括如下模块:
窗口布局确定模块,用于确定多个视频窗口在显示设备上的显示区域以及显示图层;
掩码信息确定模块,用于根据所述显示区域以及显示图层,确定各视频窗口内的像素点是否被其他视频窗口覆盖,并根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息;
渲染模块,用于根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据;
视频拼接模块,用于对所述未被覆盖的像素点对应的视频渲染数据进行拼接处理,得到拼接后的视频。
可选地,掩码信息确定模块根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息,包括:
将所述视频窗口中未被遮挡的像素点编码为第一预设值,被遮挡的像素点编码为第二预设值,得到各视频窗口对应的视频掩码信息;
所述根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据,包括:
根据所述各视频窗口对应的视频掩码信息,对编码为第一预设值的像素点进行渲染,得到未被覆盖的像素点对应的视频渲染数据。
可选地,渲染模块根据所述视频掩码信息对所述多个视频窗口进行渲染之前,还包括:
获取多个视频窗口对应的视频信号源,将各个视频信号源根据视频的源分辨率和视频窗口的分辨率进行缩放。
可选地,所述装置还用于,在确定所述显示设备为多个子显示设备拼接,则在得到拼接后的视频后,利用所述子显示设备的拼接位置,将拼接后的视频进行划分,并按照各子显示设备的接口协议类型,分别发送至各个子显示设备中。
本发明第四方面提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明第一方面提供的任一所述的方法。
利用本发明提供的视频渲染方法,在拼接写回时不将每个视频窗口的全部渲染数据写入存储器中,只写入最终在显示设备显示的区域将其他视频窗口掩盖掉的像素点数据丢弃,节省了存储器DDR的写入带宽,而对于每个视频窗口的像素点是否写入存储器中采用提前进行掩码编码的方式,确定各个窗口的渲染区域,仅会在视频窗口布局改变的时候重新计算,避免了实时计算并判断各个像素点是否覆盖对***资源造成占用和耗费。
附图说明
图1为一种视频渲染***示意图;
图2a为一种视频渲染方法的步骤流程图;
图2b为用户选择窗口布局的示意图;
图3为一种视频渲染完整方法的流程图;
图4为一种视频渲染装置的结构示意图;
图5为一种视频渲染装置的模块示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着不同视频接口的发送的视频流逐渐复杂,对于拼接控制***能够处理的输入视频流路数的要求也变高,且由于视频分辨率越来越大,对拼接控制***的视频处理性能要求也很高,而现有技术中,显示拼接视频的方式通常为,按各个视频窗口的在显示设备上的布局,将各窗口的完整视频按照该视频在显示设备的视频图层上的显示顺序,依次从底层到顶层输入到DDR SDRAM,最终由DDR将视频内容按显示设备的接口协议以及输出要求输出到显示设备中,而上述方式对于DDR的带宽有着更高的要求,但由于目前的DDR带宽存在瓶颈,故使用上述方式,难以处理复杂拼接视频窗口的应用场景,进而会制约显示设备的显示性能。本申请实施例提出一种视频渲染方法,采用掩码的方式标记每个窗口像素点是否被其他窗口掩盖掉,掩码信息预先存放在存储器中,***工作过程中,通过从存储器中读取窗口的掩码信息来决定窗口的像素点是否被掩盖掉,如果被掩盖掉,该像素点就不写入DDR中,否则该像素点写入DDR中;掩码信息只在窗口布局发送改变的时候产生一次,并预存在存储器中,不需要每帧都产生,避免了实时判断每个像素点是否被掩盖造成的***资源浪费。对掩码信息进行编码,编码后的掩码数据量非常少,每次从存储器中读取掩码耗费的带宽可以忽略不计。
目前,图像的处理主要可以利用CPU、GPU、数字信号处理器(DSP,digital singnalprocessor)、现场可编程门阵列FPGA(Field Programmable Gate Array)等这几种处理方式来实现,下面结合说明书附图对本发明实施例作进一步详细描述。
如图1所示,为一种视频渲染***,包括:拼接渲染设备101、显示设备102,其中,拼接渲染设备101用于采集各种视频信号源,然后将每一路视频源根据源分辨率和目标分辨率大小进行缩放,根据用户的窗口布局拼接成一幅最终要显示的视频,最后输出给显示设备102。
而显示设备102可以是小间距LED,或者是液晶屏等,液晶屏可以是多块屏拼接在一起,其中,显示设备102可以包括一块拼接幕墙和一个拼接器,其中,一块拼接幕墙可以包括多块显示屏,每块显示屏连接拼接器的一个输出通道,用于显示该输出通道输出的视频图像,在一块显示屏上可以显示多个视频窗口,用户可以根据每个窗口所在的位置和大小来设定该显示屏上的画面布局,在每个显示屏窗口进行视频显示的过程,即在拼接幕墙上实现画面拼接的过程中,在一块显示屏上各窗口之间可能存在重叠。如果在每个窗口中均渲染了视频窗口的完整的画面,则其他窗口覆盖部分的画面即使进行了渲染也无法被最终显示,导致拼接幕墙上画面拼接运算量大,画面拼接效率较低。
本申请实施例提供一种视频渲染方法,应用于上述拼接渲染设备101中,如图2a所示,该方法包括如下步骤:
步骤S201,确定多个视频窗口在显示设备上的显示区域以及显示图层;
首先需要选择获取来自不同端口发送的视频信号源,其中视频信号源的输入格式可以为:rm、rmvb、mtv、dat、wmv、avi、3gp、amv、dmv、flv等格式的视频,此外,视频信号流同样可以为各类摄像设备实时拍摄的视频流,所述摄像设备的种类可以为专业摄像机、CCD摄像机(Charge Coupled Device)、网络摄像机、广播级摄像机、业务级摄像机、家用级摄像机、演播室/现场座机型摄像机、便携式摄像机、黑白摄像机、彩色摄像机、红外线摄像机、X光摄像机、监控摄像机等这里不做过多限制。
在选择视频信号源后,用户可以选择窗口布局,其中窗口布局包括视频信号源对应的视频窗口在显示设备上的显示区域以及显示图层,用户可以选择各个视频窗口的覆盖关系以及窗口大小,进一步的,用户通过手动拖拽、拉伸等方式来调整视频窗口的显示区域,并通过选择视频窗口的显示图层来确定最终视频窗口的布局,例如,如图2b所示,默认视频窗口A的显示图层为第一层、视频窗口B的显示图层为第二层,用户通过点击视频窗口B以交换视频窗口之间的窗口层级关系,还可以通过拖动窗口边框调整原视频窗口的显示区域,随着显示区域的调整,视频窗口的分辨率也会产生变化,视频窗口中的一个像素点用于对应显示设备上的一个显示点,视频窗口中的每个像素点与所述指定输出显示窗口中的每个显示点一一对应。
在本实施例中,确定多个视频窗口在显示设备上的显示区域以及显示图层的方法还可以为:根据每个视频窗口的输入端口,固定设置输入端口的显示区域以及显示图层,确定显示区域以及显示图层的方式不限于上述实施例描述的方法,任何本领域人员能够想到的应用于视频布局的方式,均可以应用于本申请中,这里不做限定。
步骤S202,根据所述显示区域以及显示图层,确定各视频窗口内的像素点是否被其他视频窗口覆盖,并根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息;
具体的,由于各视频窗口可以在显示设备上任意移动和缩放,当出现多个视频窗口在显示设备的不同位置同时显示的情况下,会出现视频窗口覆盖的情况,此时被覆盖部分即使被渲染后输出到显示设备中,由于被其他窗口所覆盖,渲染的像素点也难以显示在显示设备之上,会导致拼接幕墙上画面拼接运算量大,显示效率低下的问题。
此时,可以预先确定各视频窗口的窗口覆盖关系,使被覆盖部分不再进入视频渲染步骤之中,降低最终渲染的运算量,在得到各视频窗口的显示区域以及显示图层后,能确定各个窗口的覆盖关系。
具体的,其确定是否覆盖的步骤可以为:确定第一层的视频窗口中的每个像素点之上是否存在其他视频窗口进行遮挡,若确定存在遮挡时,则在视频渲染时不再对该部分进行渲染,为了使渲染时,用于进行渲染的设备,能够确定具体保留的渲染部分,本申请实施例可以对每个视频窗口按一定的编码方式进行编码,得到视频窗口的掩码信息,具体编码的方式,本领域技术人员应当知晓,这里不做限定,此外,还可以利用压缩编码方式,减少掩码信息的数据量,由于对于一个视频窗口来说,一般都是连续很多个像素同时被覆盖或者显示,故可以对连续显示或覆盖部分进行压缩编码,所述压缩编码的方式可以为:掩码编码、CSR完全状态编码、CSR编码等编码方式进行编码,编码后的掩码信息数据量非常少,节省了存储空间。
此外,还可以对每个视频窗口设定显示的优先等级,在对每个视频窗口进行编码时,不需要确定视频窗口的显示图层,根据各个视频频窗口的优先等级大小确定对应的编码值,即,若该视频窗口像素点位置,若存在优先级高于本窗口的其他窗口像素点,该窗口位置即被编码为不进行渲染对应的编码值,其中优先等级的设置方式,可以由用户主动设置,也可以按视频窗口的重要程度进行排序,亦可以代表窗口的显示层级,具体的优先等级设置方式,不限于上述描述的方式,这里不再赘述。
步骤S203,根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据;
在每次进行渲染时,拼接渲染设备中的解码器会基于上述编码后的视频掩码信息对多个视频窗口的视频源进行渲染,目前针对视频编码标准包括多功能视频编码(Versatile Video Coding,VVC)、联合勘探测试模型(JEM)、高效率视频编码(HEVC)、高级视频编码(AVC)、运动图像专家组(MPEG)编码等等方式,解码器是一种通过压缩和解压缩的方式,将模拟视频流经过压缩后转为数字视频流,然后通过网络进行传输的工作方式,视频数据存储要先通过压缩,否则数据量太庞大。而视频解码器又分为硬件解码器和软件解码器,硬件解码器通常由DSP完成,软件解码器通常由CPU完成。
软件解码器通常用于计算机,处理器等视频解码、图像还原等过程,解码的图像或视频可以直接在显示窗口显示。
硬件解码器通常硬件进行视频的解码工作,其中硬件解码是由GPU来进行的,使用GPU解码能够降低CPU的工作负荷,降低功耗。播放出来的视频较为流畅,并且能够延长移动设备播放视频的时间。
解码器通过读取存储在外部空间的视频掩码信息,确定是否对视频窗口中的各个像素点进行渲染,对未被覆盖的像素点进行渲染,得到对应的视频渲染数据。
步骤S204,对所述未被覆盖的像素点对应的视频渲染数据进行拼接处理,得到拼接后的视频。
其中,对所述未被覆盖的像素点对应的视频渲染数据进行拼接处理,首先需要将指定位置的像素点数据写入DDR,所述指定位置是指定窗口未被其他窗口覆盖区域中的每个显示点对应的在所述待显示图像中的位置。具体的,DDR写入操作可以采用各类总线定义的写入形式,这里不做限定;
将所述待显示图像指定位置的像素点数据写入DDR之后,可以根据视频窗口的显示分辨率要求产生视频时序,根据该视频时序从所述DDR中读取像素点数据,并输出在显示设备中,以显示没有被其他窗口覆盖的视频窗口区域。
利用上述方式实现视频窗口的输出,仅将需要被显示的像素点上的数据写入DDR,从而减少写入DDR的数据量,提高数据处理速度,减少DDR带宽的使用瓶颈和写回损失,以加速画面的拼接过程。进一步提高画面拼接实现的速度。
作为一种可选的实施方式,根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息。
具体的,在视频掩码信息中存在对应视频窗口各像素点坐标的编码值,将所述视频窗口中未被遮挡的像素点编码为第一预设值,被遮挡的像素点编码为第二预设值,得到各视频窗口对应的视频掩码信息,本申请中第一预设值为0第二预设值为1。
具体的,在本实施例中,需要判断一个窗口内的每个像素是否被其他视频窗口覆盖,如果被覆盖,则记该视频窗口对应的像素点的编码为1;否则,将未被覆盖的编码记为0,例如,采集视频的分辨率如果为1080P,即1920×1080像素,第一行像素点的对应的视频掩码信息为:[1,1,1,1,1,1,1,1…0,0,0,0],包含横向1920个像素点的编码情况。
此外,为了减少视频掩码信息的数据量,可以将视频掩码信息按照一定的编码方式进行压缩编码,例如,采用掩码方式对视频掩码信息进行再编码,由于像素点对应的编码非1即0,故可以将二进制数以32位一组的形式,分别编码为(0~255)之间的数据,减少视频掩码信息的数据量;
可选的,还可以采用游程编码方式(Run-length conding,RLC),又称“行程编码”,对视频掩码信息的进行编码,游程编码的原理是用一个(字符,字符数)表示连续相同的字符串,从而减少字符串的冗余度,上述视频掩码信息编码可以为[1,8,…0,4],有效减少视频掩码信息的存储数据量。
所述根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据。
根据所述各视频窗口对应的视频掩码信息,对编码为第一预设值的像素点进行渲染,得到未被覆盖的像素点对应的视频渲染数据。
在解码器对视频窗口进行渲染时,仅对编码为第一预设值的像素点进行保存,编码为第二预设值的像素点进行丢弃,得到未被覆盖的像素点对应的视频渲染数据。
作为一种可选的实施方式,根据所述视频掩码信息对所述多个视频窗口进行渲染之前,还获取多个视频窗口对应的视频信号源,将各个视频信号源根据视频的源分辨率和视频窗口的分辨率进行缩放。
具体的,在获取多个视频窗口对应的视频信号源之后,需要将各种不同接口协议的视频转换为统一的视频接口,此外,由于用户在选择窗口布局时存在缩放或扩大窗口的情况,此时视频的分辨率,因窗口的变化也会产生改变,需要根据源分辨率和视频窗口的分辨率进行缩放,例如,原视频分辨率为1080p,但在显示设备上的显示区域大小包含的像素点数量为720p,则需要对所述原视频进行缩放至720p。
作为一种可选的实施方式,若确定所述显示设备为多个子显示设备拼接,则在得到拼接后的视频后,利用所述子显示设备的拼接位置,将拼接后的视频进行划分,并按照各子显示设备的接口协议类型,分别发送至各个子显示设备中。
具体的,本申请的实施例拼接后视频可以输出到拼接显示设备中,每个拼接显示设备用于显示整个拼接后视频的部分区域,根据各个拼接显示设备在整体显示设备的位置,将拼接后的视频进行划分,并按照各子显示设备的接口协议类型,分别发送至各个子显示设备中。
本发明提供一种视频渲染完整方法,如图3所示,包括如下步骤:
步骤S301,获取用户选择的视频窗口并设置窗口布局,以确定多个视频窗口在显示设备上的显示区域以及显示图层,用户从所有的视频窗口中选定想要显示的一些视频窗口,然后设置最终要显示窗口布局,每个视频源对应在哪个窗口显示,每个窗口的大小、位置等信息;
步骤S302,根据所述显示区域以及显示图层,确定各视频窗口内的像素点是否被其他视频窗口覆盖,并根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息,判断各个视频窗口内的每个像素点是否被其他窗口掩盖掉,如果被掩盖掉,则记该窗口的该像素点的掩码编码为1,否则编码为0,并按照一定的编码方式进行编码,以减少掩码信息的数据量。
步骤S303,将视频掩码信息存储到外部的掩码信息表中;
步骤S304,采集多路各种视频接口协议的视频,并将每一路转化成统一视频协议标准格式的视频;
步骤S305,采集转化成统一格式的视频,将统一视频根据源视频大小和显示视频窗口大小进行缩放;
步骤S306,根据所述视频掩码信息,确定每一个像素点是否写入存储器中。若对应的掩码编码为1时,则丢弃该像素点对应的视频渲染数据,否则,写入存储器中,得到未被覆盖的像素点对应的视频渲染数据;
步骤S307,将所述视频渲染数据按显示设备的接口协议及要求输出到显示设备中。
利用本发明提供的视频渲染方法,在拼接写回时,不将每个视频窗口的全部渲染数据写入存储器中,只写入最终在显示设备显示的区域将其他视频窗口掩盖掉的像素点数据丢弃,节省了存储器DDR的带宽,而对于每个视频窗口的像素点是否写入存储器中采用提前进行掩码编码的方式,确定各个窗口的渲染区域,仅会在视频窗口布局改变的时候重新计算,避免了实时计算并判断各个像素点是否覆盖,对***资源造成占用和耗费,由于采用掩码方式进行编码,减少了数据的存储量,存储大小几乎可以忽略不计。
本发明实施例提供一种视频渲染装置,如图4所示,所述装置包括:中央处理器CPU401、视频处理单元402、双倍速率同步动态随机存储器DDR SDRAM403;
所述中央处理器401,用于确定多个视频窗口在显示设备上的显示区域以及显示图层,根据所述显示区域以及显示图层,确定各视频窗口内的像素点是否被其他视频窗口覆盖,并根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息,将所述视频掩码信息发送至DDR SDRAM中;
所述视频处理单元402,用于从所述DDR SDRAM中获取所述视频掩码信息,根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据,将所述视频渲染数据发送至所述DDR SDRAM中,并接收所述DDR SDRAM发送的拼接后视频;
所述DDR SDRAM403,用于接收并存储中央处理器发送的所述视频掩码信息,并在视频处理单元对所述多个视频窗口进行渲染时,接收所述视频处理单元发送的视频渲染数据,并对所述视频渲染数据进行拼接,将所述拼接后视频发送至视频处理单元。
作为一种可选的实施方式,所述视频处理单元402为:现场可编程逻辑门阵列FPGA、图形处理器GPU、中央处理器CPU中的任意一种或多种。
作为一种可选的实施方式,所述中央处理器401还用于:
将所述视频窗口中未被遮挡的像素点编码为第一预设值,被遮挡的像素点编码为第二预设值,得到各视频窗口对应的视频掩码信息;
所述视频处理单元402还用于,根据所述各视频窗口对应的视频掩码信息,对编码为第一预设值的像素点进行渲染,得到未被覆盖的坐标位置对应的视频渲染数据。
作为一种可选的实施方式,所述视频处理单元402还用于:
根据所述视频掩码信息对所述多个视频窗口进行渲染之前,获取多个视频窗口对应的视频信号源,将各个视频信号源根据视频的源分辨率和视频窗口的分辨率进行缩放。
作为一种可选的实施方式,所述视频处理单元402还用于:
若确定所述显示设备为多个子显示设备拼接,则在得到拼接后的视频后,利用所述子显示设备的拼接位置,将拼接后的视频进行划分,并按照各子显示设备的接口协议类型,分别发送至各个子显示设备中。
本发明实施例提供一种视频渲染装置,如图5所示,所述装置包括如下模块:
窗口布局确定模块501,用于确定多个视频窗口在显示设备上的显示区域以及显示图层;
掩码信息确定模块502,用于根据所述显示区域以及显示图层,确定各视频窗口内的像素点是否被其他视频窗口覆盖,并根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息;
渲染模块503,用于根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据;
视频拼接模块504,用于对所述未被覆盖的像素点对应的视频渲染数据进行拼接处理,得到拼接后的视频。
可选地,掩码信息确定模块502根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息,包括:
将所述视频窗口中未被遮挡的像素点编码为第一预设值,被遮挡的像素点编码为第二预设值,得到各视频窗口对应的视频掩码信息;
所述根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据,包括:
根据所述各视频窗口对应的视频掩码信息,对编码为第一预设值的像素点进行渲染,得到未被覆盖的像素点对应的视频渲染数据。
可选地,渲染模块503根据所述视频掩码信息对所述多个视频窗口进行渲染之前,还包括:
获取多个视频窗口对应的视频信号源,将各个视频信号源根据视频的源分辨率和视频窗口的分辨率进行缩放。
可选地,所述装置还用于,在确定所述显示设备为多个子显示设备拼接,则在得到拼接后的视频后,利用所述子显示设备的拼接位置,将拼接后的视频进行划分,并按照各子显示设备的接口协议类型,分别发送至各个子显示设备中。
本发明实施例提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的视频渲染方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种视频渲染方法,其特征在于,所述方法包括:
确定多个视频窗口在显示设备上的显示区域以及显示图层;
根据所述显示区域以及显示图层,确定各视频窗口内的像素点是否被其他视频窗口覆盖,并根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息;
根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据;
对所述未被覆盖的像素点对应的视频渲染数据进行拼接处理,得到拼接后的视频。
2.根据权利要求1所述的方法,其特征在于,根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息,包括:
将所述视频窗口中未被遮挡的像素点编码为第一预设值,被遮挡的像素点编码为第二预设值,得到各视频窗口对应的视频掩码信息;
所述根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据,包括:
根据所述各视频窗口对应的视频掩码信息,对编码为第一预设值的像素点进行渲染,得到未被覆盖的像素点对应的视频渲染数据。
3.根据权利要求1所述的方法,其特征在于,根据所述视频掩码信息对所述多个视频窗口进行渲染之前,还包括:
获取多个视频窗口对应的视频信号源,将各个视频信号源根据视频的源分辨率和视频窗口的分辨率进行缩放。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述显示设备为多个子显示设备拼接,则在得到拼接后的视频后,利用所述子显示设备的拼接位置,将拼接后的视频进行划分,并按照各子显示设备的接口协议类型,分别发送至各个子显示设备中。
5.一种视频渲染装置,其特征在于,所述装置包括:中央处理器CPU、视频处理单元、双倍速率同步动态随机存储器DDR SDRAM;
所述中央处理器,用于确定多个视频窗口在显示设备上的显示区域以及显示图层,根据所述显示区域以及显示图层,确定各视频窗口内的像素点是否被其他视频窗口覆盖,并根据各像素点的覆盖情况生成各视频窗口对应的视频掩码信息,将所述视频掩码信息发送至DDR SDRAM中;
所述视频处理单元,用于从所述DDR SDRAM中获取所述视频掩码信息,根据所述视频掩码信息对所述多个视频窗口进行渲染,得到未被覆盖的像素点对应的视频渲染数据,将所述视频渲染数据发送至所述DDR SDRAM中,并接收所述DDR SDRAM发送的拼接后视频;
所述DDR SDRAM,用于接收并存储中央处理器发送的所述视频掩码信息,并在视频处理单元对所述多个视频窗口进行渲染时,接收所述视频处理单元发送的视频渲染数据,并对所述视频渲染数据进行拼接,将所述拼接后视频发送至视频处理单元。
6.根据权利要求5所述的装置,其特征在于,所述视频处理单元为:现场可编程逻辑门阵列FPGA、图形处理器GPU、中央处理器CPU中的任意一种或多种。
7.根据权利要求5所述的装置,其特征在于,所述中央处理器还用于:
将所述视频窗口中未被遮挡的像素点编码为第一预设值,被遮挡的像素点编码为第二预设值,得到各视频窗口对应的视频掩码信息;
所述视频处理单元还用于,根据所述各视频窗口对应的视频掩码信息,对编码为第一预设值的像素点进行渲染,得到未被覆盖的坐标位置对应的视频渲染数据。
8.根据权利要求5所述的装置,其特征在于,所述视频处理单元还用于:
根据所述视频掩码信息对所述多个视频窗口进行渲染之前,获取多个视频窗口对应的视频信号源,将各个视频信号源根据视频的源分辨率和视频窗口的分辨率进行缩放。
9.根据权利要求5所述的装置,其特征在于,所述视频处理单元还用于:
若确定所述显示设备为多个子显示设备拼接,则在得到拼接后的视频后,利用所述子显示设备的拼接位置,将拼接后的视频进行划分,并按照各子显示设备的接口协议类型,分别发送至各个子显示设备中。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4任一所述的方法。
CN202011223445.8A 2020-11-05 2020-11-05 一种视频渲染方法及装置 Pending CN112511896A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011223445.8A CN112511896A (zh) 2020-11-05 2020-11-05 一种视频渲染方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011223445.8A CN112511896A (zh) 2020-11-05 2020-11-05 一种视频渲染方法及装置

Publications (1)

Publication Number Publication Date
CN112511896A true CN112511896A (zh) 2021-03-16

Family

ID=74955258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011223445.8A Pending CN112511896A (zh) 2020-11-05 2020-11-05 一种视频渲染方法及装置

Country Status (1)

Country Link
CN (1) CN112511896A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099182A (zh) * 2021-04-08 2021-07-09 西安应用光学研究所 基于机载并行处理架构的多视窗实时缩放方法
CN113709563A (zh) * 2021-10-27 2021-11-26 北京金山云网络技术有限公司 视频封面选取方法、装置、存储介质以及电子设备
CN114257704A (zh) * 2021-12-17 2022-03-29 威创集团股份有限公司 一种基于fpga的视频叠加方法、装置、设备和介质
CN114449245A (zh) * 2022-01-28 2022-05-06 上海瞳观智能科技有限公司 一种基于可编程芯片的实时双路视频处理***及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581505A (zh) * 2012-07-30 2014-02-12 浙江大华技术股份有限公司 一种数字视频信号处理装置及方法
CN104281426A (zh) * 2013-07-05 2015-01-14 浙江大华技术股份有限公司 一种图像显示方法及装置
US20180160123A1 (en) * 2016-12-07 2018-06-07 Qualcomm Incorporated Systems and methods of signaling of regions of interest
CN111147770A (zh) * 2019-12-18 2020-05-12 广州市保伦电子有限公司 一种多路视频窗口叠加显示方法、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581505A (zh) * 2012-07-30 2014-02-12 浙江大华技术股份有限公司 一种数字视频信号处理装置及方法
CN104281426A (zh) * 2013-07-05 2015-01-14 浙江大华技术股份有限公司 一种图像显示方法及装置
US20180160123A1 (en) * 2016-12-07 2018-06-07 Qualcomm Incorporated Systems and methods of signaling of regions of interest
CN111147770A (zh) * 2019-12-18 2020-05-12 广州市保伦电子有限公司 一种多路视频窗口叠加显示方法、电子设备及存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099182A (zh) * 2021-04-08 2021-07-09 西安应用光学研究所 基于机载并行处理架构的多视窗实时缩放方法
CN113099182B (zh) * 2021-04-08 2022-11-22 西安应用光学研究所 基于机载并行处理架构的多视窗实时缩放方法
CN113709563A (zh) * 2021-10-27 2021-11-26 北京金山云网络技术有限公司 视频封面选取方法、装置、存储介质以及电子设备
CN113709563B (zh) * 2021-10-27 2022-03-08 北京金山云网络技术有限公司 视频封面选取方法、装置、存储介质以及电子设备
CN114257704A (zh) * 2021-12-17 2022-03-29 威创集团股份有限公司 一种基于fpga的视频叠加方法、装置、设备和介质
CN114257704B (zh) * 2021-12-17 2023-10-10 威创集团股份有限公司 一种基于fpga的视频叠加方法、装置、设备和介质
CN114449245A (zh) * 2022-01-28 2022-05-06 上海瞳观智能科技有限公司 一种基于可编程芯片的实时双路视频处理***及其方法
CN114449245B (zh) * 2022-01-28 2024-04-05 上海瞳观智能科技有限公司 一种基于可编程芯片的实时双路视频处理***及其方法

Similar Documents

Publication Publication Date Title
CN110290425B (zh) 一种视频处理方法、装置及存储介质
CN112511896A (zh) 一种视频渲染方法及装置
CN109219844B (zh) 在视频优先级与图形优先级之间转换
WO2021175049A1 (zh) 视频插帧方法及相关装置
CN112235626B (zh) 视频渲染方法、装置、电子设备及存储介质
WO2018045927A1 (zh) 一种基于三维虚拟技术的网络实时互动直播方法及装置
JP3907947B2 (ja) Sdtvデバイスを用いたhdtvの編集およびエフェクトの事前視覚化
WO2015196937A1 (zh) 一种录制视频的方法和装置
KR102617258B1 (ko) 이미지 프로세싱 방법 및 장치
CN110868625A (zh) 一种视频播放方法、装置、电子设备及存储介质
CN116647655A (zh) 重新投影全景视频图片的平板投影以通过应用进行渲染
RU2276470C2 (ru) Способ уплотнения и распаковки видеоданных
JP2006148875A (ja) ステップ画像を用いた画像ベースビデオの生成
CN111818295B (zh) 一种图像获取方法及装置
CN114710702A (zh) 一种视频的播放方法和装置
CN107580228B (zh) 一种监控视频处理方法、装置及设备
CN111406404B (zh) 获得视频文件的压缩方法、解压缩方法、***及存储介质
CN117499755A (zh) 基于gpu硬图层的硬解码视频嵌入水印或字幕的方法
US11967345B2 (en) System and method for rendering key and fill video streams for video processing
CN114615458B (zh) 一种云会议中实时合屏快速出图的方法、装置、存储介质和服务器
CN114245027B (zh) 一种视频数据混合处理方法、***、电子设备和存储介质
CN112929682B (zh) 对图像背景进行透明处理的方法、装置、***及电子设备
CN114245137A (zh) 由gpu执行的视频帧处理方法和包括gpu的视频帧处理装置
WO2021217428A1 (zh) 图像处理方法、装置、摄像设备和存储介质
KR101970787B1 (ko) 안드로이드 플랫폼 기반 듀얼 메모리를 이용한 비디오 디코딩 장치 및 방법

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210316