发明名称 | 一种基于无锁缓存队列的多路h264视频数据缓存方法及系统 | ||
摘要 | 本发明公开了一种基于无锁缓存队列的多路h264视频数据缓存方法及系统,该方法包括:获取针对第一缓存队列的当前缓存子块c<sub>1i</sub>的所述多路h264视频数据中的一帧数据;判断该帧数据是否为I帧数据;当帧数据为I帧数据时,将帧数据写入与当前缓存子块c<sub>1i</sub>对应的第二缓存队列中的缓存子块c<sub>2i</sub>,并继续获取针对第一缓存队列的下一缓存子块c<sub>1(i+1)</sub>的多路h264视频数据中的下一帧数据;当帧数据不为I帧数据时,将帧数据写入当前缓存子块c<sub>1i</sub>,并继续获取针对第一缓存队列的下一缓存子块c<sub>1(i+1)</sub>的多路h264视频数据中的下一帧数据。可见,本发明实现了保证关键帧(I帧)的完整性,减少视频数据的跳帧现象,进而保证后续播放视频数据时的流畅度和完整性的目的。 | ||
申请公布号 | CN105611307A | 申请公布日期 | 2016.05.25 |
申请号 | CN201510954913.1 | 申请日期 | 2015.12.17 |
申请人 | 浪潮(北京)电子信息产业有限公司 | 发明人 | 毕敬强 |
分类号 | H04N21/218(2011.01)I;H04N21/234(2011.01)I | 主分类号 | H04N21/218(2011.01)I |
代理机构 | 北京集佳知识产权代理有限公司 11227 | 代理人 | 罗满 |
主权项 | 一种基于无锁缓存队列的多路h264视频数据缓存方法,其特征在于,该方法包括:获取针对第一缓存队列的当前缓存子块c<sub>1i</sub>的所述多路h264视频数据中的一帧数据;判断所述帧数据是否为I帧数据;当所述帧数据为I帧数据时,将所述帧数据写入与所述当前缓存子块c<sub>1i</sub>对应的第二缓存队列中的缓存子块c<sub>2i</sub>,并继续获取针对所述第一缓存队列的下一缓存子块c<sub>1(i+1)</sub>的所述多路h264视频数据中的下一帧数据;当所述帧数据不为I帧数据时,将所述帧数据写入所述当前缓存子块<sub>c1i</sub>,并继续获取针对所述第一缓存队列的下一缓存子块c<sub>1(i+1)</sub>的所述多路h264视频数据中的下一帧数据;当i+1>N时,c<sub>1(i+1)</sub>为c<sub>11</sub>;其中,所述第一缓存队列C<sub>1</sub>={c<sub>11</sub>,c<sub>12</sub>,…,c<sub>1i</sub>,…,c<sub>1N</sub>},所述第二缓存队列C<sub>2</sub>={c<sub>21</sub>,c<sub>22</sub>,…,c<sub>2i</sub>,…,c<sub>2N</sub>},i=1,2,3,……,N;c<sub>1i</sub>为所述第一缓存队列中的第i个缓存子块,c<sub>2i</sub>为所述第二缓存队列中与c<sub>1i</sub>相对应的缓存子块;各所述缓存子块的内存大小相等。 | ||
地址 | 100085 北京市海淀区上地信息路2号2-1号C栋1层 |