CN114845156B - 基于共享缓存的视频处理方法、装置及系统 - Google Patents
基于共享缓存的视频处理方法、装置及系统 Download PDFInfo
- Publication number
- CN114845156B CN114845156B CN202210492297.2A CN202210492297A CN114845156B CN 114845156 B CN114845156 B CN 114845156B CN 202210492297 A CN202210492297 A CN 202210492297A CN 114845156 B CN114845156 B CN 114845156B
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- target frame
- address
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于共享缓存的视频处理方法、装置及系统,该方法包括:当将接收到目标帧数据的写入数据组写入共享缓存时,视频接收装置生成写入数据组对应的写入信息,将写入信息发送至视频处理装置;视频处理装置判断共享缓存中已写入的数据是否满足处理条件,当判断为是时,确定目标帧数据的处理数据组以及处理数据组在共享缓存中对应的写入地址,根据处理数据组在共享缓存中对应的写入地址从共享缓存中获取处理数据组的数据,并处理该处理数据组的数据。可见,本发明从接收到一帧视频数据到处理该帧数据之间的处理延时小于将一帧视频数据写入到存储空间中的时间,能够实现较低的视频处理延时,能够提高视频处理的效率。
Description
技术领域
本发明涉及视频处理技术领域,尤其涉及一种基于共享缓存的视频处理方法、装置及系统。
背景技术
随着视频传输技术的推广和应用,人们对于视频传输的延时要求越来越高,然而,现有技术中对于视频传输过程中视频处理的延时较高,不能应用于有低延时要求的应用场景中,因此,如何降低视频处理的延时从而提高视频处理的效率显得非常重要。
发明内容
本发明所要解决的技术问题在于,提供一种基于共享缓存的视频处理方法、装置及系统,能够在视频接收装置还没完全接收一帧视频数据就开始处理该帧视频数据,能够实现较低的视频处理延时,能够提高视频处理的效率。
为了解决上述技术问题,本发明第一方面公开了一种基于共享缓存的视频处理方法,所述方法应用于视频处理系统,所述视频处理系统包括视频接收装置、视频处理装置和共享缓存;所述共享缓存同时连接至所述视频接收装置和所述视频处理装置,所述方法包括:
当所述视频接收装置将接收到的视频数据中第一目标帧数据的第一写入数据组写入所述共享缓存时,所述视频接收装置生成所述第一写入数据组对应的写入信息,并将所述写入信息发送至所述视频处理装置;
所述视频处理装置获取当前的处理进度信息,并根据所述处理进度信息和所述写入信息判断所述共享缓存中已写入的数据是否满足处理条件;
当判断为是时,所述视频处理装置确定所述第一目标帧数据的第一处理数据组;所述第一处理数据组包括多个已写入所述共享缓存的数据;
所述视频处理装置根据所述写入信息和所述第一处理数据组确定所述第一处理数据组在所述共享缓存中对应的写入地址;
所述视频处理装置根据所述第一处理数据组在所述共享缓存中对应的写入地址从所述共享缓存中获取所述第一处理数据组,并处理所述第一处理数据组。
作为一种可选的实施方式,在本发明第一方面中,在所述视频接收装置生成所述第一写入数据组对应的写入信息,并将所述写入信息发送至所述视频处理装置之前,所述方法还包括:
所述视频接收装置根据预设每组数据数量将接收到的所述第一目标帧数据划分为所述第一目标帧数据的多个数据组;
当第一写入数据组为所述第一目标帧数据中非首个所述数据组中任一个所述数据组时,在写入所述第一写入数据组时,所述视频接收装置获取上一次写入操作对应的所述数据组的写入地址的尾地址,并在所述共享缓存中从该尾地址的下一个地址开始将所述第一写入数据组写入所述共享缓存;
以及,所述方法还包括:
当检测到所述第一目标帧数据的第二写入数据组在所述共享缓存上对应写入地址的尾地址处于所述共享缓存的末尾地址区间时,所述视频接收装置将所述第二写入数据组在所述第一目标帧数据中对应的下一个所述数据组对应的写入地址的首地址确定为所述共享缓存的所有存储地址中的首地址,以从所述共享缓存所有存储地址的首地址开始将所述第一目标帧数据中对应的下一个所述数据组写入所述共享缓存中。
作为一种可选的实施方式,在本发明第一方面中,在所述视频处理装置根据所述第一处理数据组在所述共享缓存中对应的写入地址从所述共享缓存中处理所述第一处理数据组之后,所述方法还包括:
在处理所述第一目标帧数据的第二处理数据组时,当所述第二处理数据组对应的所有所述数据组对应写入地址中存在处于所述共享缓存的末尾地址区间的地址且存在处于所述共享缓存的首地址区间的地址时,所述视频处理装置确定对应写入地址处于所述共享缓存的所述末尾地址区间的第一数据组和对应写入地址处于所述共享缓存的所述首地址区间的第二数据组;
所述视频处理装置确定所有所述第二数据组的第一数量;
所述视频处理装置读取所有所述第一数据组的数据,以所述第一数量的次数复制所述第一数据组中最后一个所述数据组的数据,得到补充数据;
所述视频处理装置将所有所述第一数据组的数据和所述补充数据确定为所述第二处理数据组的数据,并处理所述第二处理数据组的数据。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
当将所述第一目标帧数据的最后一个所述数据组写入所述共享缓存之后,所述视频接收装置根据预设每组数据数量将接收到的所述视频数据的第二目标帧数据划分为所述第二目标帧数据的多个数据组;所述第二目标帧数据为所述视频数据中所述第一目标帧数据的下一帧数据;
所述视频接收装置将所述第一目标帧数据的最后一个所述数据组对应的写入地址的尾地址的下一个地址确定为所述第二目标帧数据的首个所述数据组对应写入地址的首地址,以从所述第二目标帧数据的首个所述数据组对应写入地址的首地址开始将所述第二目标帧数据的首个所述数据组写入所述共享缓存。
作为一种可选的实施方式,在本发明第一方面中,在所述视频接收装置获取上一次写入操作对应的所述数据组的写入地址的尾地址,并在所述共享缓存中从该尾地址的下一个地址开始将所述第一写入数据组写入所述共享缓存之前,所述方法还包括:
当接收到所述第一目标帧数据时,所述视频接收装置在所述共享缓存中确定所述第一目标帧数据对应的起始写入地址;所述第一目标帧数据的起始写入地址用于所述视频接收装置将所述第一目标帧数据的首个所述数据组写入所述共享缓存中所述起始写入地址对应的存储空间;
以及,所述第一目标帧数据的每个所述数据组均有对应的排列序号,该数据组的所述排列序号等于该数据组在所述第一目标帧数据的所有所述数据组中的排序;所述第一目标帧数据的每个处理数据组对应所述第一目标帧数据中预设数量的多个连续排列的所述数据组的数据;所述写入地址包括写入地址的首地址、写入地址的尾地址以及写入地址的非首尾地址;
其中,所述视频处理装置根据所述写入信息和所述第一处理数据组确定所述第一处理数据组在所述共享缓存中对应的写入地址,包括:
所述视频处理装置获取所述第一处理数据组对应的所有所述数据组中首个所述数据组的排列序号,将该排列序号减去所述第一目标帧数据的首个所述数据组的排列序号,得到排序差;
所述视频处理装置将所述排序差乘以预设地址偏移量单位增量,得到所述第一处理数据组的地址偏移量;其中,所述第一处理数据组的地址偏移量为从首个所述数据组的首个数据到所述第一处理数据组对应的上一处理数据组的末尾数据组的末尾数据之间的所有数据在所述共享缓存中所占用的地址数量;
所述视频处理装置将所述第一目标帧数据的所述起始写入地址与所述第一处理数据组的所述地址偏移量相加得到的地址确定为所述第一处理数据组在所述共享缓存中对应的写入地址的首地址;
所述视频处理装置将所述预设数量与所述预设地址偏移量单位增量相乘所得到的结果与所述第一处理数据组的写入地址的首地址相加,确定为所述第一处理数据组在所述共享缓存中对应的写入地址的尾地址;
所述视频处理装置将所述第一处理数据组在所述共享缓存中对应的写入地址的首地址与所述第一处理数据组在所述共享缓存中对应的写入地址的尾地址之间的所有地址确定为所述第一处理数据组在所述共享缓存中的写入地址的非首尾地址。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
所述视频处理装置获取所述共享缓存的存储容量,并根据所述共享缓存的存储容量和所述预设每组数据数量确定所述共享缓存的最大存储组数;所述共享缓存的存储容量最多容纳组数为所述最大存储组数的所述数据组;
当检测到所述视频接收装置当前写入所述共享缓存中的所述第一目标帧数据的所述数据组对应的所述排列序号与所述视频处理装置当前处理的所述第一目标帧数据的所述数据组对应的所述排列序号之差大于等于所述最大存储组数时,所述视频处理装置停止处理操作;
当检测到所述视频接收装置当前写入的数据为所述第二目标帧数据时,所述视频处理装置根据接收到的当前的所述写入信息判断所述第二目标帧数据中已写入所述共享缓存的数据是否满足处理条件;
当判断为是时,所述视频处理装置从所述第二目标帧数据的首个所述数据组在所述共享缓存中对应的写入地址开始处理所述第二目标帧数据的首个所述数据组。
作为一种可选的实施方式,在本发明第一方面中,所述视频处理装置确定所述第一目标帧数据的第一处理数据组,包括:
所述视频处理装置根据当前的处理进度信息获取上一次处理操作对应的所有所述数据组中的排在最后的数据组的排列序号,将该排列序号加1的结果确定为所述第一目标帧数据的第一处理数据组的处理起始序号;
将所述第一处理数据组的处理起始序号与所述预设数量相加,得到所述第一处理数据组的处理末尾序号;
将所述第一处理数据组的处理起始序号在所述第一目标帧数据中对应的所述数据组与所述第一处理数据组的处理末尾序号在所述第一目标帧数据中对应的所述数据组之间的所有所述数据组的数据、所述第一处理数据组的处理起始序号在所述第一目标帧数据中对应的所述数据组的数据以及所述第一处理数据组的处理末尾序号在所述第一目标帧数据中对应的所述数据组的数据确定为所述第一目标帧数据的第一处理数据组的数据;
以及,所述视频处理装置根据所述处理进度信息和所述写入信息判断所述共享缓存中已写入的数据是否满足处理条件,包括:
所述视频处理装置根据所述处理进度信息获取中上一次处理操作对应的所有所述数据组中最后一个数据组在所述第一目标帧数据中对应的第一排列序号,并根据所述写入信息获取当前已写入所述共享缓存的所有所述数据组中最后一个数据组在所述第一目标帧数据中对应的第二排列序号;
所述视频处理装置将所述第一排列序号减去所述第二排列序号,得到所述目标帧数据的未处理数据组组数,并判断所述未处理数据组组数是否大于所述预设数量,当判断出为是时,确定所述共享缓存中已写入的数据满足处理条件。
本发明第二方面公开了一种基于共享缓存的视频处理系统,所述视频处理系统包括视频接收装置、视频处理装置和共享缓存,所述共享缓存同时连接至所述视频接收装置和所述视频处理装置;所述视频接收装置包括生成模块和发送模块,所述视频处理装置包括第一获取模块、判断模块、第一确定模块和处理模块,其中:
所述生成模块,用于当所述视频接收装置将接收到的视频数据中第一目标帧数据的第一写入数据组写入所述共享缓存时,生成所述第一写入数据组对应的写入信息;
所述发送模块,用于将所述写入信息发送至所述视频处理装置;
所述第一获取模块,用于获取当前的处理进度信息;
所述判断模块,用于根据所述处理进度信息和所述写入信息判断所述共享缓存中已写入的数据是否满足处理条件;
所述第一确定模块,用于当所述判断模块判断出所述共享缓存中已写入的数据满足所述处理条件时,确定所述第一目标帧数据的第一处理数据组;所述第一处理数据组包括多个已写入所述共享缓存的数据;
所述第一确定模块,还用于根据所述写入信息和所述第一处理数据组确定所述第一处理数据组在所述共享缓存中对应的写入地址;
所述第一获取模块,还用于根据所述第一处理数据组在所述共享缓存中对应的写入地址从所述共享缓存中获取所述第一处理数据组;
所述处理模块,用于处理所述第一处理数据组。
作为一种可选的实施方式,在本发明第二方面中,所述视频接收装置还包括划分模块、第二获取模块和第二确定模块,其中:
所述划分模块,用于在所述生成模块生成所述第一写入数据组对应的写入信息以及所述发送模块将所述写入信息发送至所述视频处理装置之前,根据预设每组数据数量将接收到的所述第一目标帧数据划分为所述第一目标帧数据的多个数据组;
所述第二获取模块,用于当第一写入数据组为所述第一目标帧数据中非首个所述数据组中任一个所述数据组时,在写入所述第一写入数据组时,获取上一次写入操作对应的所述数据组的写入地址的尾地址,并在所述共享缓存中从该尾地址的下一个地址开始将所述第一写入数据组写入所述共享缓存;
所述第二确定模块,用于当检测到所述第一目标帧数据的第二写入数据组在所述共享缓存上对应写入地址的尾地址处于所述共享缓存的末尾地址区间时,将所述第二写入数据组在所述第一目标帧数据中对应的下一个所述数据组对应的写入地址的首地址确定为所述共享缓存的所有存储地址中的首地址,以从所述共享缓存所有存储地址的首地址开始将所述第一目标帧数据中对应的下一个所述数据组写入所述共享缓存中。
作为一种可选的实施方式,在本发明第二方面中,所述视频处理装置还包括读取复制模块,其中:
所述处理模块,还用于处理所述第二处理数据组的数据;
所述第一确定模块,还用于在所述处理模块根据所述第一处理数据组在所述共享缓存中对应的写入地址从所述共享缓存中处理所述第一处理数据组之后,在所述处理模块处理所述第一目标帧数据的第二处理数据组时,当所述第二处理数据组对应的所有所述数据组对应写入地址中存在处于所述共享缓存的末尾地址区间的地址且存在处于所述共享缓存的首地址区间的地址时,确定对应写入地址处于所述共享缓存的所述末尾地址区间的第一数据组和对应写入地址处于所述共享缓存的所述首地址区间的第二数据组;
所述第一确定模块,还用于确定所有所述第二数据组的第一数量;
所述读取复制模块,用于读取所有所述第一数据组的数据,以所述第一数量的次数复制所述第一数据组中最后一个所述数据组的数据,得到补充数据;
所述第一确定模块,还用于将所有所述第一数据组的数据和所述补充数据确定为所述第二处理数据组的数据。
作为一种可选的实施方式,在本发明第二方面中,所述划分模块,还用于当将所述第一目标帧数据的最后一个所述数据组写入所述共享缓存之后,根据预设每组数据数量将接收到的所述视频数据的第二目标帧数据划分为所述第二目标帧数据的多个数据组;所述第二目标帧数据为所述视频数据中所述第一目标帧数据的下一帧数据;
所述第二确定模块,还用于将所述第一目标帧数据的最后一个所述数据组对应的写入地址的尾地址的下一个地址确定为所述第二目标帧数据的首个所述数据组对应写入地址的首地址,以从所述第二目标帧数据的首个所述数据组对应写入地址的首地址开始将所述第二目标帧数据的首个所述数据组写入所述共享缓存。
作为一种可选的实施方式,在本发明第二方面中,所述第二确定模块,还用于在所述第二获取模块获取上一次写入操作对应的所述数据组的写入地址的尾地址,并在所述共享缓存中从该尾地址的下一个地址开始将所述第一写入数据组写入所述共享缓存之前,当接收到所述第一目标帧数据时,在所述共享缓存中确定所述第一目标帧数据对应的起始写入地址;所述第一目标帧数据的起始写入地址用于所述视频接收装置将所述第一目标帧数据的首个所述数据组写入所述共享缓存中所述起始写入地址对应的存储空间;
以及,所述第一目标帧数据的每个所述数据组均有对应的排列序号,该数据组的所述排列序号等于该数据组在所述第一目标帧数据的所有所述数据组中的排序;所述第一目标帧数据的每个处理数据组对应所述第一目标帧数据中预设数量的多个连续排列的所述数据组的数据;所述写入地址包括写入地址的首地址、写入地址的尾地址以及写入地址的非首尾地址;
其中,所述第一确定模块根据所述写入信息和所述第一处理数据组确定所述第一处理数据组在所述共享缓存中对应的写入地址的方式具体包括:
获取所述第一处理数据组对应的所有所述数据组中首个所述数据组的排列序号,将该排列序号减去所述第一目标帧数据的首个所述数据组的排列序号,得到排序差;
将所述排序差乘以预设地址偏移量单位增量,得到所述第一处理数据组的地址偏移量;其中,所述第一处理数据组的地址偏移量为从首个所述数据组的首个数据到所述第一处理数据组对应的上一处理数据组的末尾数据组的末尾数据之间的所有数据在所述共享缓存中所占用的地址数量;
将所述第一目标帧数据的所述起始写入地址与所述第一处理数据组的所述地址偏移量相加得到的地址确定为所述第一处理数据组在所述共享缓存中对应的写入地址的首地址;
所述视频处理装置将所述预设数量与所述预设地址偏移量单位增量相乘所得到的结果与所述第一处理数据组的写入地址的首地址相加,确定为所述第一处理数据组在所述共享缓存中对应的写入地址的尾地址;
将所述第一处理数据组在所述共享缓存中对应的写入地址的首地址与所述第一处理数据组在所述共享缓存中对应的写入地址的尾地址之间的所有地址确定为所述第一处理数据组在所述共享缓存中的写入地址的非首尾地址。
作为一种可选的实施方式,在本发明第二方面中,所述视频处理装置还包括停止模块,其中:
所述第一获取模块,还用于获取所述共享缓存的存储容量;
所述第一确定模块,还用于根据所述共享缓存的存储容量和所述预设每组数据数量确定所述共享缓存的最大存储组数;所述共享缓存的存储容量最多容纳组数为所述最大存储组数的所述数据组;
所述停止模块,用于当检测到所述视频接收装置当前写入所述共享缓存中的所述第一目标帧数据的所述数据组对应的所述排列序号与所述视频处理装置当前处理的所述第一目标帧数据的所述数据组对应的所述排列序号之差大于等于所述最大存储组数时,停止处理操作;
所述判断模块,还用于当检测到所述视频接收装置当前写入的数据为所述第二目标帧数据时,根据接收到的当前的所述写入信息判断所述第二目标帧数据中已写入所述共享缓存的数据是否满足所述处理条件;
所述处理模块,还用于当所述判断模块判断出所述第二目标帧数据中已写入所述共享缓存的数据满足所述处理条件时,从所述第二目标帧数据的首个所述数据组在所述共享缓存中对应的写入地址开始处理所述第二目标帧数据的首个所述数据组。
作为一种可选的实施方式,在本发明第二方面中,所述第一确定模块确定所述第一目标帧数据的第一处理数据组的方式具体包括:
根据当前的处理进度信息获取上一次处理操作对应的所有所述数据组中的排在最后的数据组的排列序号,将该排列序号加1的结果确定为所述第一目标帧数据的第一处理数据组的处理起始序号;
将所述第一处理数据组的处理起始序号与所述预设数量相加,得到所述第一处理数据组的处理末尾序号;
将所述第一处理数据组的处理起始序号在所述第一目标帧数据中对应的所述数据组与所述第一处理数据组的处理末尾序号在所述第一目标帧数据中对应的所述数据组之间的所有所述数据组的数据、所述第一处理数据组的处理起始序号在所述第一目标帧数据中对应的所述数据组的数据以及所述第一处理数据组的处理末尾序号在所述第一目标帧数据中对应的所述数据组的数据确定为所述第一目标帧数据的第一处理数据组的数据;
以及,所述判断模块根据所述处理进度信息和所述写入信息判断所述共享缓存中已写入的数据是否满足处理条件的方式具体包括:
根据所述处理进度信息获取中上一次处理操作对应的所有所述数据组中最后一个数据组在所述第一目标帧数据中对应的第一排列序号,并根据所述写入信息获取当前已写入所述共享缓存的所有所述数据组中最后一个数据组在所述第一目标帧数据中对应的第二排列序号;
将所述第一排列序号减去所述第二排列序号,得到所述目标帧数据的未处理数据组组数,并判断所述未处理数据组组数是否大于所述预设数量,当判断出为是时,确定所述共享缓存中已写入的数据满足处理条件。
本发明第三方面公开了一种视频处理装置,所述视频处理装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的基于共享缓存的视频处理方法中所述视频处理装置所执行的步骤。
本发明第四方面公开了一种视频接收装置,所述视频接收装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的基于共享缓存的视频处理方法中所述视频接收装置所执行的步骤。
本发明第五方面公开了一种计算机可存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的基于共享缓存的视频处理方法中所述视频处理装置或所述视频接收装置所执行的步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,当所述视频接收装置将接收到的视频数据中第一目标帧数据的第一写入数据组写入所述共享缓存时,所述视频接收装置生成所述第一写入数据组对应的写入信息,并将所述写入信息发送至所述视频处理装置;所述视频处理装置获取当前的处理进度信息,并根据所述处理进度信息和所述写入信息判断所述共享缓存中已写入的数据是否满足处理条件;当判断为是时,所述视频处理装置确定所述第一目标帧数据的第一处理数据组;所述第一处理数据组包括多个已写入所述共享缓存的数据;所述视频处理装置根据所述写入信息和所述第一处理数据组确定所述第一处理数据组在所述共享缓存中对应的写入地址;所述视频处理装置根据所述第一处理数据组在所述共享缓存中对应的写入地址从所述共享缓存中获取所述第一处理数据组,并处理所述第一处理数据组。可见,本发明实施例中视频处理装置在视频接收装置还没完全接收一帧视频数据就开始处理该帧视频数据,因此本发明从接收到一帧视频数据到处理该帧数据之间的视频处理延时小于将一帧视频数据写入到存储空间中的时间,能够实现较低的视频处理延时,能够提高视频处理的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基于共享缓存的视频处理方法的流程示意图;
图2是本发明实施例公开的一种视频数据处理过程的示意图;
图3是本发明实施例公开的另一种视频数据处理过程的示意图;
图4是本发明实施例公开的另一种基于共享缓存的视频处理方法的流程示意图;
图5是本发明实施例公开的又一种视频数据处理过程的示意图;
图6是本发明实施例公开的又一种视频数据处理过程的示意图;
图7是本发明实施例公开的一种基于共享缓存的视频处理系统的结构示意图;
图8是本发明实施例公开的另一种基于共享缓存的视频处理系统的结构示意图;
图9是本发明实施例公开的一种视频处理装置的结构示意图;
图10是本发明实施例公开的一种视频接收装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种基于共享缓存的视频处理方法、装置及系统,视频处理装置在视频接收装置还没完全接收一帧视频数据就开始处理该帧视频数据,因此本发明从接收到一帧视频数据到处理该帧数据之间的视频处理延时小于将一帧视频数据写入到存储空间中的时间,能够实现较低的视频处理延时,能够提高视频处理的效率。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种基于共享缓存的视频处理方法的流程示意图。其中,图1所描述的基于共享缓存的视频处理方法可以应用于视频处理系统,该视频处理系统包括视频接收装置、视频处理装置和共享缓存;共享缓存同时连接至该视频接收装置和该视频处理装置。如图1所示,该基于共享缓存的视频处理方法可以包括以下操作:
101、当视频接收装置将接收到的视频数据中第一目标帧数据的第一写入数据组写入共享缓存时,视频接收装置生成第一写入数据组对应的写入信息,并将写入信息发送至视频处理装置。
本发明实施例中,视频接收装置可以负责接收来自前一级模块(如摄像头模组)的视频源数据,将数据进行处理(黑白平衡、去噪、锐化等)后,按一定的规则写入到共享缓存中。本发明实施例中,视频接收装置生成的写入信息可以包括自身的工作状态(空闲或正在写入数据)、当前写入数据对应帧的信息、当前写入数据在帧中的排列序号信息、当前写入数据对应帧在共享缓存中的起始写入地址中的至少一种。
102、视频处理装置获取当前的处理进度信息,并根据处理进度信息和写入信息判断共享缓存中已写入的数据是否满足处理条件。
103、当判断为是时,视频处理装置确定第一目标帧数据的第一处理数据组;第一处理数据组包括多个已写入共享缓存的数据。
104、视频处理装置根据写入信息和第一处理数据组确定第一处理数据组在共享缓存中对应的写入地址。
105、视频处理装置根据第一处理数据组在共享缓存中对应的写入地址从共享缓存中获取第一处理数据组,并处理第一处理数据组。
本发明实施例中,处理第一处理数据组可以为编码第一处理数据组或者解码第一处理数据组。
可见,本发明实施例中视频处理装置在视频接收装置还没完全接收一帧视频数据就开始处理该帧视频数据,因此本发明从接收到一帧视频数据到处理该帧数据之间的视频处理延时小于将一帧视频数据写入到存储空间中的时间,能够实现较低的视频处理延时,能够提高视频处理的效率。
在一个可选的实施例中,在视频接收装置生成第一写入数据组对应的写入信息,并将写入信息发送至视频处理装置之前,该方法还包括:
视频接收装置根据预设每组数据数量将接收到的第一目标帧数据划分为第一目标帧数据的多个数据组;
当第一写入数据组为第一目标帧数据中非首个数据组中任一个数据组时,在写入第一写入数据组时,视频接收装置获取上一次写入操作对应的数据组的写入地址的尾地址,并在共享缓存中从该尾地址的下一个地址开始将第一写入数据组写入共享缓存。
该可选的实施例中,视频接收装置接收到的帧数据为该帧图像按从上到下、从左到右的扫描顺序提取数据所得到的数据。
该可选的实施例中,视频处理装置从视频接收装置获得当前帧在缓存中的起始位置,从帧起始位置开始按块的方式对图像数据进行处理。处理过程可以是按块进行的(同时读取和处理多个数据组,而视频接收装置每次只写入一个数据的数据),如当处理过程为编码过程时,可使用H264编码格式,H264编码格式是以16*16的块大小进行编码。
该可选的实施例中,在某一时刻,如图2所示,视频接收装置正在写入第y帧的第n+i行图像数据(排列序号为n+i的数据组)到共享缓存中。此时,视频接收装置传递给视频处理装置的工作状态为正在写入数据,帧序号为y,行序号(数据组在帧数据中的排列序号)为n+i。假设视频处理装置已经完成n-1行图像数据处理,读数据指针位于第n-1行图像数据末尾。当i大于处理所需宏块高度时,视频处理装置读入从第n行开始的宏块数据进行处理。在共享缓存中,视频处理装置的读数据指针位于视频接收装置的写数据指针的后面,第y帧所有未处理的数据都位于缓存地址空间的中间。
可见,该可选的实施例中视频接收装置每次写数据时确定上次写数据的地址,并从上次写数据的地址后面开始写数据,使得数据能够连续写入缓存中,提高数据写入的准确性和效率。
在又一个可选的实施例中,该方法还包括:
当检测到第一目标帧数据的第二写入数据组在共享缓存上对应写入地址的尾地址处于共享缓存的末尾地址区间时,视频接收装置将第二写入数据组在第一目标帧数据中对应的下一个数据组对应的写入地址的首地址确定为共享缓存的所有存储地址中的首地址,以从共享缓存所有存储地址的首地址开始将第一目标帧数据中对应的下一个数据组写入共享缓存中。
该可选的实施例中,如图3所示,当视频接收装置正在写入第y帧的第m+i行图像数据时,已从共享缓存末尾跳回到共享缓存头部开始写图像数据,而视频处理装置正在从靠近缓存末尾处读出第m行开始的宏块数据进行处理。若正在处理的宏块数据所在位置超过共享缓存末尾位置,则视频处理装置跳到共享缓存头部继续读取数据。即共享缓存是循环缓存,读写指针到达或超出缓存末尾时,自动跳到缓存头部,此时未处理的数据分布在共享缓存的末尾附近和头部附近。
可见,该可选的实施例中当视频接收装置将数据写入到缓存末尾时,跳回到缓存头部继续写入数据,能够实现循环使用缓存,提高缓存的使用效率。
在又一个可选的实施例中,在视频处理装置根据第一处理数据组在共享缓存中对应的写入地址从共享缓存中处理第一处理数据组之后,该方法还包括:
在处理第一目标帧数据的第二处理数据组时,当第二处理数据组对应的所有数据组对应写入地址中存在处于共享缓存的末尾地址区间的地址且存在处于共享缓存的首地址区间的地址时,视频处理装置确定对应写入地址处于共享缓存的末尾地址区间的第一数据组和对应写入地址处于共享缓存的首地址区间的第二数据组;
视频处理装置确定所有第二数据组的第一数量;
视频处理装置读取所有第一数据组的数据,以第一数量的次数复制第一数据组中最后一个数据组的数据,得到补充数据;
视频处理装置将所有第一数据组的数据和补充数据确定为第二处理数据组的数据,并处理第二处理数据组的数据。
可见,该可选的实施例能够当目标处理数据分布在缓存的末尾地址和首地址中时,通过复制分布在缓存末尾地址中的数据来替代分布在缓存的首地址中的数据,从而无需处理分布在缓存的首地址中的数据,能够减少视频数据处理的延时,提高视频处理效率。
可选的,可以配置视频接收装置和视频处理装置的参数,其中,可配置的参数包括每帧图像尺寸、帧率以及共享缓存存储空间大小中的至少一种。
实施例二
请参阅图4,图4是本发明实施例公开的另一种基于共享缓存的视频处理方法的流程示意图。其中,图4所描述的基于共享缓存的视频处理方法可以应用于视频处理系统,该视频处理系统包括视频接收装置、视频处理装置和共享缓存;共享缓存同时连接至该视频接收装置和该视频处理装置。如图4所示,该基于共享缓存的视频处理方法可以包括以下操作:
201、当视频接收装置将接收到的视频数据中第一目标帧数据的第一写入数据组写入共享缓存时,视频接收装置生成第一写入数据组对应的写入信息,并将写入信息发送至视频处理装置。
202、视频处理装置获取当前的处理进度信息,并根据处理进度信息和写入信息判断共享缓存中已写入的数据是否满足处理条件。
203、当判断为是时,视频处理装置确定第一目标帧数据的第一处理数据组;第一处理数据组包括多个已写入共享缓存的数据。
204、视频处理装置根据写入信息和第一处理数据组确定第一处理数据组在共享缓存中对应的写入地址。
205、视频处理装置根据第一处理数据组在共享缓存中对应的写入地址从共享缓存中获取第一处理数据组,并处理第一处理数据组。
本发明实施例中,针对步骤201-步骤205的其它描述,请参照实施例一中针对步骤101-步骤105的详细描述,本发明实施例不再赘述。
206、当将第一目标帧数据的最后一个数据组写入共享缓存之后,视频接收装置根据预设每组数据数量将接收到的视频数据的第二目标帧数据划分为第二目标帧数据的多个数据组。
本发明实施例中,第二目标帧数据为视频数据中第一目标帧数据的下一帧数据。
207、视频接收装置将第一目标帧数据的最后一个数据组对应的写入地址的尾地址的下一个地址确定为第二目标帧数据的首个数据组对应写入地址的首地址,以从第二目标帧数据的首个数据组对应写入地址的首地址开始将第二目标帧数据的首个数据组写入共享缓存。
本发明实施例中,如图5所示,在某一时刻,视频处理装置还在处理第y帧的第j行开始的宏块数据时,视频接收装置已经开始写入第z帧的第k行数据到共享缓存中。此时共享缓存中包含了第y帧剩余部分未处理数据,以及第z帧开始的部分未处理数据,这两部分数据在共享缓存中是连续存储的。
可见,本发明实施例中视频处理装置在视频接收装置还没完全接收一帧视频数据就开始处理该帧视频数据,因此本发明从接收到一帧视频数据到处理该帧数据之间的视频处理延时小于将一帧视频数据写入到存储空间中的时间,能够实现较低的视频处理延时,能够提高视频处理的效率;当视频接收装置写完上一帧视频数据且接收到下一帧视频数据时,接着上一帧视频数据的写入地址后面接着写入下一帧视频数据,能够连续写入相邻帧的数据,提高缓存的使用效率。
在一个可选的实施例中,在视频接收装置获取上一次写入操作对应的数据组的写入地址的尾地址,并在共享缓存中从该尾地址的下一个地址开始将第一写入数据组写入共享缓存之前,该方法还包括:
当接收到第一目标帧数据时,视频接收装置在共享缓存中确定第一目标帧数据对应的起始写入地址;其中,第一目标帧数据的起始写入地址用于视频接收装置将第一目标帧数据的首个数据组写入共享缓存中起始写入地址对应的存储空间;
以及,视频处理装置根据写入信息和第一处理数据组确定第一处理数据组在共享缓存中对应的写入地址,包括:
视频处理装置获取第一处理数据组对应的所有数据组中首个数据组的排列序号,将该排列序号减去第一目标帧数据的首个数据组的排列序号,得到排序差;
视频处理装置将排序差乘以预设地址偏移量单位增量,得到第一处理数据组的地址偏移量;其中,第一处理数据组的地址偏移量为从首个数据组的首个数据到第一处理数据组对应的上一处理数据组的末尾数据组的末尾数据之间的所有数据在共享缓存中所占用的地址数量;
视频处理装置将第一目标帧数据的起始写入地址与第一处理数据组的地址偏移量相加得到的地址确定为第一处理数据组在共享缓存中对应的写入地址的首地址;
视频处理装置将预设数量与预设地址偏移量单位增量相乘所得到的结果与第一处理数据组的写入地址的首地址相加,确定为第一处理数据组在共享缓存中对应的写入地址的尾地址;
视频处理装置将第一处理数据组在共享缓存中对应的写入地址的首地址与第一处理数据组在共享缓存中对应的写入地址的尾地址之间的所有地址确定为第一处理数据组在共享缓存中的写入地址的非首尾地址。
该可选的实施例中,写入地址包括写入地址的首地址、写入地址的尾地址以及写入地址的非首尾地址;第一目标帧数据的每个数据组均有对应的排列序号,该数据组的排列序号等于该数据组在第一目标帧数据的所有数据组中的排序;第一目标帧数据的每个处理数据组对应第一目标帧数据中预设数量的连续排列的数据组的数据。
该可选的实施例中,数量为预设每组数据数量的数据所需要占用的地址数量即为预设地址偏移量单位增量。
可见,该可选的实施例能够确定任一帧数据的首组数据的起始写入地址,结合目标处理数据和该帧数据的首组数据在排序上的差距以及每个差距所占用的地址数量能够得到目标处理数据的地址,能够确定目标处理数据的写入地址,有助于后续视频处理装置根据该写入地址处理目标处理数据。
在又一个可选的实施例中,该方法还包括:
视频处理装置获取共享缓存的存储容量,并根据共享缓存的存储容量和预设每组数据数量确定共享缓存的最大存储组数;其中,共享缓存的存储容量最多容纳组数为最大存储组数的数据组;
当检测到视频接收装置当前写入共享缓存中的第一目标帧数据的数据组对应的排列序号与视频处理装置当前处理的第一目标帧数据的数据组对应的排列序号之差大于等于最大存储组数时,视频处理装置停止处理操作;
当检测到视频接收装置当前写入的数据为第二目标帧数据时,视频处理装置根据接收到的当前的写入信息判断第二目标帧数据中已写入共享缓存的数据是否满足处理条件;
当判断为是时,视频处理装置从第二目标帧数据的首个数据组在共享缓存中对应的写入地址开始处理第二目标帧数据的首个数据组。
该可选的实施例中,视频接收装置当前写入共享缓存中的第一目标帧数据的数据组对应的排列序号与视频处理装置当前处理的第一目标帧数据的数据组对应的排列序号之差说明了未处理的数据组的数量,当该数量大于等于最大存储组数时,说明共享缓存中未处理数据积累过多,视频接收装置写入的数据开始或已经覆盖未处理数据。该情况可以出现在处于分时多路编码分时复用,或编码后的码流数据无法及时送出导致编码器临时暂停工作等场景。
该可选的实施例中,如图6所示,假设共享缓存仅能够存储h行图像数据,当视频接收装置写入的行序号超过视频处理行序号h行时,未处理数据已填满整个共享缓存。一般情况下视频接收装置的上一级模块为采集图像数据的镜头模组,是实时设备,无法临时暂停数据采集,因此视频接收装置在填满整个共享缓存后不会暂停数据写入,于是部分未处理数据将被覆盖。在这种情况下,视频处理装置从视频接收装置接收到的行序号为m+h,正在处理的行起始序号为m,行序号差大于共享缓存大小,视频处理装置检测到有未处理的图像数据被覆盖。由于部分未处理图像数据已被覆盖,此时视频处理装置停止当前帧的处理并上报有效图像数据被覆盖的信号给软件驱动。待第y帧数据接收完成后,视频处理装置将从第y+1帧开始继续处理。
可见,该可选的实施例能够在共享缓存中未处理数据积累过多时停止处理操作,直到开始写入下一帧数据后直接处理下一帧数据,能够控制因处理速度慢而导致的错误影响只在一帧数据的范围内,从而能够提高视频处理的准确性。
在又一个可选的实施例中,视频处理装置确定第一目标帧数据的第一处理数据组,包括:
视频处理装置根据当前的处理进度信息获取上一次处理操作对应的所有数据组中的排在最后的数据组的排列序号,将该排列序号加1的结果确定为第一目标帧数据的第一处理数据组的处理起始序号;
将第一处理数据组的处理起始序号与预设数量相加,得到第一处理数据组的处理末尾序号;
将第一处理数据组的处理起始序号在第一目标帧数据中对应的数据组与第一处理数据组的处理末尾序号在第一目标帧数据中对应的数据组之间的所有数据组的数据、第一处理数据组的处理起始序号在第一目标帧数据中对应的数据组的数据以及第一处理数据组的处理末尾序号在第一目标帧数据中对应的数据组的数据确定为第一目标帧数据的第一处理数据组的数据。
可见,该可选的实施例能够通过确定需要处理的数据组在帧数据中的的排列序号来确定需要处理的数据,能够提高确定需要处理的数据的准确性和效率。
在又一个可选的实施例中,视频处理装置根据处理进度信息和写入信息判断共享缓存中已写入的数据是否满足处理条件,包括:
视频处理装置根据处理进度信息获取中上一次处理操作对应的所有数据组中最后一个数据组在第一目标帧数据中对应的第一排列序号,并根据写入信息获取当前已写入共享缓存的所有数据组中最后一个数据组在第一目标帧数据中对应的第二排列序号;
视频处理装置将第一排列序号减去第二排列序号,得到目标帧数据的未处理数据组组数,并判断未处理数据组组数是否大于预设数量,当判断出为是时,确定共享缓存中已写入的数据满足处理条件。
可见,该可选的实施例中通过排列序号之差确定未处理的数据组的组数,当未处理的数据组的组数大于预设数量时确定缓存中已写入的数据满足处理条件,能够提高确定缓存中已写入的数据满足处理条件的准确性和效率。
实施例三
请参阅图3,图3是本发明实施例公开的一种基于共享缓存的视频处理系统的结构示意图。其中,图3所描述的基于共享缓存的视频处理系统包括视频接收装置、视频处理装置和共享缓存,该共享缓存同时连接至该视频接收装置和该视频处理装置。如图3所示,视频接收装置包括生成模块301和发送模块302,视频处理装置包括第一获取模块303、判断模块304、第一确定模块305和处理模块306,其中:
生成模块301,用于当视频接收装置将接收到的视频数据中第一目标帧数据的第一写入数据组写入共享缓存时,生成第一写入数据组对应的写入信息;
发送模块302,用于将写入信息发送至视频处理装置;
第一获取模块303,用于获取当前的处理进度信息;
判断模块304,用于根据处理进度信息和写入信息判断共享缓存中已写入的数据是否满足处理条件;
第一确定模块305,用于当判断模块判断出共享缓存中已写入的数据满足处理条件时,确定第一目标帧数据的第一处理数据组;第一处理数据组包括多个已写入共享缓存的数据;
第一确定模块305,还用于根据写入信息和第一处理数据组确定第一处理数据组在共享缓存中对应的写入地址;
第一获取模块303,还用于根据第一处理数据组在共享缓存中对应的写入地址从共享缓存中获取第一处理数据组;
处理模块306,用于处理第一处理数据组。
可见,本发明实施例中视频处理装置在视频接收装置还没完全接收一帧视频数据就开始处理该帧视频数据,因此本发明从接收到一帧视频数据到处理该帧数据之间的视频处理延时小于将一帧视频数据写入到存储空间中的时间,能够实现较低的视频处理延时,能够提高视频处理的效率。
在一个可选的实施例中,如图4所示,视频接收装置还包括划分模块307、第二获取模块308和第二确定模块309,其中:
划分模块307,用于在生成模块生成第一写入数据组对应的写入信息以及发送模块将写入信息发送至视频处理装置之前,根据预设每组数据数量将接收到的第一目标帧数据划分为第一目标帧数据的多个数据组;
第二获取模块308,用于当第一写入数据组为第一目标帧数据中非首个数据组中任一个数据组时,在写入第一写入数据组时,获取上一次写入操作对应的数据组的写入地址的尾地址,并在共享缓存中从该尾地址的下一个地址开始将第一写入数据组写入共享缓存;
第二确定模块309,用于当检测到第一目标帧数据的第二写入数据组在共享缓存上对应写入地址的尾地址处于共享缓存的末尾地址区间时,将第二写入数据组在第一目标帧数据中对应的下一个数据组对应的写入地址的首地址确定为共享缓存的所有存储地址中的首地址,以从共享缓存所有存储地址的首地址开始将第一目标帧数据中对应的下一个数据组写入共享缓存中。
可见,该可选的实施例中视频接收装置每次写数据时确定上次写数据的地址,并从上次写数据的地址后面开始写数据,使得数据能够连续写入缓存中,提高数据写入的准确性和效率;当视频接收装置将数据写入到缓存末尾时,跳回到缓存头部继续写入数据,能够实现循环使用缓存,提高缓存的使用效率。
在又一个可选的实施例中,如图4所示,视频处理装置还包括读取复制模块310,其中:
处理模块306,还用于处理第二处理数据组的数据;
第一确定模块305,还用于在处理模块根据第一处理数据组在共享缓存中对应的写入地址从共享缓存中处理第一处理数据组之后,在处理模块处理第一目标帧数据的第二处理数据组时,当第二处理数据组对应的所有数据组对应写入地址中存在处于共享缓存的末尾地址区间的地址且存在处于共享缓存的首地址区间的地址时,确定对应写入地址处于共享缓存的末尾地址区间的第一数据组和对应写入地址处于共享缓存的首地址区间的第二数据组;
第一确定模块305,还用于确定所有第二数据组的第一数量;
读取复制模块310,用于读取所有第一数据组的数据,以第一数量的次数复制第一数据组中最后一个数据组的数据,得到补充数据;
第一确定模块305,还用于将所有第一数据组的数据和补充数据确定为第二处理数据组的数据。
可见,该可选的实施例能够当目标处理数据分布在缓存的末尾地址和首地址中时,通过复制分布在缓存末尾地址中的数据来替代分布在缓存的首地址中的数据,从而无需处理分布在缓存的首地址中的数据,能够减少视频数据处理的延时,提高视频处理效率。
在又一个可选的实施例中,如图4所示,划分模块307,还用于当将第一目标帧数据的最后一个数据组写入共享缓存之后,根据预设每组数据数量将接收到的视频数据的第二目标帧数据划分为第二目标帧数据的多个数据组;第二目标帧数据为视频数据中第一目标帧数据的下一帧数据;
第二确定模块309,还用于将第一目标帧数据的最后一个数据组对应的写入地址的尾地址的下一个地址确定为第二目标帧数据的首个数据组对应写入地址的首地址,以从第二目标帧数据的首个数据组对应写入地址的首地址开始将第二目标帧数据的首个数据组写入共享缓存。
该可选的实施例中,如图5所示,在某一时刻,视频处理装置还在处理第y帧的第j行开始的宏块数据时,视频接收装置已经开始写入第z帧的第k行数据到共享缓存中。此时共享缓存中包含了第y帧剩余部分未处理数据,以及第z帧开始的部分未处理数据,这两部分数据在共享缓存中是连续存储的。
可见,该可选的实施例中当视频接收装置写完上一帧视频数据且接收到下一帧视频数据时,接着上一帧视频数据的写入地址后面接着写入下一帧视频数据,能够连续写入相邻帧的数据,提高缓存的使用效率。
在又一个可选的实施例中,如图4所示,第二确定模块309,还用于在第二获取模块308获取上一次写入操作对应的数据组的写入地址的尾地址,并在共享缓存中从该尾地址的下一个地址开始将第一写入数据组写入共享缓存之前,当接收到第一目标帧数据时,在共享缓存中确定第一目标帧数据对应的起始写入地址;第一目标帧数据的起始写入地址用于视频接收装置将第一目标帧数据的首个数据组写入共享缓存中起始写入地址对应的存储空间;
以及,第一目标帧数据的每个数据组均有对应的排列序号,该数据组的排列序号等于该数据组在第一目标帧数据的所有数据组中的排序;第一目标帧数据的每个处理数据组对应第一目标帧数据中预设数量的多个连续排列的数据组的数据;写入地址包括写入地址的首地址、写入地址的尾地址以及写入地址的非首尾地址;
其中,第一确定模块305根据写入信息和第一处理数据组确定第一处理数据组在共享缓存中对应的写入地址的方式具体包括:
获取第一处理数据组对应的所有数据组中首个数据组的排列序号,将该排列序号减去第一目标帧数据的首个数据组的排列序号,得到排序差;
将排序差乘以预设地址偏移量单位增量,得到第一处理数据组的地址偏移量;其中,第一处理数据组的地址偏移量为从首个数据组的首个数据到第一处理数据组对应的上一处理数据组的末尾数据组的末尾数据之间的所有数据在共享缓存中所占用的地址数量;
将第一目标帧数据的起始写入地址与第一处理数据组的地址偏移量相加得到的地址确定为第一处理数据组在共享缓存中对应的写入地址的首地址;
将预设数量与预设地址偏移量单位增量相乘所得到的结果与第一处理数据组的写入地址的首地址相加,确定为第一处理数据组在共享缓存中对应的写入地址的尾地址;
将第一处理数据组在共享缓存中对应的写入地址的首地址与第一处理数据组在共享缓存中对应的写入地址的尾地址之间的所有地址确定为第一处理数据组在共享缓存中的写入地址的非首尾地址。
该可选的实施例中,数量为预设每组数据数量的数据所需要占用的地址数量即为预设地址偏移量单位增量。
可见,该可选的实施例能够确定任一帧数据的首组数据的起始写入地址,结合目标处理数据和该帧数据的首组数据在排序上的差距以及每个差距所占用的地址数量能够得到目标处理数据的地址,能够确定目标处理数据的写入地址,有助于后续视频处理装置根据该写入地址处理目标处理数据。
在又一个可选的实施例中,如图4所示,视频处理装置还包括停止模块311,其中:
第一获取模块303,还用于获取共享缓存的存储容量;
第一确定模块305,还用于根据共享缓存的存储容量和预设每组数据数量确定共享缓存的最大存储组数;共享缓存的存储容量最多容纳组数为最大存储组数的数据组;
停止模块311,用于当检测到视频接收装置当前写入共享缓存中的第一目标帧数据的数据组对应的排列序号与视频处理装置当前处理的第一目标帧数据的数据组对应的排列序号之差大于等于最大存储组数时,停止处理操作;
判断模块304,还用于当检测到视频接收装置当前写入的数据为第二目标帧数据时,根据接收到的当前的写入信息判断第二目标帧数据中已写入共享缓存的数据是否满足处理条件;
处理模块306,还用于当判断模块304判断出第二目标帧数据中已写入共享缓存的数据满足处理条件时,从第二目标帧数据的首个数据组在共享缓存中对应的写入地址开始处理第二目标帧数据的首个数据组。
该可选的实施例中,视频接收装置当前写入共享缓存中的第一目标帧数据的数据组对应的排列序号与视频处理装置当前处理的第一目标帧数据的数据组对应的排列序号之差说明了未处理的数据组的数量,当该数量大于等于最大存储组数时,说明共享缓存中未处理数据积累过多,视频接收装置写入的数据开始或已经覆盖未处理数据。该情况可以出现在处于分时多路编码分时复用,或编码后的码流数据无法及时送出导致编码器临时暂停工作等场景。
可见,该可选的实施例能够在共享缓存中未处理数据积累过多时停止处理操作,直到开始写入下一帧数据后直接处理下一帧数据,能够控制因处理速度慢而导致的错误影响只在一帧数据的范围内,从而能够提高视频处理的准确性。
在又一个可选的实施例中,如图4所示,第一确定模块305确定第一目标帧数据的第一处理数据组的方式具体包括:
根据当前的处理进度信息获取上一次处理操作对应的所有数据组中的排在最后的数据组的排列序号,将该排列序号加1的结果确定为第一目标帧数据的第一处理数据组的处理起始序号;
将第一处理数据组的处理起始序号与预设数量相加,得到第一处理数据组的处理末尾序号;
将第一处理数据组的处理起始序号在第一目标帧数据中对应的数据组与第一处理数据组的处理末尾序号在第一目标帧数据中对应的数据组之间的所有数据组的数据、第一处理数据组的处理起始序号在第一目标帧数据中对应的数据组的数据以及第一处理数据组的处理末尾序号在第一目标帧数据中对应的数据组的数据确定为第一目标帧数据的第一处理数据组的数据;
以及,判断模块304根据处理进度信息和写入信息判断共享缓存中已写入的数据是否满足处理条件的方式具体包括:
根据处理进度信息获取中上一次处理操作对应的所有数据组中最后一个数据组在第一目标帧数据中对应的第一排列序号,并根据写入信息获取当前已写入共享缓存的所有数据组中最后一个数据组在第一目标帧数据中对应的第二排列序号;
将第一排列序号减去第二排列序号,得到目标帧数据的未处理数据组组数,并判断未处理数据组组数是否大于预设数量,当判断出为是时,确定共享缓存中已写入的数据满足处理条件。
可见,该可选的实施例能够通过确定需要处理的数据组在帧数据中的的排列序号来确定需要处理的数据,能够提高确定需要处理的数据的准确性和效率;通过排列序号之差确定未处理的数据组的组数,当未处理的数据组的组数大于预设数量时确定缓存中已写入的数据满足处理条件,能够提高确定缓存中已写入的数据满足处理条件的准确性和效率。
实施例四
请参阅图5,图5是本发明实施例公开的一种视频处理装置的结构示意图。如图5所示,该视频处理装置应用于视频处理系统,该视频处理装置可以包括:
存储有可执行程序代码的存储器401;
与存储器401耦合的处理器402;
处理器402调用存储器401中存储的可执行程序代码,执行本发明实施例一或本发明实施例二所描述的基于共享缓存的视频处理方法中视频处理装置所执行的步骤。
实施例五
请参阅图6,图6是本发明实施例公开的一种视频接收装置的结构示意图。如图6所示,该视频接收装置应用于视频处理系统,该视频接收装置可以包括:
存储有可执行程序代码的存储器501;
与存储器501耦合的处理器502;
处理器502调用存储器501中存储的可执行程序代码,执行本发明实施例一或本发明实施例二所描述的基于共享缓存的视频处理方法中视频接收装置所执行的步骤。
实施例六
本发明实施例公开了一种计算机可存储介质,该计算机存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或本发明实施例二所描述的基于共享缓存的视频处理方法中视频处理装置或者视频接收装置所执行的步骤。
实施例六
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二中所描述的基于共享缓存的视频处理方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种基于共享缓存的视频处理方法、装置及系统所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (8)
1.一种基于共享缓存的视频处理方法,其特征在于,所述方法应用于视频处理系统,所述视频处理系统包括视频接收装置、视频处理装置和共享缓存;所述共享缓存同时连接至所述视频接收装置和所述视频处理装置,所述方法包括:
当所述视频接收装置将接收到的视频数据中第一目标帧数据的第一写入数据组写入所述共享缓存时,所述视频接收装置生成所述第一写入数据组对应的写入信息,并将所述写入信息发送至所述视频处理装置;
所述视频处理装置获取当前的处理进度信息,并根据所述处理进度信息和所述写入信息判断所述共享缓存中已写入的数据是否满足处理条件;
当判断为是时,所述视频处理装置确定所述第一目标帧数据的第一处理数据组;所述第一处理数据组包括多个已写入所述共享缓存的数据;
所述视频处理装置根据所述写入信息和所述第一处理数据组确定所述第一处理数据组在所述共享缓存中对应的写入地址;
所述视频处理装置根据所述第一处理数据组在所述共享缓存中对应的写入地址从所述共享缓存中获取所述第一处理数据组,并处理所述第一处理数据组;
所述方法还包括:
当将所述第一目标帧数据的最后一个所述数据组写入所述共享缓存之后,所述视频接收装置根据预设每组数据数量将接收到的所述视频数据的第二目标帧数据划分为所述第二目标帧数据的多个数据组;所述第二目标帧数据为所述视频数据中所述第一目标帧数据的下一帧数据;
所述视频接收装置将所述第一目标帧数据的最后一个所述数据组对应的写入地址的尾地址的下一个地址确定为所述第二目标帧数据的首个所述数据组对应写入地址的首地址,以从所述第二目标帧数据的首个所述数据组对应写入地址的首地址开始将所述第二目标帧数据的首个所述数据组写入所述共享缓存;
在所述视频接收装置生成所述第一写入数据组对应的写入信息,并将所述写入信息发送至所述视频处理装置之前,所述方法还包括:
所述视频接收装置根据预设每组数据数量将接收到的所述第一目标帧数据划分为所述第一目标帧数据的多个数据组;
当第一写入数据组为所述第一目标帧数据中非首个所述数据组中任一个所述数据组时,在写入所述第一写入数据组时,所述视频接收装置获取上一次写入操作对应的所述数据组的写入地址的尾地址,并在所述共享缓存中从该尾地址的下一个地址开始将所述第一写入数据组写入所述共享缓存;
其中,所述第一目标帧数据的每个所述数据组均有对应的排列序号,该数据组的所述排列序号等于该数据组在所述第一目标帧数据的所有所述数据组中的排序;所述第一目标帧数据的每个处理数据组对应所述第一目标帧数据中预设数量的多个连续排列的所述数据组的数据;
以及,所述方法还包括:
所述视频处理装置获取所述共享缓存的存储容量,并根据所述共享缓存的存储容量和所述预设每组数据数量确定所述共享缓存的最大存储组数;所述共享缓存的存储容量最多容纳组数为所述最大存储组数的所述数据组;
当检测到所述视频接收装置当前写入所述共享缓存中的所述第一目标帧数据的所述数据组对应的所述排列序号与所述视频处理装置当前处理的所述第一目标帧数据的所述数据组对应的所述排列序号之差大于等于所述最大存储组数时,所述视频处理装置停止处理操作;
当检测到所述视频接收装置当前写入的数据为所述第二目标帧数据时,所述视频处理装置根据接收到的当前的所述写入信息判断所述第二目标帧数据中已写入所述共享缓存的数据是否满足所述处理条件;
当判断为是时,所述视频处理装置从所述第二目标帧数据的首个所述数据组在所述共享缓存中对应的写入地址开始处理所述第二目标帧数据的首个所述数据组。
2.根据权利要求1所述的基于共享缓存的视频处理方法,其特征在于,所述方法还包括:
当检测到所述第一目标帧数据的第二写入数据组在所述共享缓存上对应写入地址的尾地址处于所述共享缓存的末尾地址区间时,所述视频接收装置将所述第二写入数据组在所述第一目标帧数据中对应的下一个所述数据组对应的写入地址的首地址确定为所述共享缓存的所有存储地址中的首地址,以从所述共享缓存所有存储地址的首地址开始将所述第一目标帧数据中对应的下一个所述数据组写入所述共享缓存中。
3.根据权利要求2所述的基于共享缓存的视频处理方法,其特征在于,在所述视频处理装置根据所述第一处理数据组在所述共享缓存中对应的写入地址从所述共享缓存中处理所述第一处理数据组之后,所述方法还包括:
在处理所述第一目标帧数据的第二处理数据组时,当所述第二处理数据组对应的所有所述数据组对应写入地址中存在处于所述共享缓存的末尾地址区间的地址且存在处于所述共享缓存的首地址区间的地址时,所述视频处理装置确定对应写入地址处于所述共享缓存的所述末尾地址区间的第一数据组和对应写入地址处于所述共享缓存的所述首地址区间的第二数据组;
所述视频处理装置确定所有所述第二数据组的第一数量;
所述视频处理装置读取所有所述第一数据组的数据,以所述第一数量的次数复制所述第一数据组中最后一个所述数据组的数据,得到补充数据;
所述视频处理装置将所有所述第一数据组的数据和所述补充数据确定为所述第二处理数据组的数据,并处理所述第二处理数据组的数据。
4.根据权利要求3所述的基于共享缓存的视频处理方法,其特征在于,在所述视频接收装置获取上一次写入操作对应的所述数据组的写入地址的尾地址,并在所述共享缓存中从该尾地址的下一个地址开始将所述第一写入数据组写入所述共享缓存之前,所述方法还包括:
当接收到所述第一目标帧数据时,所述视频接收装置在所述共享缓存中确定所述第一目标帧数据对应的起始写入地址;所述第一目标帧数据的起始写入地址用于所述视频接收装置将所述第一目标帧数据的首个所述数据组写入所述共享缓存中所述起始写入地址对应的存储空间;
以及,所述写入地址包括写入地址的首地址、写入地址的尾地址以及写入地址的非首尾地址;
其中,所述视频处理装置根据所述写入信息和所述第一处理数据组确定所述第一处理数据组在所述共享缓存中对应的写入地址,包括:
所述视频处理装置获取所述第一处理数据组对应的所有所述数据组中首个所述数据组的排列序号,将该排列序号减去所述第一目标帧数据的首个所述数据组的排列序号,得到排序差;
所述视频处理装置将所述排序差乘以预设地址偏移量单位增量,得到所述第一处理数据组的地址偏移量;其中,所述第一处理数据组的地址偏移量为从首个所述数据组的首个数据到所述第一处理数据组对应的上一处理数据组的末尾数据组的末尾数据之间的所有数据在所述共享缓存中所占用的地址数量 ;
所述视频处理装置将所述第一目标帧数据的所述起始写入地址与所述第一处理数据组的所述地址偏移量相加得到的地址确定为所述第一处理数据组在所述共享缓存中对应的写入地址的首地址;
所述视频处理装置将所述预设数量与所述预设地址偏移量单位增量相乘所得到的结果与所述第一处理数据组的写入地址的首地址相加,确定为所述第一处理数据组在所述共享缓存中对应的写入地址的尾地址;
所述视频处理装置将所述第一处理数据组在所述共享缓存中对应的写入地址的首地址与所述第一处理数据组在所述共享缓存中对应的写入地址的尾地址之间的所有地址确定为所述第一处理数据组在所述共享缓存中的写入地址的非首尾地址。
5.根据权利要求4所述的基于共享缓存的视频处理方法,其特征在于,所述视频处理装置确定所述第一目标帧数据的第一处理数据组,包括:
所述视频处理装置根据当前的处理进度信息获取上一次处理操作对应的所有所述数据组中的排在最后的数据组的排列序号,将该排列序号加1的结果确定为所述第一目标帧数据的第一处理数据组的处理起始序号;
将所述第一处理数据组的处理起始序号与所述预设数量相加,得到所述第一处理数据组的处理末尾序号;
将所述第一处理数据组的处理起始序号在所述第一目标帧数据中对应的所述数据组与所述第一处理数据组的处理末尾序号在所述第一目标帧数据中对应的所述数据组之间的所有所述数据组的数据、所述第一处理数据组的处理起始序号在所述第一目标帧数据中对应的所述数据组的数据以及所述第一处理数据组的处理末尾序号在所述第一目标帧数据中对应的所述数据组的数据确定为所述第一目标帧数据的第一处理数据组的数据;
以及,所述视频处理装置根据所述处理进度信息和所述写入信息判断所述共享缓存中已写入的数据是否满足处理条件,包括:
所述视频处理装置根据所述处理进度信息获取中上一次处理操作对应的所有所述数据组中最后一个数据组在所述第一目标帧数据中对应的第一排列序号,并根据所述写入信息获取当前已写入所述共享缓存的所有所述数据组中最后一个数据组在所述第一目标帧数据中对应的第二排列序号;
所述视频处理装置将所述第一排列序号减去所述第二排列序号,得到所述目标帧数据的未处理数据组组数,并判断所述未处理数据组组数是否大于所述预设数量,当判断出为是时,确定所述共享缓存中已写入的数据满足处理条件。
6.一种基于共享缓存的视频处理系统,其特征在于,所述视频处理系统包括视频接收装置、视频处理装置和共享缓存,所述共享缓存同时连接至所述视频接收装置和所述视频处理装置;所述视频接收装置包括生成模块和发送模块,所述视频处理装置包括第一获取模块、判断模块、第一确定模块和处理模块,其中:
所述生成模块,用于当所述视频接收装置将接收到的视频数据中第一目标帧数据的第一写入数据组写入所述共享缓存时,生成所述第一写入数据组对应的写入信息;
所述发送模块,用于将所述写入信息发送至所述视频处理装置;
所述第一获取模块,用于获取当前的处理进度信息;
所述判断模块,用于根据所述处理进度信息和所述写入信息判断所述共享缓存中已写入的数据是否满足处理条件;
所述第一确定模块,用于当所述判断模块判断出所述共享缓存中已写入的数据满足所述处理条件时,确定所述第一目标帧数据的第一处理数据组;所述第一处理数据组包括多个已写入所述共享缓存的数据;
所述第一确定模块,还用于根据所述写入信息和所述第一处理数据组确定所述第一处理数据组在所述共享缓存中对应的写入地址;
所述第一获取模块,还用于根据所述第一处理数据组在所述共享缓存中对应的写入地址从所述共享缓存中获取所述第一处理数据组;
所述处理模块,用于处理所述第一处理数据组;
所述视频处理装置还包括:
划分模块,用于当将所述第一目标帧数据的最后一个所述数据组写入所述共享缓存之后,根据预设每组数据数量将接收到的所述视频数据的第二目标帧数据划分为所述第二目标帧数据的多个数据组;所述第二目标帧数据为所述视频数据中所述第一目标帧数据的下一帧数据;
第二确定模块,用于将所述第一目标帧数据的最后一个所述数据组对应的写入地址的尾地址的下一个地址确定为所述第二目标帧数据的首个所述数据组对应写入地址的首地址,以从所述第二目标帧数据的首个所述数据组对应写入地址的首地址开始将所述第二目标帧数据的首个所述数据组写入所述共享缓存;
所述划分模块,还用于所述生成模块生成所述第一写入数据组对应的写入信息以及所述发送模块将所述写入信息发送至所述视频处理装置之前,根据预设每组数据数量将接收到的所述第一目标帧数据划分为所述第一目标帧数据的多个数据组;
第二获取模块,用于当第一写入数据组为所述第一目标帧数据中非首个所述数据组中任一个所述数据组时,在写入所述第一写入数据组时,获取上一次写入操作对应的所述数据组的写入地址的尾地址,并在所述共享缓存中从该尾地址的下一个地址开始将所述第一写入数据组写入所述共享缓存;
其中,所述第一目标帧数据的每个所述数据组均有对应的排列序号,该数据组的所述排列序号等于该数据组在所述第一目标帧数据的所有所述数据组中的排序;所述第一目标帧数据的每个处理数据组对应所述第一目标帧数据中预设数量的多个连续排列的所述数据组的数据;
所述视频处理装置还包括停止模块,其中:
所述第一获取模块,还用于获取所述共享缓存的存储容量;
所述第一确定模块,还用于根据所述共享缓存的存储容量和所述预设每组数据数量确定所述共享缓存的最大存储组数;所述共享缓存的存储容量最多容纳组数为所述最大存储组数的所述数据组;
所述停止模块,用于当检测到所述视频接收装置当前写入所述共享缓存中的所述第一目标帧数据的所述数据组对应的所述排列序号与所述视频处理装置当前处理的所述第一目标帧数据的所述数据组对应的所述排列序号之差大于等于所述最大存储组数时,停止处理操作;
所述判断模块,还用于当检测到所述视频接收装置当前写入的数据为所述第二目标帧数据时,根据接收到的当前的所述写入信息判断所述第二目标帧数据中已写入所述共享缓存的数据是否满足所述处理条件;
所述处理模块,还用于当所述判断模块判断出所述第二目标帧数据中已写入所述共享缓存的数据满足所述处理条件时,从所述第二目标帧数据的首个所述数据组在所述共享缓存中对应的写入地址开始处理所述第二目标帧数据的首个所述数据组。
7.一种视频处理装置,其特征在于,所述视频处理装置应用于视频处理系统,所述视频处理装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-5任一项所述的基于共享缓存的视频处理方法中所述视频处理装置所执行的步骤。
8.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-5任一项所述的基于共享缓存的视频处理方法中所述视频处理装置或所述视频接收装置所执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492297.2A CN114845156B (zh) | 2022-05-07 | 2022-05-07 | 基于共享缓存的视频处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492297.2A CN114845156B (zh) | 2022-05-07 | 2022-05-07 | 基于共享缓存的视频处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114845156A CN114845156A (zh) | 2022-08-02 |
CN114845156B true CN114845156B (zh) | 2024-03-19 |
Family
ID=82568348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210492297.2A Active CN114845156B (zh) | 2022-05-07 | 2022-05-07 | 基于共享缓存的视频处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114845156B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622628A (zh) * | 2004-12-21 | 2005-06-01 | 北京中星微电子有限公司 | 一种视频编解码过程中参考帧的宏块数据写入的方法 |
CN1964495A (zh) * | 2006-12-08 | 2007-05-16 | 北京中星微电子有限公司 | 对实时数码视频影流进行缓存控制的方法和装置 |
JP2008146235A (ja) * | 2006-12-07 | 2008-06-26 | Renesas Technology Corp | 画像処理装置 |
CN101917246A (zh) * | 2010-06-28 | 2010-12-15 | 华为技术有限公司 | 信道数据交织和解交织的方法及装置 |
CN108062235A (zh) * | 2016-11-07 | 2018-05-22 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及装置 |
WO2020047843A1 (zh) * | 2018-09-07 | 2020-03-12 | 深圳鲲云信息科技有限公司 | 视频图像数据传输方法、系统、存储介质及程序产品 |
CN111464757A (zh) * | 2019-01-21 | 2020-07-28 | 西安诺瓦电子科技有限公司 | 视频处理方法、装置和系统 |
CN111953979A (zh) * | 2020-07-16 | 2020-11-17 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN113032162A (zh) * | 2021-03-23 | 2021-06-25 | 重庆智行者信息科技有限公司 | 一种基于共享内存备份机制的多进程通讯方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4621794B1 (ja) * | 2009-07-22 | 2011-01-26 | 株式会社東芝 | キャッシュメモリ制御方法およびキャッシュメモリを備えた情報記憶装置 |
-
2022
- 2022-05-07 CN CN202210492297.2A patent/CN114845156B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622628A (zh) * | 2004-12-21 | 2005-06-01 | 北京中星微电子有限公司 | 一种视频编解码过程中参考帧的宏块数据写入的方法 |
JP2008146235A (ja) * | 2006-12-07 | 2008-06-26 | Renesas Technology Corp | 画像処理装置 |
CN1964495A (zh) * | 2006-12-08 | 2007-05-16 | 北京中星微电子有限公司 | 对实时数码视频影流进行缓存控制的方法和装置 |
CN101917246A (zh) * | 2010-06-28 | 2010-12-15 | 华为技术有限公司 | 信道数据交织和解交织的方法及装置 |
CN108062235A (zh) * | 2016-11-07 | 2018-05-22 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及装置 |
WO2020047843A1 (zh) * | 2018-09-07 | 2020-03-12 | 深圳鲲云信息科技有限公司 | 视频图像数据传输方法、系统、存储介质及程序产品 |
CN111464757A (zh) * | 2019-01-21 | 2020-07-28 | 西安诺瓦电子科技有限公司 | 视频处理方法、装置和系统 |
CN111953979A (zh) * | 2020-07-16 | 2020-11-17 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN113032162A (zh) * | 2021-03-23 | 2021-06-25 | 重庆智行者信息科技有限公司 | 一种基于共享内存备份机制的多进程通讯方法 |
Non-Patent Citations (1)
Title |
---|
基于缓存共享的分布式宽带数字接收技术;易勇;宫新保;;信息技术(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114845156A (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4442485A (en) | Dynamically buffered data transfer system for large capacity data source | |
EP4054190A1 (en) | Video data encoding method and device, apparatus, and storage medium | |
CN114845156B (zh) | 基于共享缓存的视频处理方法、装置及系统 | |
CN113516724B (zh) | 一种图像数据的传输方法及装置 | |
US20120102266A1 (en) | Method And System For Storage Of Data | |
KR20170113011A (ko) | 슬라이스 업데이트 맵을 이용하는 장치 및 방법 | |
CN111510706B (zh) | 硬件编、解码支持度检测方法、终端及存储介质 | |
JP2016009280A (ja) | 記録装置 | |
CN1717044A (zh) | 重放输出方法、重放输出程序及摄像机 | |
US5280361A (en) | Data processing apparatus | |
EP1890475A1 (en) | Video frame buffer | |
US20060133474A1 (en) | Encoder and its method | |
CN1194539C (zh) | 数据率转换装置 | |
JP2018164172A (ja) | 記録装置、制御方法、及びプログラム | |
US8452158B2 (en) | Recording apparatus, imaging and recording apparatus, recording method, and program | |
KR970022704A (ko) | Cd-rom 구동 시스템의 고속 메모리 제어회로 및 그 방법 | |
EP2109315A1 (en) | Video server and file management method | |
US20110194837A1 (en) | Recording apparatus, imaging and recording apparatus, recording method, and program | |
CN107241601B (zh) | 图像数据传输方法、装置及终端 | |
US20080229034A1 (en) | Data management for image processing | |
CN111866422B (zh) | 录像数据上传方法、装置、设备及计算机可读存储介质 | |
US20200401310A1 (en) | Image processing apparatus | |
US8509597B2 (en) | Recording apparatus, imaging and recording apparatus, recording method, and program | |
CN1257375A (zh) | 数据包发送方法和装置 | |
JPH0145270B2 (zh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |