基于高速解码平台的网络码流实时接收方法技术

技术编号:12734295 阅读:108 留言:0更新日期:2016-01-20 17:42
本发明专利技术公开了一种基于高速解码平台的网络码流实时接收方法,主要解决了现有技术中网络数据传输阻塞的问题。其实现步骤为:(1)初始化码流存储区的各个指针;(2)将最新接收到的码流写入码流存储区中;(3)从码流存储区中读出码流数据;(4)将读出的码流数据拆分为每一帧JPEG2000图像数据,并将拆分后的数据送入待解码链表;(5)通过高速解码平台中的空闲核从待解码链表中取出图像数据进行解码,完成网络码流的实时接收。本发明专利技术减少了网络传输中的时延,能有效避免网络传输阻塞,可用于实现对JPEG2000图像的实时解码。

【技术实现步骤摘要】

本专利技术涉及图像处理
,更进一步涉及一种网络码流实时接收方法,可用于多核数字设备的图像压缩解码。
技术介绍
数据传输技术的飞速发展,导致网络的数据带宽越来越大。其中大量高速传输来的数据是需要实时处理的。普通的单核处理系统已经不能满足数据实时处理的需求,多核处理系统正是在这样的背景下产生的。在这些高速的数据中有大量的图像压缩码流,要想使用这些图像必须首先对其进行解码操作。解码是一个复杂的工作,需要耗费大量的计算机资源,加之在短时间内会有大量的码流到达,普通的计算机很难及时处理,会导致大量码流的丢失或者网络数据传输的阻塞。传统网络码流接收方案主要是基于普通PC机的处理方法,其方法的主要内容为:先将传输进来的数据存储在内存存储区,然后对其进行解码等其他处理操作,处理完成后再进行新的数据接收,如此反复操作,直至处理完所有的数据。这种方法的缺点是很难及时处理到来的数据,导致网络数据传输阻塞。
技术实现思路
本专利技术的目的在于针对上述已有技术的不足,提出一种基于高速解码平台的网络码流实时接收方法,以及时处理到来的数据,避免网络数据传输阻塞。实现本专利技术的思路是:通过JPEG2000高速解码平台,设计一个具有高速接收码流并对码流进行拆帧处理,即采用循环存储区实时接收高速码流,将高速码流拆分成独立的帧码流,以实时从存储区中取出完整的每帧码流,再分配给CPU中空闲核进行解码,通过缓冲区中的空闲地址继续接收高速的码流,从而实现码流的实时接收和实时处理。为实现上述目的,本专利技术的技术方案包括如下:(1)将网络码流写入高速解码平台存储区:(1a)初始化高速解码平台存储区的各个指针:设第一指针pS为码流存储区的起始位置指针,第二指针pE为码流存储区的终止位置指针,第三指针pW为码流存储区可写入码流的起始位置指针,第四指针pR为码流存储区可读取码流的起始位置指针;初始化时,第三指针pW和第四指针pR都指向码流存储区的起始位置,码流存储区的总长度为T为500M;(1b)接收长度为10M的码流,根据第三指针pW的状态,判断是否将这些最新接收到的码流写入高速解码平台存储区中:如果pW>=pR,分以下三种情况进行操作:若pW+10M<pE,则能将这些最新接收到的码流写入高速解码平台存储区中,且第三指针pW更新为pW’=pW+10M;若pW+10M>pE,(pE-pW)+(pR-pS)>=10M,则能将这些最新接收到的码流写入高速解码平台存储区中,且第三指针pW更新为pW’=(pW-pS+10M)%T+pS;若pW+10M>pE,(pE-pW)+(pR-pS)<10M,则不能将这些最新接收到的码流写入高速解码平台存储区中,第三指针不更新,等待10ms后继续进行判断。如果pW<pR,以下分两种情况进行操作:若pW+10M<=pR,则能将这些最新接收到的码流写入高速解码平台存储区中,此时将第三指针pW更新为pW’=pW+10M;若pW+10M<=pR,则不能将这些最新接收到的码流写入高速解码平台存储区中,程序进入等待状态,等待10ms后继续进行判断。所述10M大小的码流数据是由很多帧JPEG2000数据图像组成;(2)根据第四指针pR的状态,判断是否能从码流存储区读出10M大小码流:如果pR<pW’,分以下两种情况进行判断:若pR+10M<=pW’,则能从码流存储区读出10M大小的码流;若pR+10M>pW’,则不能从码流存储区读出10M大小的码流,等待10ms后继续进行判断;如果pR>=pW’,分以下2种情况进行判断:若pR+10M<pE,且(pE-pR)+(pW’-pS)>=10M,则能从码流存储区读出10M大小的码流;若pR+10M<pE,且(pE-pR)+(pW’-pS)<10M,则不能从码流存储区读出10M大小的码流,等待10ms后继续进行判断;(3)将读出的10M大小的码流拆分为每一帧JPEG2000图像数据,并将拆分后的数据送入待解码链表;(4)高速解码平台中的空闲核从待解码链表中取出图像数据进行解码,完成网络码流的实时接收。本专利技术与现有技术相比较,具有如下优点:第一,本专利技术利用循环存储区,能实时接收码流并对其进行处理,避免了网络数据传输阻塞。第二,本专利技术采用循环存储方式,能节省内存空间的开销。第三,本专利技术实时接收数据实时处理数据,与传统解码系统先接收再处理相比,大大减少了延时。附图说明图1是本专利技术的实现流程图。具体实施方式下面结合附图1对本专利技术的实现步骤做详细的描述。步骤1.初始化码流存储区的各个指针。码流存储区共有四个指针,设第一指针pS为码流存储区的起始位置指针,第二指针pE为码流存储区的终止位置指针,第三指针pW为码流存储区可写入码流的起始位置指针,第四指针pR为码流存储区可读取码流的起始位置指针;在高速解码平台的内存空间中申请大小为500M的内存空间用于存储接收到的数据,初始化时,第一指针pS指向内存空间的起始位置,第二指针pE指向内存空间的结束位置,第三指针pW指向内存空间的起始位置,第四指针pR指向内存空间的起始位置,码流存储区的大小T为500M。步骤2.根据第三指针pW的状态将最新接收到的码流写入码流存储区中。每次接收到10M大小的码流后,将第三指针pW的数值与第四指针pR的数值进行比较,判断是否将这些最新接收到的码流写入码流存储区中:如果pW>=pR,分三种情况进行操作:第一种情况,pW+10M<=pE,即从第三指针pW的位置开始到第二指针pE的位置之间有足够的空闲区域可以存放接收到的10M大小的码流,此时将10M大小的码流从第三指针pW位置开始依次写入码流存储区中,并将第三指针pW更新为pW’=pW+10M;第二种情况,pW+10M>pE,且(pE-pW)+(pR-pS)>=10M,即虽然从第三指针pW的位置开始到第二指针pE的位置没有足够的空闲区域可以存放接收到的10M大小的码流,但通过采用循环存储的方式,只要从第三指针pW的位置开始到第二指针pE的位置和从第一指针pS到第四指针pR之间的空闲区域的总长度大于等于10M,这些新接收到的码流就可以写入码流存储区中,只是此时,部分先接收到的码流存放在码流存储区最后面的空闲区域中,部分后接收到的码流存放在码流存储区最前部的空闲区域中本文档来自技高网...

