视频格式转换方法及其装置、现场可编程门阵列与流程

文档序号:16247448发布日期:2018-12-11 23:42阅读:212来源:国知局
视频格式转换方法及其装置、现场可编程门阵列与流程

本发明涉及图像处理技术领域,尤其涉及视频格式转换方法及其装置、现场可编程门阵列。

背景技术

随着显示技术的发展,显示装置显示的图像清晰度也越来越高,显示装置的分辨率达到4k可以实现超高清图像的显示,4k指分辨率可以达到3840*2160。

对于4k的显示装置而言,其视频格式也有多种,较为典型的,视频格式为1920*1080或者960*2160,当显示装置接收的视频格式与其需要的视频格式不同时,或者不同系统之间相互通信时,需要对视频格式进行转换。

在进行视频格式转换时,可采用现场可编程门阵列fpga((fieldprogrammablegatearray,简称fpga)实现,由于4k视频的数据量较大,通常需要外接双倍速率同步动态随机存储器(doubledataratesynchronousdynamicrandomaccessmemory,简称ddrsdram),也可以称为ddr,ddr用于对接收到的多帧画面的视频信号首先进行缓存,fpga可从ddr中获取缓存的视频信号,再进行视频格式的转换。

ddr为外接存储器,通过其对视频进行缓存会带来较大的延迟,因此会影响显示画面的流畅性。



技术实现要素:

本发明提供一种视频格式转换方法及其装置、现场可编程门阵列,以解决相关技术中的不足。

根据本发明实施例的第一方面,提供一种视频格式转换方法,应用于现场可编程门阵列fpga,该方法包括:

基于接收到的多幅第一格式图像中的各行像素点数据确定各幅第二格式图像中的各行像素点数据;

将各幅所述第二格式图像中的每多行像素点数据依次分别缓存至fpga中的各片上存储器中;

将各所述片上存储器依次输出的各行像素点数据转换成与图像接收接口匹配的格式后输出至外部设备。

可选的,所述基于接收到的多幅第一格式图像中的各行像素点数据确定各幅第二格式图像中的各行像素点数据,包括:

基于接收到的第一幅第一格式图像中的第n行像素中的第1至第m个像素点数据和第二幅第一格式图像中的第n行像素中的第1至第m个像素点数据确定第一幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第1至第m个像素点数据和第四幅第一格式图像中的第n行像素中的第1至第m个像素点数据确定第一幅第二格式图像中的第2n行像素点数据;

基于接收到的第一幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据和第二幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据确定第二幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据和第四幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据确定第二幅第二格式图像中的第2n行像素点数据;

基于接收到的第一幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据和第二幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据确定第三幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据和第四幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据确定第三幅第二格式图像中的第2n行像素点数据;

基于接收到的第一幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据和第二幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据确定第四幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据和第四幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据确定第四幅第二格式图像中的第2n行像素点数据;

其中,n和m均为大于等于1正整数。

可选的,所述将各幅所述第二格式图像中的每多行像素点数据依次分别缓存至fpga中的各片上存储器中,包括:

依次将各幅第二格式图像中的第2n-1行像素点数据和第2n行像素点数据分别缓存至fpga中的一片上存储器中;

依次将各幅第二格式图像中的第2n+1行像素点数据和第2n+2行像素点数据分别缓存至fpga的一片上存储器中,其中,n为大于等于1正整数。

可选的,所述将各所述片上存储器依次输出的各行像素点数据转换成与接入接口匹配的格式后输出,包括:

根据选择输出控制信号依次控制各所述片上存储器的输出通路打开,以依次输出各行像素点数据;

将输出的各行像素点数据转换成与图像接收接口匹配的格式后输出至外部设备。

可选的,还包括:

将接收到的第一格式的时序控制信号转换成第二格式的时序控制信号;

将所述第二格式的时序控制信号转换成与图像接收接口匹配的格式后输出外部设备。

根据本发明实施例的第二方面,提供一种视频格式转换其装置,应用于现场可编程门阵列fpga,其特征在于,该装置包括:

第二格式图像确定单元,用于基于接收到的多幅第一格式图像中的各行像素点数据确定各幅第二格式图像中的各行像素点数据;

数据缓存单元,用于将各幅第二格式图像中的每多行像素点数据依次分别缓存至fpga中的各片上存储器中;

数据输出单元,用于将各所述片上存储器依次输出的各行像素点数据转换成与接入接口匹配的格式后输出。

可选的,所述第二格式图像确定单元具体用于:

基于接收到的第一幅第一格式图像中的第n行像素中的第1至第m个像素点数据和第二幅第一格式图像中的第n行像素中的第1至第m个像素点数据确定第一幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第1至第m个像素点数据和第四幅第一格式图像中的第n行像素中的第1至第m个像素点数据确定第一幅第二格式图像中的第2n行像素点数据;

基于接收到的第一幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据和第二幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据确定第二幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据和第四幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据确定第二幅第二格式图像中的第2n行像素点数据;

基于接收到的第一幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据和第二幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据确定第三幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据和第四幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据确定第三幅第二格式图像中的第2n行像素点数据;

基于接收到的第一幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据和第二幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据确定第四幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据和第四幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据确定第四幅第二格式图像中的第2n行像素点数据;

其中,n和m均为大于等于1正整数。

可选的,所述数据输出单元包括:

多路选择器,用于根据选择输出控制信号控制各所述片上存储器的输出通路依次打开,以依次输出各行像素点数据;

格式转换单元,用于将输出的各行像素点数据转换成与图像接收接口匹配的格式后输出至外部设备。

可选的,还包括:

时序信号转换单元,用于将接收到的第一格式的时序控制信号转换成第二格式的时序控制信号;

所述格式转换单元还用于将所述第二格式的时序控制信号转换成与图像接收接口匹配的格式后输出外部设备。

根据本发明实施例的第三方面,提供一种现场可编程门阵列,包括上述任一项所述的视频格式转换装置。

根据上述实施例可知,该视频格式转换方法,可将第一格式图像转换成第二格式图像,其利用fpga的片上存储器对各幅第二格式图像中的各行像素点数据依次进行缓存,与通过外部存储器缓存方式相比,片上存储器的写入和读取速度快,因此,可减小延迟,提高显示画面的流畅性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据本发明一示例性实施例示出的视频格式转换方法的工作流程图;

图2是根据本发明一示例性实施例示出的由4幅第一格式图像组成的4k图像和由4幅第二格式图像组成的4k图像的示意图;

图3是根据本发明一示例性实施例示出的视频格式转换装置的方框图;

图4是根据本发明一示例性实施例示出的视频格式转换装置的结构示意图;

图5是根据本发明一示例性实施例示出的视频格式转换装置的部分结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

本发明提供一种视频格式转换方法,应用于现场可编程门阵列fpga,如图1所示,该方法包括:

步骤s10、基于接收到的多幅第一格式图像中的各行像素点数据确定各幅第二格式图像中的各行像素点数据;

步骤s20、将各幅第二格式图像中的每多行像素点数据依次分别缓存至fpga中的各片上存储器中;

步骤s30、将各片上存储器依次输出的各行像素点数据转换成与接入接口匹配的格式后输出外部设备。

现场可编程门阵列fpga(fieldprogrammablegatearray,简称fpga),是一种可编程器件,可以根据需要通过可编辑的连接把fpga内部的逻辑单元连接起来,以完成所需要的逻辑功能。

fpga主要包括:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式ram、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块等。

视频由连续的多帧图像组成,视频格式也可以指视频中每一帧图像的格式。

第一格式图像指某一种格式的图像,例如,为图像格式为1920*1080的图像;第二格式图像指不同于第一格式的图像,例如,为图像格式为960*2160的图像。

对于分别率较高的图像,例如,分辨率达到4k的图像,由于其数据量较大,一幅大的图像可由小的多幅图像组成,例如,参照图2所示,对于一幅分辨率为4k的3840*2160的图像,可以由4幅图像格式为1920*1080的第一格式图像组成,该4幅第一格式图像沿水平方向和竖直方向排列成2*2的阵列,组成一幅3840*2160的图像;或者也可以由4幅第二格式图像格式为960*2160的图像组成,该4幅第二格式图像沿水平方向排列成1*4的阵列,也可以组成一幅3840*2160的图像。

可根据多幅第一格式图像中的各行像素点数据确定出各幅第二格式图像中的各行像素点数据,即将第一格式图像转换成第二格式图像,第一格式图像中的像素的行数和列数与第二格式图像中的像素的行数和列数不同,因此,需要进行格式转换,将多幅第一格式图像中的各行像素点数据对应到各幅第二格式图像中,得到各幅第二格式图像中的各行像素点数据,在进行转换时,各像素点数据的值不变,但是像素点数据在第一格式图像中的位置和在第二格式图像中的位置可能会发生变化。

fpga内部具有多块嵌入块式片上存储器,例如,ram,可对数据进行缓存,但是fpga内部的片上存储器容量有限,通常只能缓存几行像素点数据,因此,在对各幅第二格式图像中的各行像素点数据进行缓存时,每次写入若干行像素点数据,读取输出后采用覆盖写入的方式再依次写入另外若干行像素点数据,这样,依次循环,完成对各幅第二格式图像中各行像素点数据的缓存,然后经各片上存储器依次输出各行像素点数据,可获取各幅第二格式图像,多幅第二格式图像可组成分辨率更高的一幅图像。

经片上存储器输出的各行像素点数据可经fpga上的输出接口输出,对于接收该数据的为外部设备(例如显示模组)而言,其上设置有图像接收接口,通过该接口接收图像数据,该接口与fpga的输出接口的格式通常不同,例如,对于接收4k图像的接口而言,通常采用的接口是高清数字显示接口,例如dp(displayport,简称)接口,因此,在将各行像素点数据输出给外部设备之前,需要进行格式转换,转换成与外部设备的图像接收接口匹配的格式后再输出,外部设备据此可显示画面。

由上述描述可知,该视频格式转换方法,可将第一格式图像转换成第二格式图像,其利用fpga的片上存储器对各幅第二格式图像中的各行像素点数据依次进行缓存,与通过外部存储器缓存方式相比,片上存储器的写入和读取速度快,因此,可减小延迟,提高显示画面的流畅性。

在一个可选的实施方式中,上述步骤s20所述的基于接收到的多幅第一格式图像中的各行像素点数据确定各幅第二格式图像中的各行像素点数据,包括:

步骤s21、基于接收到的第一幅第一格式图像中的第n行像素中的第1至第m个像素点数据和第二幅第一格式图像中的第n行像素中的第1至第m个像素点数据确定第一幅第二格式图像中的第2n-1行像素点数据;

步骤s22、基于接收到的第三幅第一格式图像中的第n行像素中的第1至第m个像素点数据和第四幅第一格式图像中的第n行像素中的第1至第m个像素点数据确定第一幅第二格式图像中的第2n行像素点数据;

步骤s23、基于接收到的第一幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据和第二幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据确定第二幅第二格式图像中的第2n-1行像素点数据;

步骤s24、基于接收到的第三幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据和第四幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据确定第二幅第二格式图像中的第2n行像素点数据;

步骤s25、基于接收到的第一幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据和第二幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据确定第三幅第二格式图像中的第2n-1行像素点数据;

步骤s26、基于接收到的第三幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据和第四幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据确定第三幅第二格式图像中的第2n行像素点数据;

步骤s27、基于接收到的第一幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据和第二幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据确定第四幅第二格式图像中的第2n-1行像素点数据;

步骤s28、基于接收到的第三幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据和第四幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据确定第四幅第二格式图像中的第2n行像素点数据;其中,n和m均为大于等于1正整数。

本实施例中,根据四幅第一格式图像中的各行像素点数据确定四幅第二格式图像中的各行像素点数据,得到的四幅第二格式图像可组成分辨率更高的一幅图像。

举例而言,参照图2所示,4幅第一格式图像例如为4幅1920*1080的图像,第二格式图像例如为4幅960*2160的图像,4幅第一格式图像排列成2*2的阵列可组成一幅3840*2160的图像,4幅第二格式图像沿水平方向排列成1*4的阵列,也可以组成一幅3840*2160的图像,每一幅1920*1080的第一格式图像表示水平方向(也即行方向)具有1920个像素点,垂直方向(也即列方向)具有1080个像素点;每一幅960*2160的第二格式图像表示水平方向具有960个像素点,垂直方向具有2160个像素点。

对于如图2所示的由4幅第一格式图像组成的一幅4k图像而言,

4k图像的第1行的第1个像素点为第一幅第一格式图像的第1个像素点;

4k图像的第1行的第2个像素点为第二幅第一格式图像的第1个像素点;

4k图像的第2行的第1个像素点为第三幅第一格式图像的第1个像素点;

4k图像的第2行的第2个像素点为第四幅第一格式图像的第1个像素点;

4k图像的第1行的第3个像素点为第一幅第一格式图像的第2个像素点;

4k图像的第2行的第3个像素点为第二幅第一格式图像的第2个像素点;

依次类推,4k图像的最后一行的最后一个像素点为第四幅第一格式图像的最后1个像素点,四幅第一格式图像可组成一幅4k图像。

对于如图2所示的由4幅第二格式图像组成的一幅4k图像而言,

4k图像的第1行的第1到第960个像素点为第一幅第二格式图像的第1到第960个像素点;

4k图像的第1行的第961到第1920个像素点为第二幅第二格式图像的第960到第1920个像素点;

4k图像的第一行的第1921到2880个像素点为第三幅第二格式图像的第1921到第2880个像素点;

4k图像的第一行的第2881到第3840个像素点为第四幅第二格式图像的第2881到第3840个像素点;

依次类推,4幅第二格式图像可组成一幅4k图像。

第一格式图像在行方向的像素点数量是第二格式图像在行方向的像素点数量的两倍,第一格式图像在列方向的像素点数量是第二格式图像在列方向的像素点数量的二分之一,在根据第一格式图像的各行像素点数据确定第二格式图像中的各行像素点数据时,具体而言,

将第一幅第一格式图像中的第1行的第1至第480个像素点数据和第二幅第一格式图像中的第1行的第1至第480个像素点数据作为第一幅第二格式图像中的第1行的960个像素点数据;

将第三幅第一格式图像中的第1行的第1至第480个像素点数据和第四幅第一格式图像中的第1行的第1至第480个像素点数据作为第一幅第二格式图像中的第2行的960个像素点数据;

将第一幅第一格式图像中的第1行的第481至第960个像素点数据和第二幅第一格式图像中的第1行的第481至第960个像素点数据作为第二副第二格式图像中的第1行的960个像素点数据;

将第三幅第一格式图像中的第1行的第481至第960个像素点数据和第四幅第一格式图像中的第1行的第481至第960个像素点数据作为第二副第二格式图像中的第2行的960个像素点数据;

将第一幅第一格式图像中的第1行的第961至第1440个像素点数据和第二幅第一格式图像中的第1行的第961至第1440个像素点数据作为第三副第二格式图像中的第1行的960个像素点数据;

将第三幅第一格式图像中的第1行的第961至第1440个像素点数据和第四幅第一格式图像中的第1行的第961至第1440个像素点数据作为第三副第二格式图像中的第2行的960个像素点数据;

将第一幅第一格式图像中的第1行的第1441至第1920个像素点数据和第二幅第一格式图像中的第1行的第1441至第1920个像素点数据作为第四副第二格式图像中的第1行的960个像素点数据;

将第三幅第一格式图像中的第1行的第1441至第1920个像素点数据和第四幅第一格式图像中的第1行的第1441至第1920个像素点数据作为第四副第二格式图像中的第2行的960个像素点数据。

上述的n为大于等于1的正整数,n的值例如为1、2、3、4,…..,r,r为第一个格式图像的总行数;m也为大于等于1的正整数,m的值例如为1、2、3、4,…..,s,其中4s为第一格式图像的总列数,4s也就等于第一格式图像中每一行像素具有的像素点的总数量,例如,对于1920*1080的第一格式图像而言,上述r为1080,4s为1920,s等于480。

由上述描述可知,根据4幅第一格式图像中的第1行像素点数据可确定出4幅第二格式图像中的第1行和第2行的像素点数据,根据4幅第一格式图像中的第2行像素点数据可确定出4幅第二格式图像中的第3行和第4行的像素点数据,依次类推,可根据4幅第一格式图像中的每一行像素点数据确定出4幅第二格式图像中的每两行像素点数据,据此,可以得到4幅第二格式图像中所有像素点数据,4幅第二格式图像可以组成一幅分辨率为4k的图像。

在一些例子中,上述步骤s30所述的将各幅第二格式图像中的每多行像素点数据依次分别缓存至fpga中的各片上存储器中,包括:

步骤s31、依次将各幅第二格式图像中的第2n-1行像素点数据和第2n行像素点数据分别缓存至fpga中的一片上存储器中;

步骤s32、依次将各幅第二格式图像中的第2n+1行像素点数据和第2n+2行像素点数据分别缓存至fpga的一片上存储器中。

在采用fpga中的片上存储器缓存各幅第二格式图像中的各行像素点数据时,片上存储器的容量也有限,因此,可采用一个片上存储器每次分别缓存每幅第二格式图像中的一行像素点数据,且片上存储器每次共计缓存多幅第二格式图像中的四行像素点数据。

具体而言,假设有4幅第二格式图像,每个片上存储器每次存储一幅第二格式图像中的1行像素点数据,则需要8个片上存储器分别缓存4幅第二格式图像中的2行像素点数据,例如,第1个片上存储器缓存第一幅第二格式图像中的第1行像素点数据,第2个片上存储器缓存第一幅第二格式图像中的第2行像素点数据,第3个片上存储器缓存第二幅第二格式图像中的第1行像素点数据,第4个片上存储器缓存第二幅第二格式图像中的第2行像素点数据,第5个片上存储器缓存第三幅第二格式图像中的第1行像素点数据,第6个片上存储器缓存第三幅第二格式图像中的第2行像素点数据;第7个片上存储器缓存第四幅第二格式图像中的第1行像素点数据,第8个片上存储器缓存第四幅第二格式图像中的第2行像素点数据。

由上述描述可知,通过输入的4幅第一格式图像的一行像素点数据可确定4幅第二格式图像中的两行像素点数据,各片上存储器每次可缓存4幅第二格式图像中的两行像素点数据,进而各片上存储器依次输出缓存的各行像素点数据,为了实现经各片上存储器输出的各行像素点数据和输入的各行像素点数据的同步,需要延迟输出4幅第二格式图像中的一行像素点数据,即延迟1920个像素点数据的输出,而同时对于输入的数据而言,4幅第一格式图像的下一行像素点数据会依次输入,为了避免各片上存储器之前缓存的两行像素点数据丢失或者被覆盖,采用双缓存的结构缓存基于四幅第一格式图像的下一行像素点数据确定出的4幅第二格式图像的下两行像素点数据,即再利用多个片上存储器分别缓存各幅第二格式图像中的第n+2行像素点数据和第n+3行像素点数据。

举例而言,再需要8个片上存储器分别缓存4幅第二格式图像中的下2行像素点数据,例如,第9个片上存储器缓存第一幅第二格式图像中的第3行像素点数据,第10个片上存储器缓存第一幅第二格式图像中的第4行像素点数据,第11个片上存储器缓存第二幅第二格式图像中的第3行像素点数据,第12个片上存储器缓存第二幅第二格式图像中的第4行像素点数据,第13个片上存储器缓存第三幅第二格式图像中的第3行像素点数据,第14个片上存储器缓存第三幅第二格式图像中的第4行像素点数据;第15个片上存储器缓存第四幅第二格式图像中的第3行像素点数据,第16个片上存储器缓存第四幅第二格式图像中的第4行像素点数据。

这样,总共采用16个片上存储器每次缓存4幅第二格式图像中的每四行像素点数据,对于输入的数据而言,每次可缓存输入的四幅第一格式图像中的两行像素点数据,依次循环,可实现连续输入和输出,在节省片上存储器资源的同时,可避免输出数据的延迟,有利于提高显示画面的流畅度。

在一个可选的实施方式中,所上述步骤s30所述的将各片上存储器依次输出的各行像素点数据转换成与接入接口匹配的格式后输出,包括:

步骤s31、根据选择输出控制信号依次控制各片上存储器的输出通路打开,以依次输出各行像素点数据;

步骤s32、将输出的各行像素点数据转换成与图像接收接口匹配的格式后输出至外部设备。

由于需要多个片上存储器依次对各幅第二格式图像中的各行像素点数据进行缓存,可通过选择输出控制信号对各片上存储器的输出通路的打开时序进行控制,基于选择输出控制信号依次控制各片上存储器的输出通路打开,各片上存储器依次输出各行像素点数据,进而,再将输出的各行像素点数据进行格式转换后输出至外部设备。

在一些例子中,视频格式转换方法还可以包括

步骤s41、将接收到的第一格式的时序控制信号转换成第二格式的时序控制信号;

步骤s42、将第二格式的时序控制信号转换成与图像接收接口匹配的格式后输出外部设备。

当接收第一格式图像的各行像素点数据时的输入时序,与经各片上存储器输出各第二格式图像中的各行像素点数据时的输出时序不同时,需要进行输入时序和输出时序的变换,将第一格式的时序控制信号转换成第二格式的时序控制信号,然后,在将第二格式时序控制信号转换成与图像接收接口匹配的格式后输出外部设备。

时序控制信号通常为脉冲信号,上述第一格式的时序控制信号转换成第二格式的时序控制信号,具体而言,可能涉及脉冲信号的周期变化和脉冲信号的占空比变化等。

本发明实施例还提供了一种视频格式转换装置,应用于现场可编程门阵列fpga,如图3所示,该视频格式转换装置03包括:

第二格式图像确定单元,用于基于接收到的多幅第一格式图像中的各行像素点数据确定各幅第二格式图像中的各行像素点数据;

数据缓存单元,用于将各幅第二格式图像中的每多行像素点数据依次分别缓存至fpga中的各片上存储器中;

数据输出单元,用于将各片上存储器依次输出的各行像素点数据转换成与图像接收接口匹配的格式后输出至外部设备。

对于装置实施例而言,其中各个单元功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于该视频格式转换装置而言,以接收到四幅第一格式图像,将四幅第一格式图像转换成四幅第二格式图像为例,进一步的说明该装置的结构和工作过程。

参照图4所示,每一幅第一格式图像中的各行像素点数据分别为一路信号输入到第二格式图像确定单元301,例如,第一幅第一格式图像中的数据sdi1为一路信号、第二幅第一格式图像中的数据sdi2为一路信号、第三幅一格式图像中的数据sdi3为一路信号、第二幅第一格式图像中的数据sdi3为一路信号,该四路信号分别输出到第二格式图像确定单元301。

第二格式图像确定单元301根据接收到的四路信号确定四幅第二格式图像中的各行像素点数据,每一幅第二格式图像中的各行像素点数据也分别为一路信号,四幅第二格式图像的四路信号分别输出到数据缓存单元302,由数据缓存单元302将其缓存至fpga中的各片上存储器中,各片上存储器也输出四路信号,并经过数据缓存单元302传输至数据输出单元303,由数据输出单元303进行格式转换后输出至外部设备400。

在一个可选的实施方式中,所述第二格式图像确定单元具体用于:

基于接收到的第一幅第一格式图像中的第n行像素中的第1至第m个像素点数据和第二幅第一格式图像中的第n行像素中的第1至第m个像素点数据确定第一幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第1至第m个像素点数据和第四幅第一格式图像中的第n行像素中的第1至第m个像素点数据确定第一幅第二格式图像中的第2n行像素点数据;

基于接收到的第一幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据和第二幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据确定第二幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据和第四幅第一格式图像中的第n行像素中的第m+1至第2m个像素点数据确定第二幅第二格式图像中的第2n行像素点数据;

基于接收到的第一幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据和第二幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据确定第三幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据和第四幅第一格式图像中的第n行像素中的第2m+1至第3m个像素点数据确定第三幅第二格式图像中的第2n行像素点数据;

基于接收到的第一幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据和第二幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据确定第四幅第二格式图像中的第2n-1行像素点数据;

基于接收到的第三幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据和第四幅第一格式图像中的第n行像素中的第3m+1至第4m个像素点数据确定第四幅第二格式图像中的第2n行像素点数据,其中,n和m均为大于等于1正整数。

在一些例子中,所述数据输出单元包括:

多路选择器,用于根据行输出控制信号依次控制各所述片上存储器的输出通路打开,以依次输出各行像素点数据;

格式转换单元,用于将输出的各行像素点数据转换成与图像接收接口匹配的格式后输出至外部设备。

进一步的,该装置还包括:

时序信号转换单元,用于将接收到的第一格式的时序控制信号转换成第二格式的时序控制信号;

所述格式转换单元还用于将所述第二格式的时序控制信号转换成与图像接收接口匹配的格式后输出外部设备。

下面以第一格式图像为1920*1080的图像,第二格式图像为1920*1080的图像为例,详细说明上述视频格式转换装置的结构和工作原理。

参照图5所示,该视频格式转换装置中,时序信号转换单元304将第一格式的时序控制信号转换成第二格式的时序控制信号,第一格式的时序控制信号例如包括:行输入同步信号vdi_hs、列输入同步信号vdi_vs、数据输入使能信号vdi_de、行输入计数信号vdi_hpcnt和列输入计数信号vdi_vpcnt,对上述各第一格式的时序控制信号进行转换后生成的第二格式的时序控制信号例如包括;行输出同步信号vdo_hs、列输出同步信号vdo_vs、数据输出使能信号vdo_de、行输出计数信号vdo_hpcnt和列输出计数信号vdo_vpcnt。

第二格式图像确定单元包括多个子图像确定单元,每个子图像确定单元分别接收两幅第一格式图像中的第n行的若干个像素点数据,据此确定第二格式图像中的第n行像素点数据,每一行像素点数据分别缓存至一个片上存储器中,具体而言,包括16个子图像确定单元和16个片上存储器410,每个子图像单元图中用符号concat表示,图中示意性的示出了8个子图像确定单元和8个片上存储器,省略了另外8个子图像确定单元和8个片上存储器。

8个子图像确定单元分别为conat1、conat2、conat3、conat4、conat9、conat10、conat11和conat12,四幅第一格式图像的各行像素点数据分别称为vdi_dt1、vdi_dt2、vdi_dt3和vdi_dt4,各子图像确定单元作用如下:

例如,第一子图像确定单元conat1将接收到的第一幅第一格式图像中的第1行的第1至第480个像素点数据和第二幅第一格式图像中的第1行的第1至第480个像素点数据作为第一幅第二格式图像中的第1行的960个像素点数据,并将该第1行的960个像素点数据写入(wdat)一个片上存储器410,该片上存储器对该960个像素点数据进行缓存后生成先入先出fifo(firstinputfirstoutput,简称fifo)缓存队列,此处称为fifo_o1,该过程例如为图中示出的fifo_o1分别依次写入第一幅和第二幅第一格式图像中的第1行的1~480个像素点数据(w:1~480),读取后输出第一幅第二格式图像中的第1行的960个像素点数据(r:1~960);

第二子图像确定单元conat2将接收到的第三幅第一格式图像中的第1行的第1至第480个像素点数据和第四幅第一格式图像中的第1行的第1至第480个像素点数据作为第一幅第二格式图像中的第2行的960个像素点数据,并将该第2行的960个像素点数据写入(wdat)一个片上存储器,该片上存储器对该960个像素点数据进行缓存后生成先入先出fifo缓存队列,此处称为fifo_o2,该过程例如为图中示出的fifo_o2分别依次写入第三幅和第四幅第一格式图像中的第1行的1~480个像素点数据(w:1~480),读取后输出第一幅第二格式图像中的第2行的960个像素点数据(r:1~960);

第三子图像确定单元conat3将接收到的第一幅第一格式图像中的第1行的第481至第960个像素点数据和第二幅第一格式图像中的第1行的第481至第960个像素点数据作为第二幅第二格式图像中的第1行的960个像素点数据,并将该第1行的960个像素点数据写入(wdat)一个片上存储器,该片上存储器对该960个像素点数据进行缓存后生成先入先出fifo缓存队列,此处称为fifo_o3,该过程例如为图中示出的fifo_o3分别依次写入第一幅和第二幅第一格式图像中的第1行的1~480个像素点数据(w:1~480),读取后输出第二幅第二格式图像中的第1行的960个像素点数据(r:1~960);

第四子图像确定单元conat4将接收到的第三幅第一格式图像中的第1行的第481至第960个像素点数据和第四幅第一格式图像中的第1行的第481至第960个像素点数据作为第二幅第二格式图像中的第2行的960个像素点数据,并将该第2行的960个像素点数据写入(wdat)一个片上存储器,该片上存储器对该960个像素点数据进行缓存后生成先入先出fifo缓存队列;

第五子图像确定单元(图中未示出)将接收到的第一幅第一格式图像中的第1行的第961至第1440个像素点数据和第二幅第一格式图像中的第1行的第961至第1440个像素点数据作为第三幅第二格式图像中的第1行的960个像素点数据,并将该第1行的960个像素点数据写入(wdat)一个片上存储器,该片上存储器对该960个像素点数据进行缓存后生成先入先出fifo缓存队列;

第六子图像确定单元(图中未示出)将接收到的第三幅第一格式图像中的第1行的第961至第1440个像素点数据和第四幅第一格式图像中的第1行的第961至第1440个像素点数据作为第三幅第二格式图像中的第2行的960个像素点数据,并将该第2行的960个像素点数据写入(wdat)一个片上存储器,该片上存储器对该960个像素点数据进行缓存后生成先入先出fifo缓存队列;

第七子图像确定单元(图中未示出)将接收到的第一幅第一格式图像中的第1行的第1441至第1920个像素点数据和第二幅第一格式图像中的第1行的第1441至第1920个像素点数据作为第四幅第二格式图像中的第1行的960个像素点数据,并将该第1行的960个像素点数据写入(wdat)一个片上存储器,该片上存储器对该960个像素点数据进行缓存后生成先入先出fifo缓存队列;

第八子图像确定单元(图中未示出)将接收到的第三幅第一格式图像中的第1行的第1441至第1920个像素点数据和第四幅第一格式图像中的第1行的第1441至第1920个像素点数据作为第四幅第二格式图像中的第2行的960个像素点数据,并将该第2行的960个像素点数据写入(wdat)一个片上存储器,该片上存储器对该960个像素点数据进行缓存后生成先入先出fifo缓存队列。

同样的,再采用8个子图像确定单元分别基于四幅第一格式图像的下一行(例如第2行)像素点数据确定出的四幅第二格式图像的下两行(例如第3行和第4行)像素点数据,再利用8个片上存储器缓存各第二格式图像的各行像素点数据,生成8个先入先出fifo缓存队列,简言之:

第九子图像确定单元conat9将接收到的第一幅第一格式图像中的第3行的第1至第480个像素点数据和第二幅第一格式图像中的第3行的第1至第480个像素点数据作为第一幅第二格式图像中的第3行的960个像素点数据,并将该第3行的960个像素点数据写入(wdat)一个片上存储器,该片上存储器对该960个像素点数据进行缓存后生成先入先出fifo缓存队列,此处称为fifo_e1;

第十子图像确定单元conat10将接收到的第三幅第一格式图像中的第3行的第1至第480个像素点数据和第四幅第一格式图像中的第3行的第1至第480个像素点数据作为第一幅第二格式图像中的第4行的960个像素点数据,并将该第3行的960个像素点数据写入(wdat)一个片上存储器,该片上存储器对该960个像素点数据进行缓存后生成先入先出fifo缓存队列,此处称为fifo_e2;

第十一子图像确定单元conat10和第十二子图像确定单元conat12的作用同理可推,此处不再赘述。

进一步的,设置若干个多路选择器mux,例如每四个片上存储器410分别连接至一个多路选择器mux,上述的16个片上存储器需要通过4个多路选择器mux连接,每个多路选择器mux根据行输出计数信号vdo_hpcnt和列输出计数信号vdo_vpcnt可控制四个片上存储器的输出通路依次打开,以依次输出其中存储的各行像素点数据,通过多路选择器mux可控制每次输出每一幅第二格式图像中的一行像素点数据,每次输出四行像素点数据,例如,每次输出的四幅第二格式图像的四行像素点数据分别为:vdo_dt1、vdo_dt2、vdo_dt3和vdo_dt4,依次循环,可实现连续输入和输出,进一步的,可将每次输出的四行像素点数据和第二格式的时序控制信号转换成与图像接收接口匹配的格式后,作为驱动信号输出至外部设备,外部设备据此显示图像。

本发明实施例还提供了一种现场可编程门阵列fpga,包括上述任一实施例所述的视频格式转换装置。

该现场可编程门阵列fpga通过设置上述的视频格式转换装置,可实现对视频格式的转换,且利用了fpga的片上存储器对各幅第二格式图像中的各行像素点数据依次进行缓存,与通过外部存储器缓存方式相比,片上存储器的写入和读取速度快,因此,可减小延迟,提高显示画面的流畅性。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上;上述各单元可以合并为一个单元,也可以进一步拆分成多个子单元。

通过以上的实施方式的描述,本实施例的装置可借助软件的方式实现,或者软件加必需的通用硬件的方式来实现,当然也可以通过硬件实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1