CN111601077A - 数据帧渲染方法及装置 - Google Patents

数据帧渲染方法及装置 Download PDF

Info

Publication number
CN111601077A
CN111601077A CN202010382644.7A CN202010382644A CN111601077A CN 111601077 A CN111601077 A CN 111601077A CN 202010382644 A CN202010382644 A CN 202010382644A CN 111601077 A CN111601077 A CN 111601077A
Authority
CN
China
Prior art keywords
data
frame
rendering
frame data
backup
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
CN202010382644.7A
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.)
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 CN202010382644.7A priority Critical patent/CN111601077A/zh
Publication of CN111601077A publication Critical patent/CN111601077A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种数据帧渲染方法及装置,该方法包括:依据设定时长内接收的数据帧数量确定数据帧接收频率;当所述数据帧接收频率小于设定帧率阈值时,若获取到解码后的原始帧数据,则对所述原始帧数据进行备份得到备份帧数据,并在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。应用该方法,以实现在视频播放时即使数据帧接收频率低,也能够及时获取数据帧进行渲染,从而提高视频播放效果。

Description

数据帧渲染方法及装置
技术领域
本申请涉及视频处理技术领域,尤其涉及一种数据帧渲染方法及装置。
背景技术
随着视频监控技术的不断发展,视频监控***被广泛应用在诸多领域,与此同时,用户对播放前端设备所采集到的视频流时的实时性和流畅度也提出了更高的要求。现有技术中,在将前端设备采集到的视频流传输给后端的电子设备进行播放的过程中,为了降低视频传输所造成的网络压力,节省网络带宽,通常在对前端设备采集到的视频流做降低视频帧率处理后,再向后端的电子设备进行传输。这里,降低视频流的视频帧率,则意味着电子设备接收数据帧时的接收频率降低。
电子设备接收数据帧时的接收频率降低,等同于电子设备接收视频流中相邻两数据帧时的接收间隔增大。然而,一旦电子设备接收视频流中相邻两数据帧时的接收间隔增大,则有可能出现以下技术问题:无法及时获取到待渲染的数据帧进行渲染,而无法及时获取到数据帧进行渲染,则意味着视频画面无法及时刷新重绘,从而影响视频播放效果。
发明内容
有鉴于此,本申请提供一种数据帧渲染方法及装置,以实现在视频播放时即使数据帧接收频率低,也能够及时获取到数据帧进行渲染。
根据本申请实施例的第一方面,提供一种数据帧渲染方法,所述方法包括:
依据设定时长内接收的数据帧数量确定数据帧接收频率;
当所述数据帧接收频率小于设定帧率阈值时,若获取到解码后的原始帧数据,则对所述原始帧数据进行备份得到备份帧数据,并在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。
在一实施例中,在确定对数据帧进行渲染时,若成功获取到待渲染的原始帧数据,所述方法进一步包括:
对所述原始帧数据进行渲染,并删除所述原始帧数据。
在一实施例中,获取待渲染的原始帧数据包括:
按照第一指定路径访问已存储的原始帧数据,所述第一指定路径用于访问原始帧数据;
所述获取所述备份帧数据包括:按照第二指定路径访问已存储的备份帧数据,所述第二指定路径用于访问备份帧数据。
在一实施例中,当所述数据帧接收频率小于设定帧率阈值时,所述方法进一步包括:
依据所述设定帧率阈值确定数据帧渲染间隔;
所述确定对数据帧进行渲染包括:
在所述数据帧渲染间隔到达时,确定对数据帧进行渲染。
在一实施例中,当所述数据帧接收频率大于或等于设定帧率阈值时,所述方法进一步包括:
若获取到解码后的原始帧数据,则直接对所述原始帧数据进行渲染。
根据本申请实施例的第二方面,提供另一种数据帧渲染方法,所述方法包括:
获得解码后的原始帧数据;
对所述原始帧数据进行备份得到备份帧数据,并在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。
在一实施例中,在确定对所述数据帧进行渲染时,若成功获取到待渲染的原始帧数据,所述方法进一步包括:
对所述原始帧数据进行渲染,并删除所述原始帧数据。
在一实施例中,获取待渲染的原始帧数据包括:
按照第一指定路径访问已存储的原始帧数据,所述第一指定路径用于访问原始帧数据;
所述获取所述备份帧数据包括:按照第二指定路径访问已存储的备份帧数据,所述第二指定路径用于访问备份帧数据。
在一实施例中,在该方法之前,进一步包括:
依据设定时长内接收的数据帧数量确定数据帧接收频率;
当所述数据帧接收频率小于设定帧率阈值时,继续执行所述方法。
根据本申请实施例的第三方面,提供一种渲染装置,所述装置包括:
频率确定模块,用于依据设定时长内接收的数据帧数量确定数据帧接收频率;
解码渲染模块,用于当所述数据帧接收频率小于设定帧率阈值时,若获取到解码后的原始帧数据,则对所述原始帧数据进行备份得到备份帧数据,并在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。
在一实施例中,解码渲染模块还用于:在确定对数据帧进行渲染时,若成功获取到待渲染的原始帧数据,对所述原始帧数据进行渲染,并删除所述原始帧数据。
在一实施例中,解码渲染模块获取待渲染的原始帧数据包括:按照第一指定路径访问已存储的原始帧数据,所述第一指定路径用于访问原始帧数据;
解码渲染模块获取所述备份帧数据包括:按照第二指定路径访问已存储的备份帧数据,所述第二指定路径用于访问备份帧数据。
在一实施例中,所述装置还包括:
间隔确定模块,用于当所述数据帧接收频率小于设定帧率阈值时,依据所述设定帧率阈值确定数据帧渲染间隔;
所述解码渲染模块确定对数据帧进行渲染包括:在所述数据帧渲染间隔到达时,确定对数据帧进行渲染。
在一实施例中,解码渲染模块还用于:当所述数据帧接收频率大于或等于设定帧率阈值时,若获取到解码后的原始帧数据,则直接对所述原始帧数据进行渲染。
根据本申请实施例的第四方面,提供另一种渲染装置,所述装置包括:
解码模块,用于获得解码后的原始帧数据;
备份模块,用于对所述原始帧数据进行备份得到备份帧数据;
渲染模块,用于在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。
在一实施例中,渲染模块还用于:在确定对所述数据帧进行渲染时,若成功获取到待渲染的原始帧数据,对所述原始帧数据进行渲染,并删除所述原始帧数据。
在一实施例中,渲染模块获取待渲染的原始帧数据包括:按照第一指定路径访问已存储的原始帧数据,所述第一指定路径用于访问原始帧数据;
渲染模块获取所述备份帧数据包括:按照第二指定路径访问已存储的备份帧数据,所述第二指定路径用于访问备份帧数据。
在一实施例中,所述装置还包括:
频率确定模块,用于依据设定时长内接收的数据帧数量确定数据帧接收频率;
渲染模块还用于:当所述数据帧接收频率小于设定帧率阈值时,继续执行所述方法。
根据本申请实施例的第五方面,提供一种电子设备,所述设备包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行本申请任一实施例提供的数据帧渲染方法的步骤。
根据本申请实施例的第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一实施例提供的数据帧渲染方法的步骤。
应用本申请实施例,在数据帧接收频率较低时(数据帧接收频率小于设定帧率阈值时),通过对获取到的解码后的原始帧数据进行备份得到备份帧数据,以在对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取备份帧数据并对备份帧数据进行渲染,实现了在视频播放时即使数据帧接收频率低也能够及时获取到数据帧进行渲染;进一步地,基于本申请实施例在数据帧接收频率低时也能够及时获取数据帧进行渲染,则意味着视频画面能够及时刷新重绘,这则能提高视频播放效果。
附图说明
图1为现有渲染装置的结构示意图;
图2为本申请实施例1提供的数据帧渲染方法流程图;
图3为本申请实施例1提供的数据帧渲染方法的另一流程图;
图4为本申请实施例2提供的数据帧渲染方法流程图
图5为本申请一示例性实施例提供的一种渲染装置的实施例框图;
图6为本申请一示例性实施例提供的另一种渲染装置的实施例框图;
图7为本申请根据一示例性实施例示出的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
目前,常用的视频播放是按照逐帧渲染的方式将数据帧渲染到播放窗口上。为使该逐帧渲染的方式容易理解,下面结合图1所示例的现有渲染装置的结构进行描述:
参见图1,为现有渲染装置的结构示意图。如图1所示,该渲染装置可包括:取流模块101、视频展现及交互模块102、解码渲染模块103。需要说明的是,解码渲染模块103比较耗性能,通常为了用户交互的流畅性,也可设置解码渲染模块103独立于渲染装置。图1以解码渲染模块103设置在渲染装置为例。
取流模块101,用于从前端采集设备接收数据帧,并将接收到的数据帧转发给解码渲染模块103。
解码渲染模块103,用于接收到取流模块101转发的数据帧后,首先进行解码,然后将解码后的帧数据渲染到视频展现及交互模块102指定的播放窗口上。
由此可见,该逐帧渲染的方式本质上是一种被动接收数据帧进行渲染的方式,即,当渲染装置从前端采集设备接收到数据帧时,才会对接收到的数据帧进行解码渲染,而在相邻两个数据帧的接收时间间隔内因无法获取到数据帧而不进行解码渲染,因此,当渲染装置的数据帧接收频率比较低时,将出现渲染装置在较长的接收时间间隔内无法及时获取到数据帧进行渲染。进一步,渲染装置在较长的接收时间间隔内无法及时获取到数据帧进行渲染,则意味着在较长的时间间隔内不做视频画面的刷新重绘,由此将影响视频播放效果。
基于此,为解决上述数据帧接收频率低时有可能出现无法及时获取到待渲染的数据帧进行渲染的问题,本申请提供了一种数据帧渲染方法,应用本申请提供的数据帧渲染方法能够在视频播放时即使数据帧接收频率低,也能够及时获取数据帧进行渲染。为使本申请更加容易理解,以下通过两个具体实施例对本申请提供的数据帧渲染方法进行说明:
实施例1:
在本实施例1中,为实现在视频播放时即使数据帧接收频率低也能够及时获取数据帧进行渲染,提出了如图1所示的数据帧渲染方法。
请参见图2,为本申请实施例1提供的数据帧渲染方法流程图。作为一个实施例,该方法可应用于渲染装置。可选的,这里的渲染装置可通过软件实现,也可通过硬件实现,本实施例并不具体限定。
如图2所示,该流程可包括以下步骤:
步骤201:依据设定时长内接收的数据帧数量确定数据帧接收频率。
作为一个实施例,渲染装置可以周期性地检测每一周期内接收的数据帧数量以统计每一周期的数据帧接收帧率。即,这里的周期可为上述步骤201中的设定时长。
作为另一个实施例,渲染装置也可以定时检测从上一检测时间至当前时间内接收的数据帧数量以统计该段时间的数据帧接收帧率。即,这里的上一定时时间至当前定时时间的时间段可为上述步骤201中的设定时长。
步骤202:当数据帧接收频率小于设定帧率阈值时,若获取到解码后的原始帧数据,则对原始帧数据进行备份得到备份帧数据,并在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取备份帧数据,对备份帧数据进行渲染。
在本实施例1中,当确定出的数据帧接收频率小于设定帧率阈值时,则意味着此时的数据帧接收频率较低,基于上述描述可知,在数据帧接收频率较低时按照目前的数据帧渲染方法进行渲染可能会导致视频播放时无法及时获取数据帧进行渲染的缺陷,基于此,作为一个实施例,如步骤202的描述,可在获取到解码后的原始帧数据时,对原始帧数据进行备份得到备份帧数据,在确定对数据帧进行渲染时,若因渲染装置还未接收到新的数据帧而导致无法获取到待渲染的原始帧数据,则获取备份帧数据,对备份帧数据进行渲染(此时该操作可简称渲染补偿功能)。也即,在本实施例1中,当数据帧接收频率小于设定帧率阈值时,可开启上述的渲染补偿功能,以实现在视频播放时即使因为数据帧接收频率低也能够及时获取数据帧进行渲染。
基于步骤202描述的渲染补偿功能,则对于同一数据帧,该数据帧的原始帧数据和原始帧数据的备份帧数据需要分别存储。基于此,在确定对该数据帧进行渲染时,可首先尝试获取待渲染的原始帧数据,若无法获取到待渲染的原始帧数据,则如步骤202所述,获取备份帧数据,对获取到的备份帧数据进行渲染。由此可见,在视频播放时即使数据帧接收频率低而无法及时获取原始帧数据进行渲染,也能够通过获取备份帧数据进行渲染,从而可以避免在视频播放时因为无法及时获取数据帧进行渲染的问题。
在本实施例1中,并非随机对数据帧进行渲染,而是通过设置一个数据帧渲染间隔,每隔数据帧渲染间隔才确定对数据帧进行渲染。基于此,上述步骤202中确定对数据帧进行渲染是指:在数据帧渲染间隔到达时,确定对数据帧进行渲染。由此可见,在本实施例1中,渲染装置的数据帧渲染间隔与渲染装置的数据帧接收频率无关。
可选地,在本实施例1中,在渲染装置开启渲染补偿功能前后,数据帧渲染间隔可不同,具体的,在本实施例1中,在渲染装置开启渲染补偿功能时的数据帧渲染间隔小于渲染装置未开启渲染补偿功能时的数据帧渲染间隔。
作为一个实施例中,在渲染装置未开启渲染补偿功能时,则可按照上述描述的逐帧渲染的方式进行渲染,在该种方式下,数据帧渲染间隔将受数据帧接收频率的直接影响,这里不再赘述。而在渲染装置开启渲染补偿功能时,则可借助渲染需求和上述的设定帧率阈值相结合确定数据帧渲染间隔。
作为一个实施例,在渲染装置开启渲染补偿功能时,可以通过如下公式(一)确定数据帧渲染间隔:
Figure BDA0002482595840000091
在上述公式(一)中,T表示数据帧渲染间隔,单位可为毫秒(ms)。K可为一个固定系数,比如为1000。F_theshold表示上述设定帧率阈值,单位为赫兹(Hz)。
在具体实现中,由于不同的上层业务应用对视频播放画面的刷新要求不同,因此,可以针对不同的上层业务应用分别设置不同的设定帧率阈值。比如,若上层业务应用对视频播放画面的刷新要求较高,则可以针对该上层业务应用设置一个较低的设定帧率阈值;反之,若上层业务应用对视频播放画面的刷新要求较低,则可以针对该上层业务应用设置一个较高的设定帧率阈值。本实施例并不具体限定上述的设定频率阈值。
作为一个实施例,在本实施例1中,在上述步骤202中获取到解码后的原始帧数据时,可进一步记录原始帧数据。类似地,在对所述原始帧数据进行备份得到备份帧数据时,还可进一步记录备份帧数据。
可选地,原始帧数据和备份帧数据可分别记录至不同的介质。比如,原始帧数据可记录至渲染装置中的帧交换单元(具体见下文渲染装置的结构描述),备份帧数据可记录至渲染装置中的帧缓存单元(具体见下文渲染装置的结构描述)。
基于上面描述,作为一个实施例,上述记录原始帧数据可为:将待记录的原始帧数据覆盖第一介质(用于记录原始帧数据的介质),比如渲染装置中的帧交换单元中已记录的原始帧数据,以实现第一介质始终记录最新接收的原始帧数据。类似地,上述记录备份帧数据可为:将待记录的备份帧数据覆盖第二介质(用于记录备份帧数据的介质),比如渲染装置中的帧缓存单元中已记录的备份帧数据,以实现第二介质始终记录最新接收的原始帧数据的备份帧数据。
基于上面描述,则在步骤202中,当确定对数据帧进行渲染时,可优先按照用于访问原始帧数据的访问路径(为了描述方便,称为第一指定路径)访问已存储的原始数据帧,在无法成功获取原始帧数据时,再按照用于访问备份帧数据的访问路径(为了描述方便,称为第二指定路径)访问已存储的备份帧数据,对所述备份帧数据进行渲染。最终成功获取待渲染的数据帧(备份帧数据),避免了无法及时获取数据帧进行渲染的问题。
基于此,上述获取待渲染的原始帧数据可包括:按照第一指定路径访问已存储的原始帧数据。上述获取所述备份帧数据包括:按照第二指定路径访问已存储的备份帧数据。
需要说明的是,本实施例1中,在上述步骤202中,若成功获取到待渲染的原始帧数据,可直接对原始帧数据进行渲染。并在成功获取到待渲染的原始帧数据时,可进一步将已存储的原始帧数据删除,以使存储原始帧数据的第一介质比如渲染装置的帧交换单元不再记录已渲染过的原始帧数据。
作为一个实施例,在上述步骤202中,当成功获取到备份帧数据时,可不删除已存储的备份帧数据,以使得存储备份帧数据的第二介质比如渲染装置的帧缓存单元中始终记录有备份帧数据,这能保证在数据帧接收频率过低(比如数据帧接收频率小于一个帧率阈值,应当理解的是,这里的帧率阈值小于上述步骤201中描述的设定帧率阈值)时,在从第二介质中获取到待渲染的备份数据帧之后,下一数据帧渲染间隔已到达时,若第一介质中还未记录有未渲染过的原始帧数据,则还能够从第二介质中成功获取到备份帧数据并对获取到的备份帧数据进行渲染,如此则可避免无法及时获取数据帧进行渲染的问题。
作为另一个实施例,在数据帧接收频率小于设定帧率阈值,但并非过低时(比如数据帧接收频率大于一个帧率阈值,应当理解的是,这里的帧率阈值小于上述的设定帧率阈值),当成功获取到备份帧数据时,也可删除已存储的备份帧数据。这时由于数据帧接收频率并非过低,因此在从第二介质中获取到待渲染的备份数据帧之后,下一数据帧渲染间隔已到达时,第一介质中已记录有未渲染过的原始帧数据,此时则能够成功获取未渲染过的原始帧数据,并且在第一介质中已记录有未渲染过的原始帧数据之后,第二介质中也将记录该原始帧数据的备份帧数据,待再下一数据帧渲染间隔到达时,则可以成功从第二介质中获取到备份帧数据并对获取到的备份帧数据进行渲染,如此则可避免无法及时获取数据帧进行渲染的问题。
以上对数据帧接收频率小于设定帧率阈值时进行了描述。下面对数据帧接收频率大于或等于设定帧率阈值时进行描述:
作为一个实施例,若数据帧接收频率大于或等于设定帧率阈值,则意味着在视频播放时不会因为数据帧接收频率低而无法及时获取数据帧进行渲染,基于此,若此时渲染装置已开启上述的渲染补偿功能,则当前可以关闭渲染补偿功能,无需执行如步骤202描述的渲染补偿功能对应的操作,直接可以继续按照现有技术中的渲染方式进行数据帧渲染,即直接对获取的原始帧数据进行渲染。
为使图2所示流程更加容易理解,下面以上述设定时长为一个周期为例进行描述:
参见图3,为本申请实施例1提供的数据帧渲染方法的另一流程图,与图1所示流程相同,作为一个实施例,该方法可应用于渲染装置。可选的,这里的渲染装置可通过软件实现,也可通过硬件实现,本实施例并不具体限定。
如图3所示,该流程可包括以下步骤:
步骤301:在当前周期到达时,依据上一周期内接收的数据帧数量确定数据帧接收频率。
步骤302:比较数据帧接收频率与设定帧率阈值,若数据帧接收频率小于设定帧率阈值,则执行步骤303,若数据帧接收频率大于或等于设定帧率阈值,则执行步骤305。
也就是说,在当前周期到达时,可依赖上一周期的数据帧接收频率确定是否开启上述渲染补偿功能,其中,当上一周期的数据帧接收频率小于设定帧率阈值时,确定开启上述渲染补偿功能,具体见下文步骤303至步骤305;当上一周期的数据帧接收频率大于或等于设定帧率阈值时,则确定不开启上述渲染补偿功能,具体见下文步骤305。
步骤303:若获取到解码后的原始帧数据,则对原始帧数据进行备份得到备份帧数据。
本步骤303是在数据帧接收频率小于设定帧率阈值的前提下执行的。
当数据帧接收频率小于设定帧率阈值,若此时未开启渲染补偿功能,则开启渲染补偿功能,以执行步骤303的具体操作。当然,若此时已开启渲染补偿功能,则继续维持开启渲染补偿功能,以执行步骤303的具体操作。
步骤304:在确定对数据帧进行渲染时,优先按照第一指定路径获取已存储的原始帧数据,若无法获取到待渲染的原始帧数据,则按照第二指定路径获取已存储的备份帧数据,对获取的备份帧数据进行渲染。
本步骤304可参见上文描述,这里不再赘述。
步骤305:直接对获取的原始帧数据进行渲染。
本步骤305是在数据帧接收频率大于或等于设定帧率阈值的前提下执行的。
当数据帧接收频率大于或等于设定帧率阈值,若此时未开启渲染补偿功能,则继续维持渲染补偿功能未开启的状态(比如关闭状态),以执行步骤305的具体操作,比如直接将获取的原始帧数据发送给负责渲染的模块进行渲染。当然,若此时已开启渲染补偿功能,则关闭渲染补偿功能,以执行步骤305的具体操作。
以上对图3所示流程进行了描述。
由实施例1可见,在数据帧接收频率较低时(数据帧接收频率小于设定帧率阈值时),通过对获取到的解码后的原始帧数据进行备份得到备份帧数据,以在对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取备份帧数据并对备份帧数据进行渲染,实现了在视频播放时即使数据帧接收频率低也能够及时获取数据帧进行渲染;进一步地,基于本申请实施例在数据帧接收频率低时也能够及时获取数据帧进行渲染,则意味着视频画面能够及时刷新重绘,这则能提高视频播放效果。
以上对实施例1进行了描述。
在上述实施例1中,渲染装置可依据数据帧接收频率的统计结果确定是否开启渲染补偿功能。但是,在实践中,渲染装置在初始进行数据帧渲染时,无法统计上述设定时长内接收的数据帧数量,基于此,作为一个实施例,渲染装置可在初始执行数据帧渲染时即开启渲染补偿功能,以在获取到解码后的原始帧数据时,除了记录原始帧数据,还对原始帧数据进行备份得到备份帧数据进行记录,并在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取备份帧数据,对备份帧数据进行渲染。之后,若后续能够统计出上述设定时长内接收的数据帧数量,则依据上述设定时长内接收的数据帧数量确定数据帧接收频率,当数据帧接收频率小于设定帧率阈值时,继续维持已开启的渲染补偿功能;而当数据帧接收频率大于或等于设定帧率阈值时,则关闭已开启的渲染补偿功能。
下面对实施例2进行描述:
实施例2:
本实施例2与上述实施例1不同,具体可参见下文描述的图4所示流程。
参见图4,图4为本申请实施例2提供的数据帧渲染方法流程图。作为一个实施例,该流程可应用于渲染装置。可选地,该渲染装置可通过软件实现,也可通过硬件实现,本实施例并不具体限定。
如图4所示,该流程可包括以下步骤:
步骤401:获取解码后的原始帧数据,并对原始帧数据进行备份得到备份帧数据。
步骤402:在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取备份帧数据,对备份帧数据进行渲染。
相比实施例1而言,本实施例2中可不管数据帧接收频率是否小于设定帧率阈值,若获取到解码后的原始帧数据,则直接对原始帧数据进行备份得到备份帧数据,在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取备份帧数据,从而始终保证在因为各种原因而无法成功获取原始帧数据的情况下还能通过成功获取备份帧数据并对备份帧数据进行渲染,以避免因无法及时获取数据帧进行渲染而导致的视频画面长时间不做刷新重绘影响视频播放效果的问题。
至于步骤401和步骤402的详细描述,可以参见上述实施例1,这里不再赘述。
至此,完成图4所示流程。
由实施例2可见,通过对获取到的解码后的原始帧数据进行备份得到备份帧数据,以在对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取备份帧数据并对备份帧数据进行渲染,实现了在视频播放时始终保证在因为各种原因而无法成功获取原始帧数据的情况下还能及时获取备份帧数据并对备份帧数据进行渲染;进一步地,通过及时获取数据帧进行渲染能实现视频画面及时刷新重绘,从而提高视频播放效果。
以上对本申请提供的数据帧渲染方法进行了描述,下面则对本申请提供的渲染装置进行描述:
请参见图5,为本申请一示例性实施例提供的一种渲染装置的实施例框图,该装置对应上述的实施例1。
如图5所示,该装置可以包括:频率确定模块51、解码渲染模块52。
其中,频率确定模块51,用于依据设定时长内接收的数据帧数量确定数据帧接收频率;
解码渲染模块52,用于当所述数据帧接收频率小于设定帧率阈值时,若获取到解码后的原始帧数据,则对所述原始帧数据进行备份得到备份帧数据,并在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。
作为一个实施例,渲染装置还可以包括取流模块53,取流模块53则用于从前端视频流采集设备处接收数据帧。
作为一个实施例,解码渲染模块52具体包括:解码单元、帧交换单元、帧缓存单元、取帧单元,以及渲染单元。
其中,解码单元,用于对取流模块53获取到的数据帧进行解码,得到解码后的原始帧数据。在一个例子中,上述频率确定模块51可集成在解码单元中。
帧交换单元,用于缓存解码后的原始帧数据,并当数据帧接收频率小于设定帧率阈值时对原始帧数据进行备份,将备份得到的备份帧数据发送给帧缓存单元进行缓存,即,帧缓存单元用于缓存原始帧数据的备份帧数据。
取帧单元,用于从帧交换单元或帧缓存单元中获取待渲染的帧数据,并将待渲染的帧数据发送给渲染单元。至于取帧单元是如何从帧交换单元或帧缓存单元中获取待渲染的帧数据的,可以参见上述方法实施例,这里不再赘述。
渲染单元,用于对原始帧数据或备份帧数据进行渲染。在一个例子中,渲染装置还可以包括视频展现及交互模块54,渲染单元则将待渲染的帧数据渲染到视频展现及交互模块54提供的视频播放窗口(图5中未示出)上。
在一实施例中,解码渲染模块52还用于:在确定对数据帧进行渲染时,若成功获取到待渲染的原始帧数据,对所述原始帧数据进行渲染,并删除所述原始帧数据,比如取帧单元在确定对数据帧进行渲染时,先访问帧交换单元,若成功从帧交换单元中获取到原始帧数据,则将获取到的原始帧数据发送给渲染单元,以由渲染单元对原始帧数据进行渲染,并删除帧交换单元中的原始帧数据。
在一实施例中,解码渲染模块52获取待渲染的原始帧数据包括:按照第一指定路径访问已存储的原始帧数据,所述第一指定路径用于访问原始帧数据,比如取帧单元访问帧交换单元中已存储的原始帧数据;
解码渲染模块52获取所述备份帧数据包括:按照第二指定路径访问已存储的备份帧数据,所述第二指定路径用于访问备份帧数据,比如取帧单元访问帧缓存单元中已存储的备份帧数据。
在一实施例中,所述装置还包括(图5中未示出):
间隔确定模块,用于当所述数据帧接收频率小于设定帧率阈值时,依据所述设定帧率阈值确定数据帧渲染间隔,比如频率确定模块51可将确定出的数据帧接收频率上报给间隔确定模块,以由间隔确定模块在数据帧接收频率小于设定帧率阈值时,依据设定帧率阈值确定数据帧渲染间隔,并将确定出的数据帧渲染间隔告知给取帧单元。
所述解码渲染模块52确定对数据帧进行渲染包括:在所述数据帧渲染间隔到达时,确定对数据帧进行渲染,比如取帧单元在数据帧渲染间隔到达时,先访问帧交换单元,若从帧交换单元中无法获取到原始帧数据,则访问帧缓存单元。
在一实施例中,解码渲染模块52还用于:当所述数据帧接收频率大于或等于设定帧率阈值时,若获取到解码后的原始帧数据,则直接对所述原始帧数据进行渲染,比如当数据帧接收频率大于或等于设定帧率阈值时,取帧单元直接访问帧交换单元中已存储的原始帧数据,将获取到的原始帧数据发送给渲染单元以进行渲染。
请参见图6,为本申请一示例性实施例提供的另一种渲染装置的实施例框图,该装置对应上述的实施例2。
如图6所示,该装置可以包括:解码模块61、备份模块62、渲染模块63。
其中,解码模块61,用于获得解码后的原始帧数据;
备份模块62,用于对所述原始帧数据进行备份得到备份帧数据;
渲染模块63,用于在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。
作为一个实施例,渲染装置还可以包括取流模块64,取流模块64则用于从前端视频流采集设备处接收数据帧,并将接收到的数据帧发送给解码模块61。
作为一个实施例,渲染模块63具体包括:帧交换单元、帧缓存单元、取帧单元,以及渲染单元。
其中,帧交换单元,用于缓存解码模块61解码后的原始帧数据。
帧缓存单元,用于缓存备份模块62备份得到的备份帧数据。
取帧单元,用于在确定对数据帧进行渲染时,从帧交换单元或帧缓存单元中获取待渲染的帧数据,并将待渲染的帧数据发送给渲染单元。
渲染单元,用于对原始帧数据或备份帧数据进行渲染。在一个例子中,渲染装置还可以包括视频展现及交互模块65,渲染单元则将待渲染的帧数据渲染到视频展现及交互模块65提供的视频播放窗口(图6中未示出)上。
在一实施例中,渲染模块63还用于:在确定对所述数据帧进行渲染时,若成功获取到待渲染的原始帧数据,对所述原始帧数据进行渲染,并删除所述原始帧数据,比如取帧单元在确定对数据帧进行渲染时,先访问帧交换单元,若成功从帧交换单元中获取到原始帧数据,则将获取到的原始帧数据发送给渲染单元,以由渲染单元对原始帧数据进行渲染,并删除帧交换单元中的原始帧数据。
在一实施例中,渲染模块63获取待渲染的原始帧数据包括:
按照第一指定路径访问已存储的原始帧数据,所述第一指定路径用于访问原始帧数据,比如取帧单元访问帧交换单元中已存储的原始帧数据;
渲染模块63获取所述备份帧数据包括:按照第二指定路径访问已存储的备份帧数据,所述第二指定路径用于访问备份帧数据,比如取帧单元访问帧缓存单元中已存储的备份帧数据。
在一实施例中,所述装置还包括(图6中未示出):
频率确定模块,用于依据设定时长内接收的数据帧数量确定数据帧接收频率。在一个例子中,频率确定模块可集成在解码模块61中;
渲染模块63还用于:当所述数据帧接收频率小于设定帧率阈值时,继续执行所述方法。
请继续参见图7,本申请还提供一种电子设备,包括处理器701、通信接口702、存储器703,以及通信总线704。
其中,处理器701、通信接口702、存储器703通过通信总线704进行相互间的通信;
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的计算机程序,处理器601执行所述计算机程序时实现本申请任一实施例提供的数据帧渲染方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一实施例提供的数据帧渲染方法的步骤。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (12)

1.一种数据帧渲染方法,其特征在于,所述方法包括:
依据设定时长内接收的数据帧数量确定数据帧接收频率;
当所述数据帧接收频率小于设定帧率阈值时,若获取到解码后的原始帧数据,则对所述原始帧数据进行备份得到备份帧数据,并在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。
2.根据权利要求1所述的方法,其特征在于,在确定对数据帧进行渲染时,若成功获取到待渲染的原始帧数据,所述方法进一步包括:
对所述原始帧数据进行渲染,并删除所述原始帧数据。
3.根据权利要求1所述的方法,其特征在于,获取待渲染的原始帧数据包括:
按照第一指定路径访问已存储的原始帧数据,所述第一指定路径用于访问原始帧数据;
所述获取所述备份帧数据包括:按照第二指定路径访问已存储的备份帧数据,所述第二指定路径用于访问备份帧数据。
4.根据权利要求1所述的方法,其特征在于,当所述数据帧接收频率小于设定帧率阈值时,所述方法进一步包括:
依据所述设定帧率阈值确定数据帧渲染间隔;
所述确定对数据帧进行渲染包括:
在所述数据帧渲染间隔到达时,确定对数据帧进行渲染。
5.根据权利要求1所述的方法,其特征在于,当所述数据帧接收频率大于或等于设定帧率阈值时,所述方法进一步包括:
若获取到解码后的原始帧数据,则直接对所述原始帧数据进行渲染。
6.一种数据帧渲染方法,其特征在于,所述方法包括:
获得解码后的原始帧数据;
对所述原始帧数据进行备份得到备份帧数据,并在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。
7.根据权利要求6所述的方法,其特征在于,在确定对所述数据帧进行渲染时,若成功获取到待渲染的原始帧数据,所述方法进一步包括:
对所述原始帧数据进行渲染,并删除所述原始帧数据。
8.根据权利要求6所述的方法,其特征在于,获取待渲染的原始帧数据包括:
按照第一指定路径访问已存储的原始帧数据,所述第一指定路径用于访问原始帧数据;
所述获取所述备份帧数据包括:按照第二指定路径访问已存储的备份帧数据,所述第二指定路径用于访问备份帧数据。
9.根据权利要求6所述的方法,其特征在于,在该方法之前,进一步包括:
依据设定时长内接收的数据帧数量确定数据帧接收频率;
当所述数据帧接收频率小于设定帧率阈值时,继续执行所述方法。
10.一种渲染装置,其特征在于,所述装置包括:
频率确定模块,用于依据设定时长内接收的数据帧数量确定数据帧接收频率;
解码渲染模块,用于当所述数据帧接收频率小于设定帧率阈值时,若获取到解码后的原始帧数据,则对所述原始帧数据进行备份得到备份帧数据,并在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。
11.一种渲染装置,其特征在于,所述装置包括:
解码模块,用于获得解码后的原始帧数据;
备份模块,用于对所述原始帧数据进行备份得到备份帧数据;
渲染模块,用于在确定对数据帧进行渲染时,若无法获取到待渲染的原始帧数据,则获取所述备份帧数据,对所述备份帧数据进行渲染。
12.一种电子设备,其特征在于,所述设备包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行权利要求1-5或6-9任一所述方法的步骤。
CN202010382644.7A 2020-05-08 2020-05-08 数据帧渲染方法及装置 Pending CN111601077A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010382644.7A CN111601077A (zh) 2020-05-08 2020-05-08 数据帧渲染方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010382644.7A CN111601077A (zh) 2020-05-08 2020-05-08 数据帧渲染方法及装置