【技术保护点】
基于高速解码平台的网络码流实时接收方法,包括:(1)将网络码流写入高速解码平台存储区:(1a)初始化高速解码平台存储区的各个指针:设第一指针pS为码流存储区的起始位置指针,第二指针pE为码流存储区的终止位置指针,第三指针pW为码流存储区可写入码流的起始位置指针,第四指针pR为码流存储区可读取码流的起始位置指针;初始化时,第三指针pW和第四指针pR都指向码流存储区的起始位置,码流存储区的总长度为T为500M;(1b)接收长度为10M的码流,根据第三指针pW的状态,判断是否将这些最新接收到的码流写入高速解码平台存储区中:如果pW>=pR,分以下三种情况进行操作:若pW+10M<pE,则能将这些最新接收到的码流写入高速解码平台存储区中,且第三指针pW更新为pW’=pW+10M;若pW+10M>pE,(pE‑pW)+(pR‑pS)>=10M,则能将这些最新接收到的码流写入高速解码平台存储区中,且第三指针pW更新为pW’=(pW‑pS+10M)%T+pS;若pW+10M>pE,(pE‑pW)+(pR‑pS)<10M,则不能将这些最新接收到的码流写入高速解码平台存储区中,第三指针不更新,等待10ms后继续进行判断。如果pW<pR,以下分两种情况进行操作:若pW+10M<=pR,则能将这些最新接收到的码流写入高速解码平台存储区中,此时将第三指针pW更新为pW’=pW+10M;若pW+10M<=pR,则不能将这些最新接收到的码流写入高速解码平台存储区中,程序进入等待状态,等待10ms后继续进行判断。所述10M大小的码流数据是由很多帧JPEG2000数据图像组成;(2)根据第四指针pR的状态,判断是否能从码流存储区读出10M大小码流:如果pR<pW’,分以下两种情况进行判断:若pR+10M<=pW’,则能从码流存储区读出10M大小的码流;若pR+10M>pW’,则不能从码流存储区读出10M大小的码流,等待10ms后继续进行判断;如果pR>=pW’,分以下2种情况进行判断:若pR+10M<pE,且(pE‑pR)+(pW’‑pS)>=10M,则能从码流存储区读出10M大小的码流;若pR+10M<pE,且(pE‑pR)+(pW’‑pS)<10M,则不能从码流存储区读出10M大小的码流,等待10ms后继续进行判断;(3)将读出的10M大小的码流拆分为每一帧JPEG2000图像数据,并将拆分后的数据送入待解码链表;(4)高速解码平台中的空闲核从待解码链表中取出图像数据进行解码,完成网络码流的实时接收。...

