CN112073806A - 图像缓存方法、装置、计算机可读存储介质和电子设备 - Google Patents

图像缓存方法、装置、计算机可读存储介质和电子设备 Download PDF

Info

Publication number
CN112073806A
CN112073806A CN202010878845.6A CN202010878845A CN112073806A CN 112073806 A CN112073806 A CN 112073806A CN 202010878845 A CN202010878845 A CN 202010878845A CN 112073806 A CN112073806 A CN 112073806A
Authority
CN
China
Prior art keywords
image
data block
image data
cache
cached
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
CN202010878845.6A
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.)
Xiamen Meiya Pico Information Co Ltd
Original Assignee
Xiamen Meiya Pico Information 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 Xiamen Meiya Pico Information Co Ltd filed Critical Xiamen Meiya Pico Information Co Ltd
Priority to CN202010878845.6A priority Critical patent/CN112073806A/zh
Publication of CN112073806A publication Critical patent/CN112073806A/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/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer

Landscapes

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

Abstract

本申请实施例公开了图像缓存方法、装置、计算机可读存储介质和电子设备。该方法的一具体实施方式包括:从视频流中获取目标图像;对目标图像进行分割,得到预设数量个图像数据块;响应于确定目标图像不是视频流的第一幅图像,对于预设数量个图像数据块中的每个图像数据块,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块;确定该图像数据块与对应的缓存图像数据块的相似度;响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块替换对应的缓存图像数据块。该实施方式减少了单摄像头拍摄的视频流中需要处理的图片数量,降低了电子设备的功耗,在同样硬件条件下,提高了处理视频的路数,节约了成本。

Description

图像缓存方法、装置、计算机可读存储介质和电子设备
技术领域
本申请实施例涉及计算机技术领域,具体涉及图像缓存方法、装置、计算机可读存储介质和电子设备。
背景技术
传统的视频结构化系统中,每秒固定从摄像头视频流中抽取一定数量的图片,将抽取的每张图片经过预处理后送入GPU设备中进行神经网络推理。如果对每帧图片完整的数据都进行神经网络推理,会消耗大量CPU、GPU资源。
这会带来两个问题:
使单台服务器无法处理更多路视频的接入,导致“AI视频结构化系统”产品的成本过高。
使服务器时刻处于繁忙状态,功耗过高,浪费用电量。
发明内容
本申请实施例的目的在于提出了一种改进的图像缓存方法、装置、计算机可读存储介质和电子设备,来解决以上背景技术部分提到的技术问题。
第一方面,本申请实施例提供了一种图像缓存方法,该方法包括:从视频流中获取目标图像;对目标图像进行分割,得到预设数量个图像数据块;响应于确定目标图像不是视频流的第一幅图像,对于预设数量个图像数据块中的每个图像数据块,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块,其中,第一图像缓存用于缓存目标图像的上一帧图像对应的图像数据块;确定该图像数据块与对应的缓存图像数据块的相似度;响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块作为变动图像数据块替换对应的缓存图像数据块。
在一些实施例中,该方法还包括:对于所得到的各个变动图像数据块中的每个变动图像数据块,对该变动图像数据块进行预处理,得到用于输入图像处理模型的处理后数据块;用所得到的处理后数据块替换预设的第二图像缓存中的、与该变动图像数据块对应的缓存处理后数据块,其中,第二图像缓存用于缓存目标图像的上一帧图像对应的处理后数据块;将当前的第二图像缓存中的各个缓存处理后数据块拼接为完整数据,并将完整数据输入图像处理模型。
在一些实施例中,第一图像缓存和第二图像缓存设置在图形处理器GPU的显存中。
在一些实施例中,在对目标图像进行分割,得到预设数量个图像数据块之后,该方法还包括:响应于确定目标图像为视频流的第一幅图像,将预设数量个图像数据块分别存入第一图像缓存中。
在一些实施例中,该方法还包括:响应于确定目标图像为视频流的第一幅图像,对预设数量个图像数据块中的每个图像数据块进行预处理,得到预设数量个处理后数据块;将预设数量个处理后数据块存入第二图像缓存中。
在一些实施例中,第一图像缓存中存储的缓存图像数据块具有对应的标识;以及在对目标图像进行分割,得到预设数量个图像数据块之后,方法还包括:确定预设数量个图像数据块中的每个图像数据块的标识;以及从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块,包括:从第一图像缓存中提取与该图像数据块的标识匹配的缓存图像数据块作为与该图像数据块对应的缓存图像数据块。
在一些实施例中,第一图像缓存中的缓存图像数据块和第二图像缓存中存储的缓存处理后数据块分别具有对应的标识;以及用所得到的处理后数据块替换预设的第二图像缓存中的、与该变动图像数据块对应的缓存处理后数据块,包括:用所得到的处理后数据块替换第二图像缓存中的、与该变动图像数据块的标识匹配的缓存处理后数据块。
第二方面,本申请实施例提供了一种图像缓存装置,该装置包括:获取模块,用于从视频流中获取目标图像;分割模块,用于对目标图像进行分割,得到预设数量个图像数据块;第一替换模块,用于响应于确定目标图像不是视频流的第一幅图像,对于预设数量个图像数据块中的每个图像数据块,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块,其中,第一图像缓存用于缓存目标图像的上一帧图像对应的图像数据块;确定该图像数据块与对应的缓存图像数据块的相似度;响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块作为变动图像数据块替换对应的缓存图像数据块。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的图像缓存方法、装置、计算机可读存储介质和电子设备,通过对视频流中的目标图像进行分割,得到预设数量个图像数据块,再将每个图像数据块与缓存中相对应的上一帧图像的图像数据块进行比较,将相似度小于或等于预设相似度阈值的图像块数据更新到缓存中相应的存储区,从而实现了对图像分区域地进行更新,对视频中的每个图像,每次只缓存图像变动较大的区域,有助于在对单摄像头拍摄的视频进行处理时,大大减少单摄像头拍摄的视频流中需要处理的图片数量,降低了电子设备的功耗,在同样硬件条件下,提高了处理视频的路数,节约了成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的图像缓存方法的一个实施例的流程图;
图3是根据本申请的图像缓存方法的又一个实施例的流程图;
图4是根据本申请的图像缓存方法的执行过程的示例性示意图;
图5是根据本申请的图像缓存装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的图像缓存方法的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101,网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如监控类应用、拍摄类应用、视频类应用、搜索类应用、网页浏览器应用、购物类应用、即时通信工具等。
终端设备101可以是各种电子设备,包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
服务器103可以是提供各种服务的服务器,例如对终端设备101上传的视频流进行处理的视频流处理服务器。视频流处理服务器可以对接收的视频流中的图像进行分割等处理,并对缓存中的图像数据块进行更新。
需要说明的是,本申请实施例所提供的图像缓存方法可以由终端设备101或服务器103执行,相应地,图像缓存装置可以设置于终端设备101或服务器103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在视频流不需要从远程获取的情况下,上述系统架构可以不包括网络,只包括服务器或终端设备。
继续参考图2,其示出了根据本申请的应图像缓存方法的一个实施例的流程200。该方法包括以下步骤:
步骤201,从视频流中获取目标图像。
在本实施例中,图像缓存方法的执行主体(例如图1所示的中间设备或终端设备或服务器)可以从视频流中获取目标图像。其中,视频流可以是摄像头实时拍摄的视频流,也可以是摄像头预先拍摄的视频流。目标图像可以是视频流中的待对其进行处理的图像,例如按一定帧率从视频流中抽取的视频帧图像,或摄像头当前拍摄的最新的一帧图像,或视频文件中当前播放的图像。
步骤202,对目标图像进行分割,得到预设数量个图像数据块。
在本实施例中,上述执行主体可以对目标图像进行分割,得到预设数量个图像数据块。其中,对目标图像进行分割的方式可以为各种方式。例如,将目标图像由上到下平均分割为预设数量个矩形子图像,每个矩形子图像的RGB数据即为图像数据块。再例如,将目标图像平均分割为预设数量个正方形子图像,每个正方形子图像的RGB数据即为图像数据块。
在本实施例的一些可选的实现方式中,在步骤202之后,上述执行主体还可以响应于确定目标图像为视频流的第一幅图像,将预设数量个图像数据块分别存入第一图像缓存中。存入第一图像缓存中的图像数据块即为缓存图像数据块。在对后续的图像进行处理时,可以将后续图像与缓存的图像进行对比,执行下述步骤203。
本实现方式通过将视频流的第一幅图像的各个图像数据块自动直接存入第一图像缓存,可以为后续的第一图像缓存的更新提供基础,使视频流得到完整地处理。
步骤203,响应于确定目标图像不是视频流的第一幅图像,对于预设数量个图像数据块中的每个图像数据块,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块;确定该图像数据块与对应的缓存图像数据块的相似度;响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块作为变动图像数据块替换对应的缓存图像数据块。
在本实施例中,上述执行主体响应于确定目标图像不是视频流的第一幅图像,对于预设数量个图像数据块中的每个图像数据块,执行如下步骤:
步骤2031,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块。
其中,第一图像缓存用于缓存目标图像的上一帧图像对应的图像数据块,第一图像缓存中可以存储有预设数量个缓存图像数据块,预设数量个缓存图像数据块表征目标图像的上一帧图像,即可以将第一图像缓存中的预设数量个缓存图像数据块拼接成上一帧图像。上述第一图像缓存中的预设数量个缓存图像数据块与上述对目标图像分割得到的预设数量个图像数据块一一对应。
步骤2032,确定该图像数据块与对应的缓存图像数据块的相似度。
其中,相似度用于表征图像数据块与对应的缓存图像数据块的相似程度。通常,相似度越高,表示两个图像块越相似。相似度可以基于现有的各种方法确定,例如基于余弦距离确定相似度,基于欧氏距离确定相似度等。
步骤2033,响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块作为变动图像数据块替换对应的缓存图像数据块。
作为示例,某图像数据块A与对应的缓存图像数据块B之间的相似度小于预设相似度阈值,则图像数据块A即为变动图像数据块,即图像数据块A对应的图像区域相对于上一帧图像发生了变化,此时,将图像数据块A存入第一图像缓存中存储缓存图像数据块B的存储区域。
应当理解,上述步骤2031-步骤2033是对预设数量个图像数据块中的每个图像数据块执行的,即步骤2031-步骤2033反复执行多次,每次执行时所利用的图像数据块不同。
在本实施例的一些可选的实现方式中,第一图像缓存中存储的缓存图像数据块具有对应的标识。作为示例,标识可以为数字,即0、1、2、…、N-1,N为预设数量。
在步骤202之后,上述执行主体还可以确定预设数量个图像数据块中的每个图像数据块的标识。其中,图像数据块的标识与缓存图像数据块的标识一一对应。
在步骤203中,上述执行主体可以从第一图像缓存中提取与该图像数据块的标识匹配的缓存图像数据块作为与该图像数据块对应的缓存图像数据块。作为示例,相同的标识即相匹配,这样,标识相同的图像数据块和缓存图像数据块相匹配。
本实现方式通过设置第一图像缓存中的缓存图像数据块的标识和目标图像的图像数据块的标识,并根据标识确定图像数据块对应的缓存图像数据块,可以使提取对应的缓存图像数据块的方法更简便,从而有助于提高对图像处理的效率。
在实际的应用场景中,摄像头对准的位置通常是固定的或很少变动的,所以当前帧的图像与上一帧图像相比,大部分区域的数据是没有变化的。摄像头的拍摄范围内有移动物体时,才会产生与上一帧图像有差别的区域,且这个区域是很小的,即大部分图像数据都是冗余的。本申请的上述实施例提供的方法,通过对视频流中的目标图像进行分割,得到预设数量个图像数据块,再将每个图像数据块与缓存中相对应的上一帧图像的图像数据块进行比较,将相似度小于或等于预设相似度阈值的图像块数据更新到缓存中相应的存储区,从而实现了对图像分区域地进行更新,对视频中的每个图像,每次只缓存图像变动较大的区域,有助于在对单摄像头拍摄的视频进行处理时,大大减少单摄像头拍摄的视频流中需要处理的图片数量,降低了电子设备的功耗,在同样硬件条件下,提高了处理视频的路数,节约了成本。
进一步参考图3,其示出了根据本申请的图像缓存方法的又一个实施例的流程300。该方法包括以下步骤:
步骤301,从视频流中获取目标图像。
在本实施例中,步骤301与图2对应实施例中的步骤201基本一致,这里不再赘述。
步骤302,对目标图像进行分割,得到预设数量个图像数据块。
在本实施例中,步骤302与图2对应实施例中的步骤202基本一致,这里不再赘述。
步骤303,响应于确定目标图像不是视频流的第一幅图像,对于预设数量个图像数据块中的每个图像数据块,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块;确定该图像数据块与对应的缓存图像数据块的相似度;响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块作为变动图像数据块替换对应的缓存图像数据块。
在本实施例中,步骤303与图2对应实施例中的步骤203基本一致,这里不再赘述。
步骤304,对于所得到的各个变动图像数据块中的每个变动图像数据块,对该变动图像数据块进行预处理,得到用于输入图像处理模型的处理后数据块;用所得到的处理后数据块替换预设的第二图像缓存中的、与该变动图像数据块对应的缓存处理后数据块。
在本实施例中,对于所得到的各个变动图像数据块中的每个变动图像数据块,上述执行主体可以针对该变动图像数据块执行如下步骤:
步骤3041,对该变动图像数据块进行预处理,得到用于输入图像处理模型的处理后数据块。
其中,预处理的方式可以包括各种方式,例如,将RGB数据转换为BGR数据,将图像各个通道包括的数据由C*W*H形式转换为W*H*C形式(其中,C标识通道,W表示图像宽度,H表示图像高度),对图像数据进行归一化,对图像进行缩放等。上述列举的预处理方式的目的是为了将图像数据转换为神经网络等模型可以处理的数据形式。
步骤3042,用所得到的处理后数据块替换预设的第二图像缓存中的、与该变动图像数据块对应的缓存处理后数据块。
其中,第二图像缓存用于缓存目标图像的上一帧图像对应的处理后数据块。第二图像缓存中的缓存处理后数据块的数量也为上述预设数量。
作为示例,对某变动图像数据块A进行预处理后得到处理后数据块C,第二图像缓存中的缓存处理后数据块D与处理后数据块C对应,即C和D对应于视频流中的图像的同一位置,由于变动图像数据块A表示其对应的图像区域相对于上一帧图像发生了变化,此时,将图像数据块A对应的处理后数据块C更新到第二图像缓存中。从而只需对更新后的第二图像缓存中存储的部分数据进行更新。
应当理解,上述步骤3041-步骤3042是对各个变动图像数据块中的每个变动图像数据块执行的,即步骤3041-步骤3042反复执行多次,每次执行时所利用的变动图像数据块不同。
步骤305,将当前的第二图像缓存中的各个缓存处理后数据块拼接为完整数据,并将完整数据输入图像处理模型。
在本实施例中,上述执行主体可以将当前的第二图像缓存中的各个缓存处理后数据块拼接为完整数据,并将完整数据输入图像处理模型。由于第二图像缓存中的缓存处理后数据块的数量也为预设数量,因此,可以将预设数量个缓存处理后数据块拼接为完整数据。图像处理模型可以是用于对完整数据进行处理的软件模块,该软件模块可以实现各种功能。作为示例,图像处理模型可以包括各种结构的神经网络,神经网络可以利用上述完整数据对图像进行提取图像特征、目标检测等各种处理。
通常,本申请实施例提供的方法可以分为两个模块,即上层模块和底层模块,其中,上层模块用于执行步骤301-步骤303,即上层模块用于从预设数量个图像数据块中提取变动图像数据块,将变动图像数据块发送给底层模块,底层模块用于执行步骤304-步骤305,即管理第二图像缓存,为图像处理模型提供数据支持。
在本实施例的一些可选的实现方式中,第一图像缓存和第二图像缓存设置在图形处理器GPU的显存中。由于GPU的数据处理速度更快,因此,将第一图像缓存和第二图像缓存设置在GPU的显存中,可以在节约硬件资源的基础上,进一步提高图像处理的速度。
在本实施例的一些可选的实现方式中,上述执行主体还可以执行如下步骤:
首先,响应于确定目标图像为视频流的第一幅图像,对预设数量个图像数据块中的每个图像数据块进行预处理,得到预设数量个处理后数据块。
然后,将预设数量个处理后数据块存入第二图像缓存中。
本实现方式通过对视频流的第一幅图像的各个图像数据块进行预处理,并将得到的处理后数据块存入第二图像缓存,可以为后续的第二图像缓存的更新提供基础,使视频流得到完整地处理。
在本实施例的一些可选的实现方式中,第一图像缓存中的缓存图像数据块和第二图像缓存中存储的缓存处理后数据块分别具有对应的标识。由此,变动图像数据块也具有对应的标识。作为示例,标识可以为数字,即0、1、2、…、N-1,N为预设数量。
上述步骤3042可以如下执行:
用所得到的处理后数据块替换第二图像缓存中的、与该变动图像数据块的标识匹配的缓存处理后数据块。作为示例,相同的标识即相匹配,对应的缓存图像数据块和缓存处理后数据块表示图像中的同一位置区域。
本实现方式通过设置第一图像缓存中的缓存图像数据块的标识和第二图像缓存中的缓存处理后数据块的标识,并根据标识确定与处理后数据块对应的缓存处理后数据块,可以使更新第二图像缓存的方法更简便,从而有助于提高对图像处理的效率。
进一步参考图4,其示出了本实施例的执行过程的一个示例性示意图。视频流中当前拍摄得到的图像401被分割为15个子图像,各个子图像的图像数据块的ID为0-14。第一图像缓存中存储的缓存图像数据块的标识也为0-14,即分别对应于401中各个位置的图像块。然后,将相同标识的图像数据块和缓存图像数据块进行对比后,确定子图像4011的图像数据块403(即ID为7的图像数据块)与缓存图像数据块4021的相似度小于预设相似度阈值,则将图像数据块403确定为变动图像数据块。再然后,将缓存图像数据块4021替换为图像数据块403。接着,对图像数据块403进行预处理,得到处理后图像数据块404,并将处理后图像数据块404替换掉第二图像缓存405中的、ID同为7的缓存处理后图像数据块4051。最后,将第二图像缓存405中所有的缓存处理后图像数据块拼接为完整数据输入到图像处理模型406,图像处理模型406可以对输入的完整数据进行分析,以达到预设的功能(例如目标检测、分类等)。
从图3中可以看出,与图2对应的实施例相比,本实施例突出了对变动图像数据块进行预处理以及对第二图像缓存进行更新的步骤,从而在利用图像处理模型处理视频流的图像数据时,在图像画面产生变化的情况下,从第二图像缓存中提取数据并利用图像处理模型处理数据,有助于节约处理器资源。在摄像头的拍摄范围内无物体经过时,可以处于低功耗状态,节约电能。还可以提高单台电子设备处理视频的路数,提高处理视频的效率。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种图像缓存装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的图像缓存装置500包括:获取模块501,用于从视频流中获取目标图像;分割模块502,用于对目标图像进行分割,得到预设数量个图像数据块;第一替换模块503,用于响应于确定目标图像不是视频流的第一幅图像,对于预设数量个图像数据块中的每个图像数据块,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块,其中,第一图像缓存用于缓存目标图像的上一帧图像对应的图像数据块;确定该图像数据块与对应的缓存图像数据块的相似度;响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块作为变动图像数据块替换对应的缓存图像数据块。
在本实施例中,获取模块501可以从视频流中获取目标图像。其中,视频流可以是摄像头实时拍摄的视频流,也可以是摄像头预先拍摄的视频流。目标图像可以是视频流中的待对其进行处理的图像,例如按一定帧率从视频流中抽取的视频帧图像,或摄像头当前拍摄的最新的一帧图像,或视频文件中当前播放的图像。
在本实施例中,分割模块502可以对目标图像进行分割,得到预设数量个图像数据块。其中,对目标图像进行分割的方式可以为各种方式。例如,将目标图像由上到下平均分割为预设数量个矩形子图像,每个矩形子图像的RGB数据即为图像数据块。再例如,将目标图像平均分割为预设数量个正方形子图像,每个正方形子图像的RGB数据即为图像数据块。
在本实施例中,第一替换模块503响应于确定目标图像不是视频流的第一幅图像,对于预设数量个图像数据块中的每个图像数据块,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块;确定该图像数据块与对应的缓存图像数据块的相似度;响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块作为变动图像数据块替换对应的缓存图像数据块。
其中,第一图像缓存用于缓存目标图像的上一帧图像对应的图像数据块,第一图像缓存中可以存储有预设数量个缓存图像数据块,预设数量个缓存图像数据块表征目标图像的上一帧图像,即可以将第一图像缓存中的预设数量个缓存图像数据块拼接成上一帧图像。上述第一图像缓存中的预设数量个缓存图像数据块与上述对目标图像分割得到的预设数量个图像数据块一一对应。
上述相似度用于表征图像数据块与对应的缓存图像数据块的相似程度。通常,相似度越高,表示两个图像块越相似。相似度可以基于现有的各种方法确定,例如基于余弦距离确定相似度,基于欧氏距离确定相似度等。
作为示例,某图像数据块A与对应的缓存图像数据块B之间的相似度小于预设相似度阈值,则图像数据块A即为变动图像数据块,即图像数据块A对应的图像区域相对于上一帧图像发生了变化,此时,将图像数据块A存入第一图像缓存中存储缓存图像数据块B的存储区域。
在本实施例的一些可选的实现方式中,上述装置500还可以包括:第二替换模块(图中未示出),用于对于所得到的各个变动图像数据块中的每个变动图像数据块,对该变动图像数据块进行预处理,得到用于输入图像处理模型的处理后数据块;用所得到的处理后数据块替换预设的第二图像缓存中的、与该变动图像数据块对应的缓存处理后数据块,其中,第二图像缓存用于缓存目标图像的上一帧图像对应的处理后数据块;拼接模块(图中未示出),用于将当前的第二图像缓存中的各个缓存处理后数据块拼接为完整数据,并将完整数据输入图像处理模型。
在本实施例的一些可选的实现方式中,第一图像缓存和第二图像缓存设置在图形处理器GPU的显存中。
在本实施例的一些可选的实现方式中,上述装置500还可以包括:第一存储模块(图中未示出),用于响应于确定目标图像为视频流的第一幅图像,将预设数量个图像数据块分别存入第一图像缓存中。
在本实施例的一些可选的实现方式中,装置500还可以包括:预处理模块(图中未示出),用于响应于确定目标图像为视频流的第一幅图像,对预设数量个图像数据块中的每个图像数据块进行预处理,得到预设数量个处理后数据块;第二存储模块(图中未示出),用于将预设数量个处理后数据块存入第二图像缓存中。
在本实施例的一些可选的实现方式中,第一图像缓存中存储的缓存图像数据块具有对应的标识;以及装置500还可以包括:确定模块(图中未示出),用于确定预设数量个图像数据块中的每个图像数据块的标识;以及第一替换模块503进一步用于:从第一图像缓存中提取与该图像数据块的标识匹配的缓存图像数据块。
在本实施例的一些可选的实现方式中,第二图像缓存中存储的缓存处理后数据块具有对应的标识;以及第二替换模块进一步用于:用所得到的处理后数据块替换第二图像缓存中的、与该变动图像数据块的标识匹配的缓存处理后数据块。
本申请的上述实施例提供的装置,通过对视频流中的目标图像进行分割,得到预设数量个图像数据块,再将每个图像数据块与缓存中相对应的上一帧图像的图像数据块进行比较,将相似度小于或等于预设相似度阈值的图像块数据更新到缓存中相应的存储区,从而实现了对图像分区域地进行更新,对视频中的每个图像,每次只缓存图像变动较大的区域,有助于在对单摄像头拍摄的视频进行处理时,大大减少单摄像头拍摄的视频流中需要处理的图片数量,降低了电子设备的功耗,在同样硬件条件下,提高了处理视频的路数,节约了成本。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在图形处理器(GPU)612中,包括缓存(cache),缓存用于存储图像数据块,GPU 612可以利用图像处理模型(例如神经网络模型)对缓存中的图像数据块进行处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、GPU 612、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、分割模块和第一替换模块。其中,这些模块的名称在某种情况下并不构成对该单元本身的限定,例如,获取模块还可以被描述为“用于从视频流中获取目标图像的模块”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从视频流中获取目标图像;对目标图像进行分割,得到预设数量个图像数据块;响应于确定目标图像不是视频流的第一幅图像,对于预设数量个图像数据块中的每个图像数据块,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块,其中,第一图像缓存用于缓存目标图像的上一帧图像对应的图像数据块;确定该图像数据块与对应的缓存图像数据块的相似度;响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块作为变动图像数据块替换对应的缓存图像数据块。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种图像缓存方法,其特征在于,所述方法包括:
从视频流中获取目标图像;
对所述目标图像进行分割,得到预设数量个图像数据块;
响应于确定所述目标图像不是所述视频流的第一幅图像,对于所述预设数量个图像数据块中的每个图像数据块,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块,其中,所述第一图像缓存用于缓存所述目标图像的上一帧图像对应的图像数据块;确定该图像数据块与对应的缓存图像数据块的相似度;响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块作为变动图像数据块替换对应的缓存图像数据块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于所得到的各个变动图像数据块中的每个变动图像数据块,对该变动图像数据块进行预处理,得到用于输入图像处理模型的处理后数据块;用所得到的处理后数据块替换预设的第二图像缓存中的、与该变动图像数据块对应的缓存处理后数据块,其中,所述第二图像缓存用于缓存所述目标图像的上一帧图像对应的处理后数据块;
将当前的第二图像缓存中的各个缓存处理后数据块拼接为完整数据,并将所述完整数据输入所述图像处理模型。
3.根据权利要求2所述的方法,其特征在于,所述第一图像缓存和所述第二图像缓存设置在图形处理器GPU的显存中。
4.根据权利要求1所述的方法,其特征在于,在所述对所述目标图像进行分割,得到预设数量个图像数据块之后,所述方法还包括:
响应于确定所述目标图像为所述视频流的第一幅图像,将所述预设数量个图像数据块分别存入所述第一图像缓存中。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于确定所述目标图像为所述视频流的第一幅图像,对所述预设数量个图像数据块中的每个图像数据块进行所述预处理,得到预设数量个处理后数据块;
将所述预设数量个处理后数据块存入所述第二图像缓存中。
6.根据权利要求1所述的方法,其特征在于,所述第一图像缓存中存储的缓存图像数据块具有对应的标识;以及
在所述对所述目标图像进行分割,得到预设数量个图像数据块之后,所述方法还包括:
确定所述预设数量个图像数据块中的每个图像数据块的标识;以及
所述从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块,包括:
从所述第一图像缓存中提取与该图像数据块的标识匹配的缓存图像数据块作为与该图像数据块对应的缓存图像数据块。
7.根据权利要求2所述的方法,其特征在于,所述第一图像缓存中的缓存图像数据块和所述第二图像缓存中存储的缓存处理后数据块分别具有对应的标识;以及
所述用所得到的处理后数据块替换预设的第二图像缓存中的、与该变动图像数据块对应的缓存处理后数据块,包括:
用所得到的处理后数据块替换所述第二图像缓存中的、与该变动图像数据块的标识匹配的缓存处理后数据块。
8.一种图像缓存装置,其特征在于,所述装置包括:
获取模块,用于从视频流中获取目标图像;
分割模块,用于对所述目标图像进行分割,得到预设数量个图像数据块;
第一替换模块,用于响应于确定所述目标图像不是所述视频流的第一幅图像,对于所述预设数量个图像数据块中的每个图像数据块,从预设的第一图像缓存中提取与该图像数据块对应的缓存图像数据块,其中,所述第一图像缓存用于缓存所述目标图像的上一帧图像对应的图像数据块;确定该图像数据块与对应的缓存图像数据块的相似度;响应于确定所得到的相似度小于或等于预设相似度阈值,用该图像数据块作为变动图像数据块替换对应的缓存图像数据块。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202010878845.6A 2020-08-27 2020-08-27 图像缓存方法、装置、计算机可读存储介质和电子设备 Pending CN112073806A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010878845.6A CN112073806A (zh) 2020-08-27 2020-08-27 图像缓存方法、装置、计算机可读存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010878845.6A CN112073806A (zh) 2020-08-27 2020-08-27 图像缓存方法、装置、计算机可读存储介质和电子设备