Publications (1)

Publication Number Publication Date
CN111601077A true CN111601077A (zh) 2020-08-28

Family

ID=72189387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010382644.7A Pending CN111601077A (zh) 2020-05-08 2020-05-08 数据帧渲染方法及装置

Country Status (1)

Country Link
CN (1) CN111601077A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547411A (zh) * 2010-12-14 2012-07-04 康佳集团股份有限公司 流视频的传输和播放方法及其实现装置
CN104038808A (zh) * 2013-03-07 2014-09-10 华东师范大学 增强机动载体视频流畅的图像解码装置及***及解码方法
CN106658170A (zh) * 2016-12-20 2017-05-10 福州瑞芯微电子股份有限公司 一种降低虚拟现实延迟的方法和装置
CN107396193A (zh) * 2017-08-30 2017-11-24 腾讯科技(深圳)有限公司 视频播放的方法和装置
CN109194960A (zh) * 2018-11-13 2019-01-11 北京奇艺世纪科技有限公司 一种图像帧渲染方法、装置及电子设备
CN109743626A (zh) * 2019-01-02 2019-05-10 京东方科技集团股份有限公司 一种图像显示方法、图像处理方法和相关设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547411A (zh) * 2010-12-14 2012-07-04 康佳集团股份有限公司 流视频的传输和播放方法及其实现装置
CN104038808A (zh) * 2013-03-07 2014-09-10 华东师范大学 增强机动载体视频流畅的图像解码装置及***及解码方法
CN106658170A (zh) * 2016-12-20 2017-05-10 福州瑞芯微电子股份有限公司 一种降低虚拟现实延迟的方法和装置
CN107396193A (zh) * 2017-08-30 2017-11-24 腾讯科技(深圳)有限公司 视频播放的方法和装置
CN109194960A (zh) * 2018-11-13 2019-01-11 北京奇艺世纪科技有限公司 一种图像帧渲染方法、装置及电子设备
CN109743626A (zh) * 2019-01-02 2019-05-10 京东方科技集团股份有限公司 一种图像显示方法、图像处理方法和相关设备

