CN116170636A - 直播视频播放方法及其装置、设备、介质 - Google Patents

直播视频播放方法及其装置、设备、介质 Download PDF

Info

Publication number
CN116170636A
CN116170636A CN202211659152.3A CN202211659152A CN116170636A CN 116170636 A CN116170636 A CN 116170636A CN 202211659152 A CN202211659152 A CN 202211659152A CN 116170636 A CN116170636 A CN 116170636A
Authority
CN
China
Prior art keywords
dynamic range
image
high dynamic
range image
interest
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
CN202211659152.3A
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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Cubesili Information 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 Guangzhou Cubesili Information Technology Co Ltd filed Critical Guangzhou Cubesili Information Technology Co Ltd
Priority to CN202211659152.3A priority Critical patent/CN116170636A/zh
Publication of CN116170636A publication Critical patent/CN116170636A/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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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
    • H04N21/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/440245Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment

Abstract

本申请公开一种直播视频播放方法及其装置、设备、介质,所述方法包括:响应直播视频流推流指令,确定出高动态范围图像直播视频流中帧图像的兴趣区域,拷贝出兴趣区域作为第一高动态范围图像;将帧图像中的兴趣区域填充为纯色,并将帧图像渲染为标准动态范围图像;对第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。本申请将直播视频画面中用户感兴趣与不感兴趣区域各自所具有的图像使用不同的图像处理及编解码方式,在提升直播画面观感同时也保证直播在线服务的系统运行稳定性。

Description