Publications (1)

Publication Number Publication Date
CN112073806A true CN112073806A (zh) 2020-12-11

Family

ID=73660228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010878845.6A Pending CN112073806A (zh) 2020-08-27 2020-08-27 图像缓存方法、装置、计算机可读存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN112073806A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070280547A1 (en) * 2006-04-20 2007-12-06 Tadashi Mitsui Image processing apparatus, image processing method, defect detection method, semiconductor device manufacturing method, and program
US20140192075A1 (en) * 2012-12-28 2014-07-10 Think Silicon Ltd Adaptive Lossy Framebuffer Compression with Controllable Error Rate
US20150058284A1 (en) * 2013-08-20 2015-02-26 International Business Machines Corporation Media file replacement
US20170243323A1 (en) * 2014-10-17 2017-08-24 Arm Limited Method of and apparatus for processing a frame
CN107948605A (zh) * 2017-12-11 2018-04-20 日立楼宇技术(广州)有限公司 车载监控视频数据存储的方法、装置、设备及存储介质
CN108235120A (zh) * 2018-03-23 2018-06-29 北京潘达互娱科技有限公司 直播视频流推送方法、装置及电子设备
CN108769690A (zh) * 2018-05-28 2018-11-06 思百达物联网科技(北京)有限公司 基于视频压缩的连续图片管理方法、装置、设备和介质
CN109241897A (zh) * 2018-08-29 2019-01-18 深圳华远云联数据科技有限公司 监控图像的处理方法、装置、网关设备及存储介质
CN111314395A (zh) * 2018-12-11 2020-06-19 中兴通讯股份有限公司 一种图像的传输方法及终端、存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070280547A1 (en) * 2006-04-20 2007-12-06 Tadashi Mitsui Image processing apparatus, image processing method, defect detection method, semiconductor device manufacturing method, and program
US20140192075A1 (en) * 2012-12-28 2014-07-10 Think Silicon Ltd Adaptive Lossy Framebuffer Compression with Controllable Error Rate
US20150058284A1 (en) * 2013-08-20 2015-02-26 International Business Machines Corporation Media file replacement
US20170243323A1 (en) * 2014-10-17 2017-08-24 Arm Limited Method of and apparatus for processing a frame
CN107948605A (zh) * 2017-12-11 2018-04-20 日立楼宇技术(广州)有限公司 车载监控视频数据存储的方法、装置、设备及存储介质
CN108235120A (zh) * 2018-03-23 2018-06-29 北京潘达互娱科技有限公司 直播视频流推送方法、装置及电子设备
CN108769690A (zh) * 2018-05-28 2018-11-06 思百达物联网科技(北京)有限公司 基于视频压缩的连续图片管理方法、装置、设备和介质
CN109241897A (zh) * 2018-08-29 2019-01-18 深圳华远云联数据科技有限公司 监控图像的处理方法、装置、网关设备及存储介质
CN111314395A (zh) * 2018-12-11 2020-06-19 中兴通讯股份有限公司 一种图像的传输方法及终端、存储介质

Similar Documents

Publication Publication Date Title
CN111369427B (zh) 图像处理方法、装置、可读介质和电子设备
CN106845470B (zh) 地图数据采集方法和装置
CN108235116B (zh) 特征传播方法和装置、电子设备和介质
CN111368685A (zh) 关键点的识别方法、装置、可读介质和电子设备
CN107220652B (zh) 用于处理图片的方法和装置
CN109934142B (zh) 用于生成视频的特征向量的方法和装置
CN111784712B (zh) 图像处理方法、装置、设备和计算机可读介质
CN110349161B (zh) 图像分割方法、装置、电子设备、及存储介质
CN110826567A (zh) 光学字符识别方法、装置、设备及存储介质
CN112561840A (zh) 视频裁剪方法、装置、存储介质及电子设备
CN114494298A (zh) 对象分割方法、装置、设备及存储介质
CN109919220B (zh) 用于生成视频的特征向量的方法和装置
CN117437516A (zh) 语义分割模型训练方法、装置、电子设备及存储介质
CN115205305A (zh) 一种实例分割模型训练方法、实例分割方法及装置
CN110852250B (zh) 一种基于最大面积法的车辆排重方法、装置及存储介质
CN110378282B (zh) 图像处理方法及装置
CN117171573A (zh) 多模态模型的训练方法、装置、设备和存储介质
CN110765304A (zh) 图像处理方法、装置、电子设备及计算机可读介质
CN112073806A (zh) 图像缓存方法、装置、计算机可读存储介质和电子设备
CN112132120B (zh) 用于视频结构化的方法及装置
CN114862720A (zh) 画布还原方法、装置、电子设备和计算机可读介质
CN112073731B (zh) 图像解码方法、装置、计算机可读存储介质和电子设备
CN111770387B (zh) 视频消息转发、视频消息搜索方法和设备
CN110852252A (zh) 一种基于最小距离、最大长宽比的车辆排重方法和装置
CN115661238B (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: 20201211