一种对三路高分辨率视频流进行叠加的系统和方法_3

文档序号:8907826阅读:来源:国知局
同时对同步FIFO中的数 据计数,该计数值与主控制器模块1配置的视频格式参数相比较生成指示信号通知访问仲 裁单元; 2、 发送数据通道42,该模块是接收数据通道41的镜像模块。其包括几个逻辑块,跨时 钟域的异步FIFO;保存数据的同步FIFO和其相应的FIFO中数据个数计数器,该计数器是 为了指示发送接收仲裁模块数据保存FIFO中的数据量小于一个显示线的数据,需要启动 一次读操作;以及作并串转化的移位寄存器; 3、访问总裁单元43,本发明的存储器组是读写复用的,前面已经提到了每次发送接收 的数量都是一个显示线的数据。发送接收通道42中分别有一个做缓存的同步FIFO,每个 FIFO中能够保存的数据量是两个显示线的数据。当接收数据通道41里的FIFO中的数据大 于一个显示线的数据时,请求做一次写操作,同理当发送数据通道42里的FIFO中的数据小 于一个显示线的数据的时候,请求做一次读操作。接收发送仲裁负责当同时收到发送接收 操作指示的时候,仲裁具体做哪个操作。
[0028] 在本发明中访问仲裁单元43采用一个有限状态机实现,各个状态的定义如下: S0 :空闲状态,当写入数据还没准备好或读出的数据还没有被取走的情况下处于该状 态; S1:仲裁状态,在该状态下完成仲裁操作,其优先级为写入优先,这是因为写入不能及 时处理会导致数据丢失,并且发送数据通道有数据预取机制,读取延时是可接受的。在该状 态下,如果收到接受数据通道数据缓存满了一行指示信号就跳到S2状态,如果收到发送数 据通道数据缓存中数据量已经小于一行了就跳到S3状态; S2 :写数据状态,进入该状态之后,启动一次写操作,会把保存在接收数据通道同步FIFO中的数据写入到存储器组中,写操作完成之后跳到S4状态; S3:读数据状态,进入该状态之后,启动一次读操作,会从存储器组中读出一行的数据 保存在发送数据通道的数据保存FIFO中,读操作完成之后跳到S4状态; S4 :等待状态,读写操作完成之后进入该状态等待20个周期,这是因为从读命令被高 性能DDR控制器接收,到读出有效数据会有17个周期的延时,加上该状态以确保操作完成。 等待时间结束之后跳到S0状态执行下一次的仲裁操作。
[0029] 五、数据处理模块5,本模块完成的功能包括:1)根据输入VGA信号的侦测状态,确 定是否将数据通路的输入置零;2)根据输入的视频格式选择分辨率最大的一路作为背景分 辨率;3)以背景分辨率为基础,计算像素点的坐标;4)以各通道的混叠位置信息为基础,计 算当前像素点对应在原始输入图像上的坐标;5)确定当前像素要使用的alpha混叠系数。
[0030] 该模块处理过程包括以下步骤: 步骤1 :当视频预处理模块2完成对输入VGA信号的检测以后,会通知主控制器模块1。 主控制器模块1据此完成对输入检测值的设定,并通过设置请求信号通知数据处理模块5。 此时数据处理模块5根据输入检测结果,进入配置状态,并根据当前通道检测信号和通道 视频格式的值刷新整个系统; 步骤2 :当发送接口引擎6告知数据处理模块5开始工作以后,数据处理模块5开始以 背景分辨率为参照计算当前处理的像素坐标,并根据各通道的混叠位置信息确定三个的信 息:1)是否需要向各通道读取数据;2)要读取的数据的坐标;3)当前像素的alpha混叠系 数; 步骤3 :数据处理模块5负责将从前同步单元3和内存控制器模块4中读出的前景和 背景数据混叠在一起; 步骤4 :对处理之后的数据附上地址信息传给发送接口引擎6发送。
[0031] 具体来讲,整个数据处理模块5由一个状态机控制,各个状态的定义如下: 51 :空闲状态,在主控制器模块1启动操作之前状态机位于该状态; 52 :配置状态,在该状态下,主控制器模块1会通知数据处理模块5当前输入检测的结 果,包括是否存在输入信号,输入信号的格式,数据处理模块5会根据这些信息映射三个输 入通道到三个处理通道,配置完成之后进入S3 ; 53 :处理状态,在该状态下,数据处理模块5会负责处理对应屏幕上的一条线的数据, 处理完成之后进入S4 ; 54 :处理等待状态,当处理完成一行之后状态机进入该状态等待前同步单元3和内存 控制器模块4数据准备好,数据准备好之后状态机跳到S3。
[0032] 在数据处理模块5中,最重要的是混叠模块,其详细结构如图4所示。图中通道B (ChB)和通道C (ChC)的数据会做系数混叠,再将结果与通道A (ChA)输入的数据做颜色嵌 位混叠。当某一个通道没有检测到输入的时候,需要在混叠模块的输入端将这一路的数据 置零。混叠输出端有一个移位寄存器用于补偿数据处理过程中的增益,当只有一路输入信 号的时候,需要左移2位,当有两路输入信号的时候,需要左移1位。当有三路输入信号的 时候,不需要移动。
[0033] 图中位置比特(Loc_Bits)标明了图像混叠的位置。对于ChA和ChB需要根据其混 叠位置信息和正在处理的像素位置信息产生对应位置指示信息。Loc_Bits的生成方法如图 5所示。其电路的处理方式为:在数据处理模块中有列位置寄存器(C〇〇r_X)和行位置寄存 器(C〇〇r_Y)用以跟踪处理位置;把这两个寄存器与混叠位置范围寄存器(Loc_A_X,Loc_ A_Y)进行比较可以判断出像素点是否位于混叠位置内。对需要混叠的两路信号都做同样的 处理之后把结果组合就得到了位置比特。图中用于选择A通道数据的数据选择模块(Data Select)、用于选择通道B混叠系数的Alpha系数选择模块B (Alpha Selector B)和用于 选择通道C混叠系数的Alpha系数选择模块C (Alpha Selector C)使用该位置比特选择 混叠处理的alpha系数和通道A的数据。
[0034] Loc_Bits的含义和选择结果如下表所示:
使用如图4所示的架构,整个数据处理单元使用了 48个9x9的乘法器,这些处理单元 组成三级流水的结构,在资源利用率和处理速度上做到了很好的平衡。
[0035] 六、发送接口引擎6,本模块作用是根据配置的输出参数,生成相应的像素点时钟、 行同步和场同步信号,与视频数据一起送入外置DA芯片103进行数模转换之后形成标准的 VGA接口信号进行显示。其电路结构如图6所示,图中最主要的是控制用于数据缓存的读 写操作,图左边两个信号(dpu2sie_pos_x,dpu2sie_pos_y)来自于数据处理模块5处理之 后的数据附带的位置信息,组合这两个位置生成写地址,图右边两个信号(C〇〇r_X,C〇〇r_Y) 为发送接口引擎6中的发送位置计数器,组合这两个计数器的值生成读地址,读出的数据 经过并串转换模块串行化之后输出到DA芯片103。处理计数器根据配置的输出格式产生行 同步和场同步信号。在发送接口引擎6中处理位置计数器包括处理列计数器和处理行计数 器,其计数的开始位置为场同步信号的下降沿,并且本发明输出的行同步信号和场同步信 号都是低电平有效的: 1) if(处理列计数器〉行前肩and处理列计数器〈=行前肩+行消隐) 行同步信号=〇; else 行同步信号=1; 2) if(处理行计数器>0and处理行计数器〈=场消隐) 场同步信号=〇; else 场同步信号=1; 行同步信号和场同步信号的计算方式如1)、2)所示。
[0036] 七、高性能DDR控制器模块7,本模块完成实际的DDR读写访问。其中: 1、 初始化模块71,该模块完成DDR的初始化操作。包括上电后的空命令、预充电、设置 扩展模式寄存器、设置寄存器、预充电、两个自刷新操作。并且当正常操作过程中,如果出现 DDR访问不正确,主控制器模块1可重启该初始化过程; 2、 相位校准模块72,具体来讲就是对每一种数据采样相位用一组标准的测试向量对 DDR进行读写操作,把读回来的数据与原始数据比较,其中校准的精度可通过寄存器设置, 最小精度为5度。其中标准的测试向量包括:全0,全1,5A5A和A5A5四种数据。并且可同 通过主控制器模块1设置是否在系统正常操作的空隙时
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1