直播视频播放方法及其装置、设备、介质
技术领域
本申请涉及网络直播领域,尤其涉及一种直播视频播放方法,此外还涉及该方法相应的装置、设备以及计算机可读存储介质。
背景技术
随着播放设备的发展,部分设备可以高动态范围图像成像规格(HDR)播放视频,互联网直播平台也与时俱进,通常会向平台的观众端提供具有高动态范围图像标准的直播视频流,以提升平台中各主播端的直播视频流的视频观感,但平台中的观众用户所使用的播放设备各不相同,但具有高动态范围图像成像规格(HDR)的直播视频流在进行编解码时所占用的算力资源较为巨大,对于平台的主播端、服务器及观众端的设备都有较高的配置需求,因此可能导致进行推流的主播端或观众端无法流畅的传输高动态范围的直播视频流,导致直播中断,而对于观众端而言,可能导致观众端的播放设备发生卡顿或宕机,导致直播视频流无法在设备中流畅播放,影响观众用户的直播观看体验。
鉴于现有的播放高动态范围图像直播视频流所存在的问题,本申请人出于解决该问题的考虑做出相应的探索。
发明内容
本申请的目的在于满足用户需求而提供一种直播视频播放方法,此外还涉及该方法相应的装置、设备、计算机可读存储介质以及计算机程序产品。
为实现本申请的目的,采用如下技术方案:
响应直播视频流推流指令,确定出高动态范围图像直播视频流中帧图像的兴趣区域,拷贝出所述兴趣区域作为第一高动态范围图像;
将所述帧图像中的兴趣区域填充为纯色,并将所述帧图像渲染为标准动态范围图像;
对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。
进一步的实施例中,所述确定出高动态范围图像直播视频流中帧图像的兴趣区域的步骤中,包括如下步骤:
获取高动态范围图像直播视频流中当前播放的帧图像,对所述帧图像进行图像预处理;
提取完成图像预处理的所述帧图像的图像特征向量;
根据所述图像特征向量,识别出所述帧图像中的兴趣区域。
进一步的实施例中,所述确定出高动态范围图像直播视频流中帧图像的兴趣区域的步骤中,包括如下步骤:
响应作用于直播视频流播放窗口的兴趣区域编辑事件,获取所述兴趣区域编辑事件所对应的兴趣区域定位信息;
获取高动态范围图像直播视频流中当前播放的帧图像,根据所述兴趣区域定位信息包含区域定位数据,确定出所述帧图像中所对应的兴趣区域中心点;
根据所述兴趣区域定位信息包含区域面积数据,从所述帧图像中的所述兴趣区域中心点处确定出所述区域面积数据所对应的兴趣区域。
进一步的实施例中,所述拷贝出所述兴趣区域作为第一高动态范围图像的步骤中,包括如下步骤:
获取所述帧图像中所述兴趣区域所包含的图像像素;
生成高动态范围成像规格的第一高动态范围图像,将所述图像像素合并至所述第一高动态范围图像中。
进一步的实施例中,所述将所述帧图像中的兴趣区域填充为纯色,并将所述帧图像渲染为标准动态范围图像的步骤中,包括如下步骤:
将所述帧图像中的兴趣区域所对应的图像像素填充为纯色像素;
使用硬件渲染算法,将所述帧图像从高动态范围成像规格渲染为标准动态范围成像规格的标准动态范围图像。
进一步的实施例中,所述对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示的步骤中,包括如下步骤:
获取图像定位信息及渲染公式信息,所述图像定位信息根据所述兴趣区域在所述帧图像中所处的区域相对位置所确定,所述渲染公式信息为将所述帧图像渲染为所述标准动态范围图像所使用的转换公式;
对第一高动态范围图像与标准动态范围图像分别使用软件编码及硬件编码,获取高动态软编码数据及标准动态硬编码数据;
将所述图像定位信息、所述渲染公式信息、所述高动态软编码数据及所述标准动态硬编码数据推送至观众端中,以驱动观众端对所述高动态编码数据与所述标准动态编码数据分别进行软件解码及硬件解码,并根据所述渲染公式信息进行逆转换将解码获取的所述标准动态范围图像渲染为第二高动态范围图像,进而根据所述图像定位信息,将所述第一动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。
进一步的实施例中,所述对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示的步骤中,包括如下步骤:
将所述第一高动态范围图像与所述帧图像所对应的帧数序号存储至第一图像队列中;
将所述第二高动态范围图像与所述帧图像所对应的帧数序号存储至第二图像队列中;
从所述第一图像队列及第二图像队列中获取帧数序号相同的第一高动态范围图像与第二高动态范围图像,将所述第一高动态范围图像与所述第二高动态范围图像合并输出至直播视频流播放窗口中显示。
适应本申请的目的而提出的一种直播视频播放装置,其包括:
兴趣区域拷贝模块,用于响应直播视频流推流指令,确定出高动态范围图像直播视频流中帧图像的兴趣区域,拷贝出所述兴趣区域作为第一高动态范围图像;
标准图像渲染模块,用于将所述帧图像中的兴趣区域填充为纯色,并将所述帧图像渲染为标准动态范围图像;
合并图像输出模块,用于对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。
进一步的实施例中,所述兴趣区域拷贝模块包括:
图像预处理子模块,用于获取高动态范围图像直播视频流中当前播放的帧图像,对所述帧图像进行图像预处理;
向量提取子模块,用于提取完成图像预处理的所述帧图像的图像特征向量;
兴趣区域识别子模块,用于根据所述图像特征向量,识别出所述帧图像中的兴趣区域。
较佳的实施例中,所述兴趣区域拷贝模块还包括:
兴趣区域编辑子模块,用于响应作用于直播视频流播放窗口的兴趣区域编辑事件,获取所述兴趣区域编辑事件所对应的兴趣区域定位信息;
区域中心点确定子模块,用于获取高动态范围图像直播视频流中当前播放的帧图像,根据所述兴趣区域定位信息包含区域定位数据,确定出所述帧图像中所对应的兴趣区域中心点;
兴趣区域确定子模块,用于根据所述兴趣区域定位信息包含区域面积数据,从所述帧图像中的所述兴趣区域中心点处确定出所述区域面积数据所对应的兴趣区域。
较佳的实施例中,所述兴趣区域拷贝模块还包括:
图像像素获取子模块,用于获取所述帧图像中所述兴趣区域所包含的图像像素;
图像像素合并子模块,用于生成高动态范围成像规格的第一高动态范围图像,将所述图像像素合并至所述第一高动态范围图像中。
进一步的实施例中,所述标准图像渲染模块包括:
像素填充子模块,用于将所述帧图像中的兴趣区域所对应的图像像素填充为纯色像素;
图像渲染子模块,用于使用硬件渲染算法,将所述帧图像从高动态范围成像规格渲染为标准动态范围成像规格的标准动态范围图像。
进一步的实施例中,所述合并图像输出模块包括:
图像关联信息获取子模块,用于获取图像定位信息及渲染公式信息,所述图像定位信息根据所述兴趣区域在所述帧图像中所处的区域相对位置所确定,所述渲染公式信息为将所述帧图像渲染为所述标准动态范围图像所使用的转换公式;
编码数据获取子模块,用于对第一高动态范围图像与标准动态范围图像分别使用软件编码及硬件编码,获取高动态软编码数据及标准动态硬编码数据;
图像合并输出子模块,用于将所述图像定位信息、所述渲染公式信息、所述高动态软编码数据及所述标准动态硬编码数据推送至观众端中,以驱动观众端对所述高动态编码数据与所述标准动态编码数据分别进行软件解码及硬件解码,并根据所述渲染公式信息进行逆转换将解码获取的所述标准动态范围图像渲染为第二高动态范围图像,进而根据所述图像定位信息,将所述第一动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。
较佳的实施例中,所述合并图像输出模块还包括:
第一高动态图像入队子模块,用于将所述第一高动态范围图像与所述帧图像所对应的帧数序号存储至第一图像队列中;
第二高动态图像入队子模块,用于将所述第二高动态范围图像与所述帧图像所对应的帧数序号存储至第二图像队列中;
图像合并输出子模块,用于从所述第一图像队列及第二图像队列中获取帧数序号相同的第一高动态范围图像与第二高动态范围图像,将所述第一高动态范围图像与所述第二高动态范围图像合并输出至直播视频流播放窗口中显示。
为解决上述技术问题本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述直播视频播放方法的步骤。
为解决上述技术问题本申请实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述直播视频播放方法的步骤。
为解决上述技术问题本申请实施例还提供一种计算机程序产品,包括计算机程序及计算机指令,该计算机程序及计算机指令被处理器执行时,使得所述处理器执行上述所述直播视频播放方法的步骤。
相对于现有技术,本申请的优势如下:
本申请通过区分出高动态范围成像规格(HDR)的直播视频画面的兴趣区域,对兴趣区域的图像数据与兴趣区域外的图像数据进行不同的图像处理,以优化高动态范围成像规格的直播视频流的处理及传输效率,对于直播视频画面中兴趣区域中的图像,其图像数据一般少于兴趣区域外的图像,因此,将兴趣区域中的图像进行运行于中央处理器(CPU)的软件编解码,而对兴趣区域外的图像进行运行于图形处理器(GPU)的硬件编解码,可有效降低直播视频流推送端进行直播视频流解码时其设备的中央处理器(CPU)的运算压力,使得服务器或主播端的中央处理器(CPU)节省出的计算资源可应用于直播在线服务的其他服务中,保证直播在线服务的稳定,对于直播视频流进行直播视频流解码播放的播放端也同样具有相同的效果,使得观众端设备的中央处理器(CPU)可将节省的计算资源应用于直播服务的其他功能,保证观众用户完整及流畅参与直播间的直播活动。
其次,本申请拷贝出直播视频流中播放的帧图像的兴趣区域的图像像素后,将帧图像中的兴趣区域的图像像素填充为纯色,以减少兴趣区域中原图像像素所占用的资源,节省输出播放非兴趣区域的图像像素的标准动态范围图像所占用的内存资源,且节省图像数据编解码与传输时所需占用的计算及传输资源。
另外,本申请将具有较多图像数据的图像从原本的高动态范围成像规格(HDR)先转换为标准动态范围成像规格(SDR)的图像后再进行编解码,标准动态范围成像规格(SDR)在编解码时所占用的位宽将大大小于高动态范围成像规格(HDR)所占用的位宽,以节省设备对图像进行编解码时所占用的算力资源,且观众端解码获取标准动态范围成像规格(SDR)的图像后也将进行高动态范围渲染,以保证最终呈现的直播视频流可以高动态范围成像规格(HDR)进行播放。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为实施本申请的技术方案相关的一种典型的网络部署架构示意图;
图2为本申请的直播视频播放方法的典型实施例的流程示意图;
图3为本申请中直播间界面中编辑直播视频流的兴趣区域的界面示意图;
图4为本申请中拷贝出帧图像中的兴趣区域,以生成第一高动态范围图像的图像示意图;
图5为本申请中将帧图像中的兴趣区域填充为纯色,以生成标准动态范围图像的图像示意图;
图6为本申请中关于使用训练至收敛的图像识别模型识别出帧图像中的兴趣区域的具体实施方式所形成的流程示意图;
图7为本申请中关于确定出由主播用户所编辑的兴趣区域的具体实施方式所形成的流程示意图;
图8为本申请中关于拷贝出帧图像中的兴趣区域生成第一高动态范围图像的具体实施方式所形成的流程示意图;
图9为本申请中关于将帧图像中的兴趣区域填充为纯色生成标准动态范围图像的具体实施方式所形成的流程示意图;
图10为本申请中关于合并第一高动态范围图像与第二高动态范围图像生成新帧图像的图像示意图;
图11为本申请中关于合并第一高动态范围图像与标准动态范围图像生成新帧图像输出至直播视频流播放窗口中显示的具体实施方式所形成的流程示意图;
图12为本申请中关于同步输出第一高动态范围图像与第二高动态范围图像输出至直播视频流播放窗口中显示的具体实施方式所形成的流程示意图;
图13为本申请的直播视频播放装置的典型实施例的原理框图;
图14为本申请一个实施例的计算机设备的基本结构框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;传统膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的传统膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“工作节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
请参阅图1,本申请相关技术方案实施时所需的硬件基础可按图中所示的架构进行部署。本申请所称服务器80部署在云端,作为一个在线服务器,其可以负责进一步连接起相关数据服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备例如图中所示的智能手机81和个人计算机82或者第三方服务器(未图示)提供服务。所述的智能手机和个人计算机均可通过公知的网络接入方式接入互联网,与云端的服务器80建立数据通信链路,以便运行所述服务器所提供的服务相关的终端应用程序。
对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。
所述的应用程序,是指运行于服务器或终端设备上的应用程序,这一应用程序采用编程的方式实现了本申请的相关技术方案,其程序代码可被以计算机可执行指令的形式保存于计算机能识别的计算机可读存储介质中,并被中央处理器调入内存中运行,通过该应用程序在计算机的运行而构造出本申请的相关装置。
对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。
本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
请参阅图2,本申请的一种直播视频播放方法,在其典型实施例中,其包括如下步骤:
步骤S11,响应直播视频流推流事件,确定出高动态范围图像直播视频流中帧图像的兴趣区域,拷贝出所述兴趣区域作为第一高动态范围图像:
所述的直播视频流推流事件是将主播端的直播视频流广播至处于所述主播端的直播间中的观众端所触发的事件,观众端进入任意主播端的直播间后,将从平台的服务器中获取所述直播间所对应的直播视频流,服务器所具有的所述直播视频流由观众端所进入的直播间所属的主播端所推送,其中,部分直播间的直播视频流为以高动态范围图像标准(HDR)为规格的所述高动态范围图像直播视频流。
服务器在将所述高动态范围图像直播视频流广播至直播间中的观众端之前,或者主播端将其所述高动态范围图像直播视频流广播至直播间中的观众端之前,所述服务器或所述主播端将确定出所述高动态范围图像直播视频流的帧图像中的所述兴趣区域,所述的兴趣区域一般是指所述帧图像中需以高动态范围图像标准(HDR)为规格进行渲染显示的图像区域,所述兴趣区域一般可通过识别算法或神经网络模型确定出所述帧图像中的兴趣区域,或由主播端的主播用户通过在直播视频流播放窗口编辑对应的自定义编辑兴趣区域,以将该兴趣区域作为所述帧图像中的兴趣区域。
关于通过识别算法或神经网络模型自动化地确定出帧图像的所述兴趣区域,所述的兴趣区域一般是指所述帧图像中的主播人脸、主播人物或直播商品等观众用户在观看直播视频时感兴趣的物体,因此,在通过识别算法或神经网络模型自动化地确定出帧图像的所述兴趣区域,一般将识别出所述帧图像中具有的主播人脸、主播人物或直播商品等观众用户在观看直播视频时感兴趣的物体的图像区域,件该图像区域作为所述兴趣区域。
关于通过基于神经网络所构建的图像识别模型确定出所述帧图像中的兴趣区域的实施方式,具体的,获取高动态范围图像直播视频流中当前播放的帧图像,对所述帧图像进行图像预处理,进而提取完成图像预处理的所述帧图像的图像特征向量,根据所述图像特征向量,通过全连接层或卷积层获取结果后进行归一化处理,以识别出所述帧图像中的兴趣区域。
请参考图3,所述的兴趣区域也可为主播端的主播用户所自定义编辑,具体的,响应作用于直播视频流播放窗口的兴趣区域编辑事件,获取所述兴趣区域编辑事件所对应的兴趣区域定位信息,如图3所示的直播间界面,观众端的观众用户可在所示的直播视频流播放窗口301中编辑对应的兴趣区域,如所示直播视频流播放窗口301中兴趣区域编辑控件302,通过所示兴趣区域编辑控件302参考所示直播视频流播放窗口301中播放的直播视频流编辑框定对应的兴趣区域,以生成所示兴趣区域编辑控件302所编辑框定的兴趣区域所对应的所述兴趣区域定位信息,主播端获取高动态范围图像直播视频流中当前播放的帧图像,根据所述兴趣区域定位信息包含区域定位数据,确定出所述帧图像中所对应的兴趣区域中心点,进而根据所述兴趣区域定位信息包含区域面积数据,从所述帧图像中的所述兴趣区域中心点处确定出所述区域面积数据所对应的兴趣区域。
请参考图4,服务器或主播端确定出所述帧图像中的所述兴趣区域后,将所述兴趣区域所包含的图像像素,且生成高动态范围成像规格的第一高动态范围图像,进而将所述图像像素合并至所述第一高动态范围图像中,具体的,如图4所示,图4的所示,通过获取图4中所示的帧图像401中的兴趣区域402所包含的图像像素,将所示图像像素合并至所示第一高动态范围图像402中。
步骤S12,将所述帧图像中的兴趣区域填充为纯色,并将所述帧图像渲染为标准动态范围图像:
服务器或主播端确定出所述帧图像中的所述兴趣区域后,将所述帧图像中的兴趣区域填充为纯色,以减少所述兴趣区域所使用的图像像素所消耗的资源,具体的,请参考图5,客户端将所述帧图像中的兴趣区域所对应的图像像素填充为纯色像素,其中,所述的纯色像素可选择黑色像素、白色像素或绿色像素等,如图5所示,图5所示的帧图像501中所示的兴趣区域502,将所示兴趣区域502中包含的图像像素填充为纯色像素,以将所示帧图像501转换为所示帧图像502,所示帧图像502中的兴趣区域503中为纯色像素。
将所述帧图像中的兴趣区域填充为纯色后,将使用硬件渲染算法,将所述帧图像从高动态范围成像规格渲染为标准动态范围成像规格的标准动态范围图像,所述的硬件渲染算法一般运行于设备的图形处理器(GPU),以减轻设备的中央处理器(CPU)的运行压力。
所述的硬件渲染算法一般具有对应成像规格转换的转换公式,以通过所述转换公式将所述帧图像从高动态范围成像规格渲染转换为标准动态范围成像规格的标准动态范围图像,且所述转换公式将在后续推送至观众端中,以便观众端根据根据所述转换公式实现成像规格逆转换,将解码后所获取标准动态范围图像重新渲染转换为高动态范围成像规格的所述第二高动态范围图像进行输出显示。
步骤S13,对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示:
获取所述第一高动态范围图像与所述标准动态范围图像后,将对所述第一高动态范围图像使用所述软件编码以获取对应的高动态软编码数据,对所述标准动态范围图像使用所述硬件编解码以获取对应的标准动态硬编码数据,以将所述高动态软编码数据与标准动态硬编码数据推送至观众端中,
因所述第一高动态范围图像中一般仅具有所述兴趣区域所包含的图像像素,相比较所述标准动态范围图像所具有的图像像素,所述第一高动态范围图像所具有的图像像素更少,且所述第一高动态范围图像的分辨率一般也低于所述标准动态范围图像,因此,对所述第一高动态范围图像使用运行于设备的中央处理器(CPU)的软件编解码,而对所述标准动态范围图像使用运行于设备的图形处理器(GPU)的硬件编解码,可节省中央处理器(CPU)的计算资源,对于服务器而言,可节省服务器的中央处理器(CPU)的计算资源以用于服务网络直播平台中的其他直播在线服务,对于主播端而言,中央处理器(CPU)所节省算力资源可保证以保证设备运行直播服务的稳定性,而对于观众端而言,可减少对所述第一高动态范围图像的编码数据进行软件解码时所需消耗中央处理器(CPU)的计算资源,以保证观众端中的直播视频流可流畅播放,且保证中央处理器(CPU)可运行直播间在线服务的其他功能,提升观众端的直播间观看体验。
除了向观众端推送所述高动态软编码数据与所述标准动态硬编码数据外,还将向观众端推送所述高动态软编码数据与所述标准动态硬编码数据的关联信息,所述关联信息包含图像定位信息及渲染公式信息,所述图像定位信息根据所述兴趣区域在所述帧图像中所处的区域相对位置所确定,所述渲染公式信息为将所述帧图像渲染为所述标准动态范围图像所使用的转换公式,以便观众端对所述高动态编码数据与所述标准动态编码数据分别进行软件解码及硬件解码后,根据所述渲染公式信息进行逆转换将解码获取的所述标准动态范围图像渲染为第二高动态范围图像,进而根据所述图像定位信息,将所述第一动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。
在将所述第一高动态范围图像与所述第二高动态范围图像合并输出至所述直播播放窗口显示时,将根据所述图像定位信息,将所述第一高动态范围图像定位至所述第二高动态范围图像的纯色区域处,所述图像定位信息根据所述兴趣区域在所述帧图像中所处的区域相对位置所确定。
另外,为了保证所述第一高动态范围图像与所述第二高动态范围图像可同步进行显示,将所述第一高动态范围图像与所述帧图像所对应的帧数序号存储至第一图像队列中,相应的,将所述第二高动态范围图像与所述帧图像所对应的帧数序号存储至第二图像队列中,当需输出直播视频流需输出对应的帧数序号的图像使,从所述第一图像队列及第二图像队列中获取所述帧数序号所对应的第一高动态范围图像与第二高动态范围图像,将所述第一高动态范围图像与所述第二高动态范围图像合并同步输出至直播视频流播放窗口中显示:
通过本方法的典型实施方式可知,本方法可将直播视频流中观众用户所感兴趣的图像区域以高动态范围图形规格(HDR)进行输出播放,将感兴趣外的图形区域以标准动态范围图形规格(SDR)进行输出播放,以将直播视频画面中用户感兴趣的直播视频内容以优于其非感兴趣的直播视频内容的图形规格进行输出播放,节省设备的计算资源,同时也可让部分使用配置一般的设备观众端观看高动态范围图形规格(HDR)的直播视频画面;其次,本方法拷贝出直播视频流中播放的帧图像的兴趣区域的图像像素后,将帧图像中的兴趣区域的图像像素填充为纯色,以减少兴趣区域中原图像像素所占用的资源,节省输出播放非兴趣区域的图像像素的标准动态范围图像所占用的内存资源;另外,本方法对高动态范围图形规格(HDR)的图像使用软件编解码,而对标准动态范围图形规格(SDR)的图像使用硬件软件编解码,软件编解码是指运行于中央处理器(CPU)的编解码方式,而硬件软件编解码是指运行于显示处理器(GPU)的编解码方式,进而节省中央处理器(CPU)的计算资源,使得观众端设备的中央处理器(CPU)可将节省的计算资源应用于直播服务的其他功能,保证观众用户完整及流畅参与直播间的直播活动。
以上的典型实施例及其变化实施例充分揭示了本申请的直播视频播放方法的实施方案,但是,仍可通过对一些技术手段的变换和扩增而演绎出该方法的多种变化实施例,如下概要说明其他实施例:
一种实施例中,请参考图6,所述确定出高动态范围图像直播视频流中帧图像的兴趣区域的步骤中,包括如下步骤:
步骤S111,获取高动态范围图像直播视频流中当前播放的帧图像,对所述帧图像进行图像预处理:
获取所述帧图像后,将对该帧图像进行图像预处理,例如,修改所述帧图像的尺寸、降维或数据扩充等预处理操作。
步骤S112,提取完成图像预处理的所述帧图像的图像特征向量:
完成所述帧图像的图像预处理后,将提取该帧图像的所述图像特征向量。
步骤S113,根据所述图像特征向量,识别出所述帧图像中的兴趣区域:
获取所述图像特征向量后,将该图像特征向量输入至已训练至收敛的图像识别模型的全连接层或卷积层中,并进行归一化处理,以识别出所述帧图像中具有的测试图案。
本实施例中,通过已训练至收敛的图像识别模型,通过神经网络方式识别出帧图像中具有的测试图案,提升测试图案的识别效率。
一种实施例中,请参考图3及图7,所述确定出高动态范围图像直播视频流中帧图像的兴趣区域的步骤中,包括如下步骤:
步骤S111’,响应作用于直播视频流播放窗口的兴趣区域编辑事件,获取所述兴趣区域编辑事件所对应的兴趣区域定位信息:
所述的兴趣去编辑事件一般是指主播端的主播用户在直播间界面中的所述直播视频流播放窗口编辑框定兴趣区域的事件,请参考图3,所述的兴趣区域也可为主播端的主播用户所自定义编辑,具体的,响应作用于直播视频流播放窗口的兴趣区域编辑事件,获取所述兴趣区域编辑事件所对应的兴趣区域定位信息,如图3所示的直播间界面,主播端的主播用户可在所示的直播视频流播放窗口301中编辑对应的兴趣区域,如所示直播视频流播放窗口301中兴趣区域编辑控件302,通过所示兴趣区域编辑控件302参考所示直播视频流播放窗口301中播放的直播视频流编辑框定对应的兴趣区域,以生成所示兴趣区域编辑控件302所编辑框定的兴趣区域所对应的所述兴趣区域定位信息。
步骤S112’,获取高动态范围图像直播视频流中当前播放的帧图像,根据所述兴趣区域定位信息包含区域定位数据,确定出所述帧图像中所对应的兴趣区域中心点:
所述兴趣区域定位信息包含的所述区域定位数据用于表征所述兴趣区域在帧图像中的位置,所述的区域定位数据中一般包含纵横两个坐标轴的数据,其中,所述帧图像的左下角一般为坐标轴的原点,进而根据所述区域定位数据定位出所述兴趣区域的中心在所述帧图像中的位置,以将该位置作为所述兴趣区域中心点。
步骤S113’,根据所述兴趣区域定位信息包含区域面积数据,从所述帧图像中的所述兴趣区域中心点处确定出所述区域面积数据所对应的兴趣区域:
所述兴趣区域定位信息包含的所述区域面积数据中表征所述兴趣区域的区域面积,确定出所述帧图像中的所述兴趣区域所处的所述兴趣区域中心点后,将以所述兴趣区域中心点为中点,以该中心确定出所述区域面积数据所表征的区域面积,将该区域面积所包含的图像区域作为所述兴趣区域。
本实施例中,兴趣区域可由主播用户自定义编辑,以将需以直播视频流中需以高动态范围成像规格进行输出显示的兴趣区域交由主播用户确定,使主播用户控制直播视频画面中的兴趣区域而辅助其直播业务。
一种实施例中,请参考图4及图8,所述拷贝出所述兴趣区域作为第一高动态范围图像的步骤中,包括如下步骤:
步骤S111”,获取所述帧图像中所述兴趣区域所包含的图像像素:
请参考图4,确定出所述帧图像中的所述兴趣区域后,观众端将获取所述兴趣区域所包含的图像像素,如图4所示,图4的所示,通过获取图4中所示的帧图像401中的兴趣区域402所包含的图像像素。
步骤S112”,生成高动态范围成像规格的第一高动态范围图像,将所述图像像素合并至所述第一高动态范围图像中:
请参考图3,生成所述高动态范围成像规格的高动态范围图像,新生成的所述第一高动态范围图像中一般不包含图像像素,进而将所述图像像素合并至所述第一高动态范围图像中,如图4,将从所示的帧图像401的兴趣区域402中获取的图像像素合并至所示第一高动态范围图像403中。
本实施例中,通过将所述兴趣区域包含的图像像素拷贝至以高动态范围成像规格生成的图像中,以便于后续对所述兴趣区域中包含的图像像素进行的高动态范围输出显示。
一种实施例中,请参考图5及图9,所述将所述帧图像中的兴趣区域填充为纯色,并将所述帧图像渲染为标准动态范围图像的步骤中,包括如下步骤:
步骤S121,将所述帧图像中的兴趣区域所对应的图像像素填充为纯色像素:
请参考图5,客户端将所述帧图像中的兴趣区域所对应的图像像素填充为纯色像素,其中,所述的纯色像素可选择黑色像素、白色像素或绿色像素等,如图5所示,图5所示的帧图像501中所示的兴趣区域502,将所示兴趣区域502中包含的图像像素填充为纯色像素,以将所示帧图像501转换为所示帧图像502,所示帧图像502中的兴趣区域503中为纯色像素。
步骤S122,使用硬件渲染算法,将所述帧图像从高动态范围成像规格渲染为标准动态范围成像规格的标准动态范围图像:
将所述帧图像中的兴趣区域填充为纯色后,将使用硬件渲染算法,将所述帧图像从高动态范围成像规格渲染为标准动态范围成像规格的标准动态范围图像,所述的硬件渲染算法一般运行于设备的图形处理器(GPU),以减轻设备的中央处理器(CPU)的运行压力。
所述的硬件渲染算法一般具有对应成像规格转换的转换公式,以通过所述转换公式将所述帧图像从高动态范围成像规格渲染转换为标准动态范围成像规格的标准动态范围图像,且所述转换公式将在后续推送至观众端中,以便观众端根据根据所述转换公式实现成像规格逆转换,将解码后所获取标准动态范围图像重新渲染转换为高动态范围成像规格的所述第二高动态范围图像进行输出显示。
本实施例中,通过将已被拷贝的兴趣区域填充为纯色,以减少兴趣区域中原图像像素所占用的资源及降低图像的码率,以减少编解码所占用的计算资源及编码数据进行传输时所占用的传输流量,并将原高动态范围图像渲染为标准动态范围成像规格的图像,同样可有效减轻后续对非兴趣区域的图像像素进行编解码所占用的计算资源。
一种实施例中,请参考图10及图11,所述对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示的步骤中,包括如下步骤:
步骤S131,获取图像定位信息及渲染公式信息,所述图像定位信息根据所述兴趣区域在所述帧图像中所处的区域相对位置所确定,所述渲染公式信息为将所述帧图像渲染为所述标准动态范围图像所使用的转换公式:
所述的图像定位信息一般根据所述兴趣区域在所述帧图像中所处的区域相对位置所确定,例如,根据所述兴趣区域的区域中点在所述帧图像的位置所确定,或者当所述兴趣区域由观众用户通过所述直播视频流播放窗口所编辑框定时,则所述图像定位信息为所述兴趣区域定位信息包含区域定位数据。
所述的渲染公式信息一般是指将所述帧图像从高动态范围成像规格渲染转换为标准动态范围成像规格的所使用的转换公式,通过将所述渲染公式信息推送至观众端中,使观众端通过所述渲染公式信息将所述标准动态范围图像逆转换为高动态范围成像规格的所述第二高动态范围图像。
步骤S132,对第一高动态范围图像与标准动态范围图像分别使用软件编码及硬件编码,获取高动态软编码数据及标准动态硬编码数据:
所述的软件编码是指运用于中央处理器(CPU)的编码方式,因所述第一高动态仅具有所述帧图像中兴趣区域包含的图像像素,相较于包含非所述需求区域外的其他图像像素的所述标准动态范围图像,使用所述软件编码对所述第一高动态范围图像进行编码,而对所述标准动态范围图像使用运行于图形处理器(GPU)的所述硬件编码进行编码,可有效节省中央处理器(CPU)所消耗的计算资源。
步骤S133,将所述图像定位信息、所述渲染公式信息、所述高动态软编码数据及所述标准动态硬编码数据推送至观众端中,以驱动观众端对所述高动态编码数据与所述标准动态编码数据分别进行软件解码及硬件解码,并根据所述渲染公式信息进行逆转换将解码获取的所述标准动态范围图像渲染为第二高动态范围图像,进而根据所述图像定位信息,将所述第一动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示:
观众端接收到所述所述图像定位信息、所述渲染公式信息、所述高动态软编码数据及所述标准动态硬编码数据后,将先对所述高动态编码数据与所述标准动态编码数据分别进行所述软件解码及所述硬件解码,所述软件解码是指运行于中央处理器(CPU)的解码方式,因所述高动态软编码数据所具有的编码数据一般少于所述标准动态硬编码,因此,对所述高动态软编码数据使用所述软件解码进行解码,可有效地减轻中央处理器(CPU)的运算压力,对所述标准动态硬编码数据使用运用于图形处理器(GPU)的解码方式,以借助图像处理器(GPU)负责大部分编码数据的解码,为中央处理器(CPU)分担大部分的运算压力。
观众端对所述高动态软编码数据及所述标准动态硬编码数据进行解码后,将获取所述第一高动态范围图像及所述标准动态范围图像,进而对所述标准动态范围图像进行高动态范围渲染,观众端根据所述渲染公式信息,以将所述标准动态范围图像以标准动态范围的成像规格逆转换为以高标准动态范围的所述第二高动态范围图像。
请参考图10,获取如图10所示的第一高动态范围图像1001及所示第二高动态范围图像1002,将根据所述图像定位信息,将所示高动态范围图像1001与所示标准动态范围图像1002进行合并,生成所示新帧图像1003,以将所示新帧图像1003输出至所述直播视频流播放窗口中显示。
本实施例中,通过对具有较少图像数据的高动态范围图像进行软件编解码,以减轻解码端(服务器或主播端)与编码端(观众端)的央处理器的运算压力,其次,观众端解码出获取标准动态范围图像后,将对标准动态范围图像进行高动态范围成像规格渲染,并根据图像定位信息合并第一与第二高动态范围图像进行输出显示,以保证最终呈现的直播视频流的播放效果。
一种实施例中,请参考图10及图12,所述对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示的步骤中,包括如下步骤:
步骤S131’,将所述第一高动态范围图像与所述帧图像所对应的帧数序号存储至第一图像队列中:
所述的第一图像队列中存储着多个由具有兴趣区域的图像像素的第一高动态范围图像及其对应的帧数序号。
步骤S132’,将所述第二高动态范围图像与所述帧图像所对应的帧数序号存储至第二图像队列中:
所述的第二图像队列中存储着多个由除了兴趣区域的图像像素外的图像像素的第二高动态范围图像及其对应的帧数序号。
步骤S133’,从所述第一图像队列及第二图像队列中获取帧数序号相同的第一高动态范围图像与第二高动态范围图像,将所述第一高动态范围图像与所述第二高动态范围图像合并输出至直播视频流播放窗口中显示:
请参考图10,获取当前需输出显示的图像的目标帧数序号,以从所述第一图像队列中获取所述目标帧数序号对应存储的第一高动态范围图像,及从所述第二图像队列中获取所述目标帧数序号对应存储的第二高动态范围图像,如图10所示第一高动态范围图像1001及所示第二高动态范围图像1002具有相同的帧数序号,以将所示第一高动态范围图像1001及所示第二高动态范围图像1002生成所示新帧图像1003,以将所示新帧图像1003输出至所述直播视频流播放窗口中显示,以将所示第一高动态范围图像1001及所示第二高动态范围图像1002同步输出至所述直播视频流播放窗口中显示。
本实施例中,通过两个队列分别存储第一高动态范围图像及第二高动态范围图像,以保证具有相同帧数序号的第一高动态范围图像及第二高动态范围图像可同步输出至直播视频流播放窗口中显示。
进一步,可以通过将上述各实施例所揭示的方法中的各个步骤进行功能化,构造出本申请的一种直播视频播放装置,按照这一思路,请参阅图13,其中的一个典型实施例中,该装置包括:兴趣区域拷贝模块11,用于响应直播视频流推流指令,确定出高动态范围图像直播视频流中帧图像的兴趣区域,拷贝出所述兴趣区域作为第一高动态范围图像;标准图像渲染模块12,用于将所述帧图像中的兴趣区域填充为纯色,并将所述帧图像渲染为标准动态范围图像;合并图像输出模块13,用于对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。
一种实施例中,所述兴趣区域拷贝模块11包括:图像预处理子模块,用于获取高动态范围图像直播视频流中当前播放的帧图像,对所述帧图像进行图像预处理;向量提取子模块,用于提取完成图像预处理的所述帧图像的图像特征向量;兴趣区域识别子模块,用于根据所述图像特征向量,识别出所述帧图像中的兴趣区域。
另一种实施例中,所述兴趣区域拷贝模块11还包括:兴趣区域编辑子模块,用于响应作用于直播视频流播放窗口的兴趣区域编辑事件,获取所述兴趣区域编辑事件所对应的兴趣区域定位信息;区域中心点确定子模块,用于获取高动态范围图像直播视频流中当前播放的帧图像,根据所述兴趣区域定位信息包含区域定位数据,确定出所述帧图像中所对应的兴趣区域中心点;兴趣区域确定子模块,用于根据所述兴趣区域定位信息包含区域面积数据,从所述帧图像中的所述兴趣区域中心点处确定出所述区域面积数据所对应的兴趣区域。
另一种实施例中,所述兴趣区域拷贝模块11还包括:图像像素获取子模块,用于获取所述帧图像中所述兴趣区域所包含的图像像素;图像像素合并子模块,用于生成高动态范围成像规格的第一高动态范围图像,将所述图像像素合并至所述第一高动态范围图像中。
一种实施例中,所述标准图像渲染模块12包括:像素填充子模块,用于将所述帧图像中的兴趣区域所对应的图像像素填充为纯色像素;图像渲染子模块,用于使用硬件渲染算法,将所述帧图像从高动态范围成像规格渲染为标准动态范围成像规格的标准动态范围图像。
一种实施例中,所述合并图像输出模块13包括:图像关联信息获取子模块,用于获取图像定位信息及渲染公式信息,所述图像定位信息根据所述兴趣区域在所述帧图像中所处的区域相对位置所确定,所述渲染公式信息为将所述帧图像渲染为所述标准动态范围图像所使用的转换公式;编码数据获取子模块,用于对第一高动态范围图像与标准动态范围图像分别使用软件编码及硬件编码,获取高动态软编码数据及标准动态硬编码数据;图像合并输出子模块,用于将所述图像定位信息、所述渲染公式信息、所述高动态软编码数据及所述标准动态硬编码数据推送至观众端中,以驱动观众端对所述高动态编码数据与所述标准动态编码数据分别进行软件解码及硬件解码,并根据所述渲染公式信息进行逆转换将解码获取的所述标准动态范围图像渲染为第二高动态范围图像,进而根据所述图像定位信息,将所述第一动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。
另一种实施例中,所述合并图像输出模块13还包括:第一高动态图像入队子模块,用于将所述第一高动态范围图像与所述帧图像所对应的帧数序号存储至第一图像队列中;第二高动态图像入队子模块,用于将所述第二高动态范围图像与所述帧图像所对应的帧数序号存储至第二图像队列中;图像合并输出子模块,用于从所述第一图像队列及第二图像队列中获取帧数序号相同的第一高动态范围图像与第二高动态范围图像,将所述第一高动态范围图像与所述第二高动态范围图像合并输出至直播视频流播放窗口中显示。
为解决上述技术问题,本申请实施例还提供一种计算机设备,用于运行根据所述直播视频播放方法所实现的计算机程序。具体请参阅图14,图14为本实施例计算机设备基本结构框图。
如图14所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该计算机设备的计算机可读存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种直播视频播放方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种直播视频播放方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行本申请的直播视频播放装置中的各个模块/子模块的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有直播视频播放装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本申请还提供一种计算机可读存储介质,所述的直播视频播放方法被编写成计算机程序,以计算机可读指令的形式存储于该存储介质中,计算机可读指令被一个或多个处理器执行时,意味着该程序在计算机中的运行,由此使得一个或多个处理器执行上述任一实施例直播视频播放方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等计算机可读存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本申请将直播视频画面中用户感兴趣与不感兴趣区域各自所具有的图像使用不同的图像处理及编解码方式,在提升直播画面观感同时也保证直播在线服务的系统运行稳定性。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种直播视频播放方法,其特征在于,包括如下步骤:
响应直播视频流推流指令,确定出高动态范围图像直播视频流中帧图像的兴趣区域,拷贝出所述兴趣区域作为第一高动态范围图像;
将所述帧图像中的兴趣区域填充为纯色,并将所述帧图像渲染为标准动态范围图像;
对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。
2.根据权利要求1所述的方法,其特征在于,所述确定出高动态范围图像直播视频流中帧图像的兴趣区域的步骤中,包括如下步骤:
获取高动态范围图像直播视频流中当前播放的帧图像,对所述帧图像进行图像预处理;
提取完成图像预处理的所述帧图像的图像特征向量;
根据所述图像特征向量,识别出所述帧图像中的兴趣区域。
3.根据权利要求1所述的方法,其特征在于,所述确定出高动态范围图像直播视频流中帧图像的兴趣区域的步骤中,包括如下步骤:
响应作用于直播视频流播放窗口的兴趣区域编辑事件,获取所述兴趣区域编辑事件所对应的兴趣区域定位信息;
获取高动态范围图像直播视频流中当前播放的帧图像,根据所述兴趣区域定位信息包含区域定位数据,确定出所述帧图像中所对应的兴趣区域中心点;
根据所述兴趣区域定位信息包含区域面积数据,从所述帧图像中的所述兴趣区域中心点处确定出所述区域面积数据所对应的兴趣区域。
4.根据权利要求1所述的方法,其特征在于,所述拷贝出所述兴趣区域作为第一高动态范围图像的步骤中,包括如下步骤:
获取所述帧图像中所述兴趣区域所包含的图像像素;
生成高动态范围成像规格的第一高动态范围图像,将所述图像像素合并至所述第一高动态范围图像中。
5.根据权利要求1所述的方法,其特征在于,所述将所述帧图像中的兴趣区域填充为纯色,并将所述帧图像渲染为标准动态范围图像的步骤中,包括如下步骤:
将所述帧图像中的兴趣区域所对应的图像像素填充为纯色像素;
使用硬件渲染算法,将所述帧图像从高动态范围成像规格渲染为标准动态范围成像规格的标准动态范围图像。
6.根据权利要求1所述的方法,其特征在于,所述对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示的步骤中,包括如下步骤:
获取图像定位信息及渲染公式信息,所述图像定位信息根据所述兴趣区域在所述帧图像中所处的区域相对位置所确定,所述渲染公式信息为将所述帧图像渲染为所述标准动态范围图像所使用的转换公式;
对第一高动态范围图像与标准动态范围图像分别使用软件编码及硬件编码,获取高动态软编码数据及标准动态硬编码数据;
将所述图像定位信息、所述渲染公式信息、所述高动态软编码数据及所述标准动态硬编码数据推送至观众端中,以驱动观众端对所述高动态编码数据与所述标准动态编码数据分别进行软件解码及硬件解码,并根据所述渲染公式信息进行逆转换将解码获取的所述标准动态范围图像渲染为第二高动态范围图像,进而根据所述图像定位信息,将所述第一动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。
7.根据权利要求1所述的方法,其特征在于,所述对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示的步骤中,包括如下步骤:
将所述第一高动态范围图像与所述帧图像所对应的帧数序号存储至第一图像队列中;
将所述第二高动态范围图像与所述帧图像所对应的帧数序号存储至第二图像队列中;
从所述第一图像队列及第二图像队列中获取帧数序号相同的第一高动态范围图像与第二高动态范围图像,将所述第一高动态范围图像与所述第二高动态范围图像合并输出至直播视频流播放窗口中显示。
8.一种直播视频播放装置,其特征在于,包括:
兴趣区域拷贝模块,用于响应直播视频流推流指令,确定出高动态范围图像直播视频流中帧图像的兴趣区域,拷贝出所述兴趣区域作为第一高动态范围图像;
标准图像渲染模块,用于将所述帧图像中的兴趣区域填充为纯色,并将所述帧图像渲染为标准动态范围图像;
合并图像输出模块,用于对所述第一高动态范围图像与所述标准动态范围图像分别使用软件编解码及硬件编解码,并将所述标准动态范围图像渲染为第二高动态范围图像,以将所述第一高动态范围图像与第二高动态范围图像合并输出至直播视频流播放窗口中显示。
9.一种电子设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至7中任意一项所述的方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
CN202211659152.3A 2022-12-22 2022-12-22 直播视频播放方法及其装置、设备、介质 Pending CN116170636A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211659152.3A CN116170636A (zh) 2022-12-22 2022-12-22 直播视频播放方法及其装置、设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211659152.3A CN116170636A (zh) 2022-12-22 2022-12-22 直播视频播放方法及其装置、设备、介质