【技术特征摘要】
1.基于高速解码平台的网络码流实时接收方法,包括:
(1)将网络码流写入高速解码平台存储区:
(1a)初始化高速解码平台存储区的各个指针:
设第一指针pS为码流存储区的起始位置指针,第二指针pE为码流存储区的终止位置
指针,第三指针pW为码流存储区可写入码流的起始位置指针,第四指针pR为码流存储
区可读取码流的起始位置指针;
初始化时,第三指针pW和第四指针pR都指向码流存储区的起始位置,码流存储区
的总长度为T为500M;
(1b)接收长度为10M的码流,根据第三指针pW的状态,判断是否将这些最新接收
到的码流写入高速解码平台存储区中:
如果pW>=pR,分以下三种情况进行操作:
若pW+10M<pE,则能将这些最新接收到的码流写入高速解码平台存储区中,且第三指
针pW更新为pW’=pW+10M;
若pW+10M>pE,(pE-pW)+(pR-pS)>=10M,则能将这些最新接收到的码流写入高速
解码平台存储区中,且第三指针pW更新为pW’=(pW-pS+10M)%T+pS;
若pW+10M>pE,(pE-pW)+(pR-pS)<10M,则不能将这些最新接收到的码流写入高速
解码平台存储区中,第三指针不更新,等待10ms后继续进行判断。
如果pW<pR,以下分两种情况进行操作:
若pW+10M<=pR,则能将这些最新接收到的码流写入高速解码平台存储区中,此时将
第三指针pW更新为pW’=pW+10M;
若pW+10M<=pR,则不能将这些最新接收到的码流写入高速解码平台存储区中,程序
进入等待状态,等待10ms后继续进行判断。
所述10M大小的码流数据是由很多帧JPEG2000数据图像组成;
(2)根据第四指针pR的状态,判断是否能从码流存储区读出10...

【专利技术属性】
技术研发人员:张静牛高阳李云松袁文頔
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1