一种基于fc-av协议的提高ddr2带宽利用率的接收视频数据存储方法

文档序号:9790973阅读:529来源:国知局
一种基于fc-av协议的提高ddr2带宽利用率的接收视频数据存储方法
【技术领域】
[0001 ]本发明属于计算机硬件技术,涉及一种基于FC-AV协议的提高DDR2带宽利用率的接收视频数据存储方法。
【背景技术】
[0002]FC-AV协议定义了视频数据到FC(光纤通道)的映射办法,在从FC网络接收还原视频数据并显示输出时,一般需要采用DDR2存储器作为接收视频数据的缓存,在向DDR2存储器存放视频数据时,传统的存储方法是按地址递增依次存储整帧视频数据,该方法导致向DDR2存储视频数据的写操作和从DDR2读取视频数据的读操作这两种操作在大部分时间里都是针对DDR2的同一逻辑bank进行,当对DDR2的读、写操作同时进行时,根据DDR2的页面管理原理,这时DDR2的带宽利用率非常低。

【发明内容】

[0003]为解决【背景技术】中存在的上述DDR2带宽利用率低的问题,本发明提供一种简单易行、应用广泛的提高DDR2带宽利用率的存储方法。
[0004]本发明提供的一种基于FC-AV协议的提高DDR2带宽利用率的接收视频数据存储方法,其特殊之处在于:该方法包括以下步骤:
[0005]I)将DDR2存储器的每个逻辑bank分为一个数据缓存区,每个缓存区可存放一帧接收视频数据;
[0006]2)每一帧接收视频数据写入DDR2存储器时,按逻辑bank顺序轮换存放在数据缓冲区。
[0007]上述步骤2)的具体步骤如下:
[0008]2.1)通过写指针来指示DDR2中存储的视频帧数量;当向DDR2写完一帧视频数据后,与指针加一;
[0009]2.2)当所有缓存区均存储有一帧视频数据后,写指针回到零,从第O个缓存区覆盖存储新的一帧视频数据。
[0010]该方法还包括步骤3)读取视频数据;其具体步骤如下:
[0011]3.1)当DDR2中存储有一帧完整的视频数据时,开始从DDR2中读取一帧视频数据,
[0012]3.2)读完一帧视频数据后,判断下一个缓存区是否有一帧完整的视频数据,如果没有,则指针不变,继续重新读取原缓存区的一帧视频数据;如果有,则指针加一,读取下一个缓冲区的一帧视频数据。
[0013]读取DDR2中缓冲区的视频数据的速度大于等于视频数据写入DDR2中缓冲区的速度。
[0014]本发明提供的一种基于FC-AV协议的提高DDR2带宽利用率的接收视频数据存储方法通过接收视频数据以视频帧为单位在DDR2存储器中以逻辑bank顺序轮换存储,使得向DDR2存储视频数据的写操作和从DDR2读取视频数据的读操作这两种操作始终都是针对DDR2的不同逻辑bank进行,当对DDR2的读、写操作同时进行时,根据DDR2的页面管理原理,这时DDR2的带宽利用率非常高。
【附图说明】
:
[0015]图1为基于FC-AV协议的接收视频电路结构图;
[0016]图2为接收视频数据在DDR2中的存储示意图。
【具体实施方式】
[0017]下面结合附图和实施例对本发明做进一步说明:
[0018]参见图1和图2,本发明提供的基于FC-AV协议的提高DDR2带宽利用率的接收视频数据存储方法,其接收视频数据以视频帧为单位在DDR2存储器中以逻辑bank顺序轮换存储。包括以下步骤:
[0019]I)将DDR2存储器的每个逻辑bank分为一个数据缓存区,每个缓存区可存放一帧接收视频数据;
[0020]2)每一帧接收视频数据写入DDR2存储器时,按逻辑bank顺序轮换存放在数据缓冲区。
[0021]2.1)通过写指针来指示DDR2中存储的视频帧数量;当向DDR2写完一帧视频数据后,与指针加一;
[0022]2.2)当所有缓存区均存储有一帧视频数据后,写指针回到零,从第O个缓存区覆盖存储新的一帧视频数据。
[0023]3)读取视频数据;
[0024]3.1)当DDR2中存储有一帧完整的视频数据时,开始从DDR2中读取一帧视频数据,
[0025]3.2)读完一帧视频数据后,判断下一个缓存区是否有一帧完整的视频数据,如果没有,则指针不变,继续重新读取原缓存区的一帧视频数据;如果有,则指针加一,读取下一个缓冲区的一帧视频数据。
[0026]读取DDR2中缓冲区的视频数据的速度大于等于视频数据写入DDR2中缓冲区的速度。
[0027]下面通过举例对本发明做进一步详细说明。
[0028]参见图2,以DDR2存储器有4个逻辑bank,要接收的视频其分辨率为1600x1200为例,该视频一帧有1200行,每行1600个像素,每个像素3个字节,即每帧视频数据共有5.76兆字节。每个逻辑bank至少可以存16兆字节,一个逻辑bank即一个数据缓冲区,共4个逻辑bank,即有4个数据缓冲区,每个数据缓冲区能存放一帧视频数据。
[0029]每一帧接收视频数据写入DDR2存储器时,按逻辑bank顺序轮换存放在数据缓冲区,即第一帧视频数据存放在逻辑bankO中,第二帧视频数据存放在逻辑bankl中,第三帧视频数据存放在逻辑bank2中,第四帧视频数据存放在逻辑bank3中,第五帧视频数据存放在逻辑bankO中原视频数据存放的位置,即覆盖原视频数据,依次类推,视频数据以帧为单位在4个逻辑bank中按顺序轮换存储。
[0030]按照上述存储方法存放接收视频数据,接收视频数据写入DDR2中,和从DDR2中读取视频数据,都是针对DDR2的不同逻辑bank进行,根据DDR2的页面管理原理,每个逻辑bank在同一时间能且只能打开一个页面,即每个逻辑bank只能打开一行地址,因此对DDR2同时写入、读取视频数据时,不存在页面冲突,故DDR2的带宽利用率最高。
[0031]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种基于FC-AV协议的提高DDR2带宽利用率的接收视频数据存储方法,其特征在于:该方法包括以下步骤: 1)将DDR2存储器的每个逻辑bank分为一个数据缓存区,每个缓存区可存放一帧接收视频数据; 2)每一帧接收视频数据写入DDR2存储器时,按逻辑bank顺序轮换存放在数据缓冲区。2.根据权利要求1所述的基于FC-AV协议的提高DDR2带宽利用率的接收视频数据存储方法,其特征在于:所述步骤2)的具体步骤如下: 2.1)通过写指针来指示DDR2中存储的视频帧数量;当向DDR2写完一帧视频数据后,写指针加一; 2.2)当所有缓存区均存储有一帧视频数据后,写指针回到零,从第O个缓存区覆盖存储新的一帧视频数据。3.根据权利要求2所述的基于FC-AV协议的提高DDR2带宽利用率的接收视频数据存储方法,其特征在于:该方法还包括步骤3)读取视频数据;其具体步骤如下: 3.1)当DDR2中存储有一帧完整的视频数据时,开始从DDR2中读取一帧视频数据, 3.2)读完一帧视频数据后,判断下一个缓存区是否有一帧完整的视频数据,如果没有,则指针不变,继续重新读取原缓存区的一帧视频数据;如果有,则指针加一,读取下一个缓冲区的一帧视频数据。4.根据权利要求1或2或所述的基于FC-AV协议的提高DDR2带宽利用率的接收视频数据存储方法,其特征在于:读取DDR2中缓冲区的视频数据的速度大于等于视频数据写入DDR2中缓冲区的速度。
【专利摘要】本发明涉及一种基于FC-AV协议的提高DDR2带宽利用率的接收视频数据存储方法。该方法包括以下步骤:1)将DDR2存储器的每个逻辑bank分为一个数据缓存区,每个缓存区可存放一帧接收视频数据;2)每一帧接收视频数据写入DDR2存储器时,按逻辑bank顺序轮换存放在数据缓冲区。本发明通过按视频帧在DDR2中以逻辑bank的顺序轮换存储,解决了对DDR2同时读写数据时的页面冲突问题,最大程度的提高了DDR2的带宽利用率。
【IPC分类】H04N21/44, H04N5/76, H04N21/433, H04L12/863
【公开号】CN105553878
【申请号】CN201510925648
【发明人】刘承禹, 王婷, 卢俊, 刘浩, 张玲
【申请人】中国航空工业集团公司西安航空计算技术研究所
【公开日】2016年5月4日
【申请日】2015年12月11日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1