HD2AV_F3B

HD2AV_F3B文档内容:循环存储器的编写,每一行的像素输入进行存储,再依据目标像素所在行进行相应的读取。工程中会开辟一定空间的RAM用于存储,但是以一个循环的顺序去读写换时间节点:2014/12/20~2014/12/22一、循环RAM循环RAM即为一个循环读写的存储模块,数据填充满存储区间之后再从头接写入覆盖原有的存储空间。文档HD2AV_F3A中…

大家好,又见面了,我是你们的朋友全栈君。

文档内容:循环存储器的编写,每一行的像素输入进行存储,再依据目标像素所在行进行相应的读取。工程中会开辟一定空间的RAM用于存储,但是以一个循环的顺序去读写换

时间节点:2014/12/20~2014/12/22

 

 

 

 

一、   循环RAM

    循环RAM即为一个循环读写的存储模块,数据填充满存储区间之后再从头接写入覆盖原有的存储空间。

    文档HD2AV_F3A中我们知道会在某一特定时刻进行读取操作,而且需要同时读取4行的数据,而视频的数据又是持续写入的,所以我们至少需要5个RAM来组成一个循环的RAM。这样实现一个RAM写入数据的同时4个RAM读出数据。在C语言中实现存储空间的切换可以通过指针来较为方便的实现,可是FPGA中就有其特殊性,例如一个单口RAM,只含有写使能信号、数据输入输出、地址线与时钟。这个时候就需要根据外接的输入变量来进行相应的特殊操作,输入变量包括HD2AV_F3A中提到的读使能等信号,具体的关于它的实现会在第四章的文档中讲述,本文档只讲述存储策略。

二、视频信号处理的行存储策略

    视频信号一行一行的,一个像素一个像素的传输,设定五个RAM作为LineBuf。第一行存入LineBuf0、第二行存入LineBuf1….第六行覆盖存入LineBuf0。写入的操作每个周期都在进行着,而读取操作则要视外界的读使能信号而定,因为只有产生了目标信号行,有计算需求了,才会进行读的操作,而且是一次性的读出4个LineBuf里面的像素值。相应的示意图如下所示:

 HD2AV_F3B

    AdvanceWrite变量控制着写入数据在不同LineBuf之间切换,AdvanceRead控制着数据什么时候读出,即右侧的红色线条,当AdvanceRead有效的时候,读取4个LineBuf中的数据,当下一次AdvanceRead有效时,读取另外4个LineBuf的数据。

    在上一个文档中的分数倍采样率变换中会产生读使能信号AdvanceWrite以及写使能信号AdvanceRead,具体关于如何通过这两个使能信号实现目的数据计算所需的4个源数据YCbCr_ReadData0/1/2/3会在第四章节中讲述。

 

转载于:https://www.cnblogs.com/sunxuxu/p/4204098.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157579.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WebForm的Grid页面页脚DropDownList事件[通俗易懂]

    WebForm的Grid页面页脚DropDownList事件[通俗易懂]帖子http://community.csdn.net/Expert/topic/3506/3506615.xml?temp=.5394251中,提到了一个很有意思的问题。【我的datagrid的页脚有一个dropdownload控件,如果是一个BUTTON按钮的话,可以在datagrid的DG_Card_ItemCommand事件里来响应BUTTON按钮的事件,e.CommandName==

    2022年9月11日
    0
  • js中splice方法_js截取字符串指定字符之后的部分

    js中splice方法_js截取字符串指定字符之后的部分参考:http://www.w3school.com.cn/jsref/jsref_splice.asp如果从arrayObject中删除了元素,则返回的是含有被删除的元素的数组。 vara=[1,2,3];a=a.splice(2,1);//这样写就错了a.splice(2,1);//正确…

    2022年9月16日
    0
  • 解码Base64并展示图片

    解码Base64并展示图片Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在JavaPersistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和

    2022年7月13日
    14
  • centos镜像下载,镜像站使用

    centos镜像下载,镜像站使用通常Linux发行版都有自己的官网。不过下载速度快慢不一。可以选择镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/清华https://mirrors.ustc.edu.cn/中科大还有阿里云镜像站例如:需要下载centos6.1首先访问清华镜像,找到centos找到6.10后,发现只有一个readme文件,下载打开查看,是说已…

    2022年5月13日
    39
  • JVM 优化经验总结

    JVM 优化经验总结一、JVM架构图1.JVM总体概述JVM总体上是由类装载子系统(ClassLoader)、运行时数据区、执行引擎、内存回收这四个部分组成。其中我们最为关注的运行时数据区,也就是JVM的内存部分则是由方法区(MethodArea)、JAVA堆(Heap)、虚拟机栈(Stack)、程序计数器、本地方法栈这几部分组成;除此以外,在概念中还有一个直接内存的概念,事实上这部分内存并不属于虚拟机规范中定义的内存区域,但是因为在JDK1.4+后新加的NIO类,以及JDK1.8+后的Metaspace的关系,所

    2022年5月6日
    47
  • 解决SqlTransaction用尽的问题(SQL处理超时)

    解决SqlTransaction用尽的问题(SQL处理超时)有时候程序处理的数据量比较小时,四平八稳,一切安然无恙,但数据量一大,原先潜伏的问题就暴露无遗了。原访问数据库的代码为: 1SqlConnection conn = new SqlConnection(strConn); 2conn.Open(); 3SqlTransaction trans = conn.BeginTransaction(); 4try 5{ 6    CEngine.Exe…

    2022年5月18日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号