Publications (1)

Publication Number Publication Date
CN116170636A true CN116170636A (zh) 2023-05-26

Family

ID=86410413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211659152.3A Pending CN116170636A (zh) 2022-12-22 2022-12-22 直播视频播放方法及其装置、设备、介质

Country Status (1)

Country Link
CN (1) CN116170636A (zh)

Similar Documents

Publication Publication Date Title
CN111681167B (zh) 画质调整方法和装置、存储介质及电子设备
US20180270496A1 (en) Composite video streaming using stateless compression
WO2018121014A1 (zh) 视频播放控制方法、装置及终端设备
WO2022257699A1 (zh) 图像画面显示方法、装置、设备、存储介质及程序产品
US11922599B2 (en) Video super-resolution processing method and apparatus
CN112788235B (zh) 图像处理方法、装置、终端设备及计算机可读取存储介质
CN112843676B (zh) 数据处理方法、装置、终端、服务器及存储介质
US20220270365A1 (en) Image recognition method, video playback method, related devices
CN110139147B (zh) 一种视频处理方法、系统、移动终端、服务器及存储介质
CN111464828A (zh) 虚拟特效显示方法、装置、终端及存储介质
CN114040251A (zh) 音视频播放方法、系统、存储介质及计算机程序产品
CN113596571B (zh) 屏幕分享方法、装置、系统、存储介质以及计算机设备
CN116567346A (zh) 视频处理方法、装置、存储介质及计算机设备
CN114205680A (zh) 视频封面展示方法及其装置、设备、介质、产品
CN113822803A (zh) 图像超分处理方法、装置、设备及计算机可读存储介质
WO2024032494A1 (zh) 图像处理方法、装置、计算机、可读存储介质及程序产品
CN116170636A (zh) 直播视频播放方法及其装置、设备、介质
US20220239920A1 (en) Video processing method, related apparatus, storage medium, and program product
CN114938408A (zh) 一种云手机的数据传输方法、系统、设备及介质
CN114170082A (zh) 视频播放、图像处理和模型训练方法、装置以及电子设备
CN113596495A (zh) 直播推流处理方法及其装置、设备与介质
CN116708793B (zh) 视频的传输方法、装置、设备及存储介质
WO2023193524A1 (zh) 直播视频处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品
CN115086730B (zh) 签约视频生成方法、系统、计算机设备及介质
US20230105436A1 (en) Generative adversarial network for video compression

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