Similar Documents

Publication Publication Date Title
US8693840B2 (en) Method and terminal for video processing
WO2016131223A1 (zh) 一种视频帧丢帧方法及视频发送装置
CN101951517B (zh) 一种视频解码和播放的方法、***、终端设备
CN111436004B (zh) 视频播放方法、装置和设备、计算机可读存储介质
CN107948713B (zh) 一种延时直播方法及***
WO2021129830A1 (zh) 视频传输方法、装置、设备和***
CN113766324B (zh) 视频播放的控制方法、装置、计算机设备和存储介质
US9438917B2 (en) System and method for adaptive bandwidth management
EP3079054B1 (en) Method and apparatus for data access
CN102196249B (zh) 监控数据回放方法及编码器、视频管理服务器
US7403566B2 (en) System, computer program product, and method for transmitting compressed screen images from one computer to another or many computers
CN104053002A (zh) 视频解码方法和视频解码装置
CN103686077A (zh) 应用于3g无线网络实时音视频数据传输的双缓冲方法
CN111654740B (zh) 一种在视频播放过程中渲染的方法、装置及电子设备
CN111601077A (zh) 数据帧渲染方法及装置
CN104954718A (zh) 一种移动智能终端及其录像方法
CN109739607B (zh) 动态图像加载方法、装置、设备及存储介质
CN110505425B (zh) 一种解码方法、解码装置、电子设备和可读存储介质
US6297800B2 (en) Performing color adjustments on image data
CN115361579B (zh) 视频送显方法、装置、电子设备及存储介质
CN115878379A (zh) 一种数据备份方法、主服务器、备份服务器及存储介质
CN107249141B (zh) 一种直播节目的录播方法
CN115129279A (zh) 图像绘制方法、装置、电子设备及计算机存储介质
CN110113641B (zh) 视频数据的传输方法、装置、边缘服务节点及介质
CN112995610A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200828