一种基于FPGA实现视频图像缩放裁剪的HDMI转LVDS方法及装置
文献发布时间:2024-04-18 19:58:30
技术领域
本发明属于视频信号处理技术领域,具体涉及一种基于FPGA实现视频图像缩放裁剪的HDMI转LVDS方法及装置。
背景技术
视频信号处理技术一直在不断发展。随着高清晰度视频的普及,现代显示技术对视频信号的处理要求越来越高。其中,HDMI和LVDS技术是两种重要的视频信号传输技术。然而,由于这两种技术之间的不兼容性,需要一种有效的转换方案来实现它们之间的互通。现有的HDMI转LVDS技术主要基于ASIC或单片机来实现,存在许多局限性,例如仅支持特定分辨率和屏幕尺寸,无法适应不同的分辨率和屏幕尺寸,因此需要新的转换方案来解决这些问题。
目前,市场上已经存在一些HDMI转LVDS的技术方案,其中一些方案基于ASIC或单片机来实现,而另一些则基于FPGA实现。
现有技术的ASIC或单片机方案通常具有简单的电路结构,可以适应一些固定的分辨率和屏幕尺寸。但是,它们无法应对不同分辨率和屏幕尺寸的需求,因此需要多种不同的产品来适应不同的需求。此外,由于ASIC或单片机的局限性,它们的缩放算法通常不够灵活,也无法实现高质量的图像处理。同时,它们也需要进行复杂的设置和调整才能实现适应。
另外,基于FPGA的现有技术可以提供更高的灵活性和处理能力,可以适应更多的分辨率和屏幕尺寸。但是,它们仅使用裁剪技术来适应显示器分辨率,没有将缩放裁剪两种技术结合,可能显示范围太小。此外,由于FPGA的设计和调试需要相对复杂的技术和工具,因此其开发成本较高。
有鉴于此,提出一种基于FPGA实现视频图像缩放裁剪的HDMI转LVDS方法及装置是非常具有意义的。
发明内容
为了解决现有技术HDMI转LVDS方案在适应不同分辨率和屏幕尺寸、处理图像质量和成本等方面存在一定的缺陷和不足,需要更加高效和灵活的技术来解决这些问题,本发明提供一种基于FPGA实现视频图像缩放裁剪的HDMI转LVDS方法及装置,提供一种高效、灵活的HDMI转LVDS方案,通过使用FPGA实现同比例缩放和裁剪,并且可以适应不同的分辨率和屏幕尺寸,以解决上述存在的技术缺陷问题。
第一方面,本发明提出了一种基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的方法,该方法包括如下步骤:
响应于通过串口或者按键输入显示屏的屏参到FPGA上,并输出到数码管上显示参数;
视频源输出HDMI信号到FPGA,在FPGA上进行视频信号解码,将tmds信号解码成RGB888信号;
信号经过图像处理模块,将RGB888视频信号采用双线性缩放电路进行同比例缩放处理,缩放因子和缩放的分辨率由参数计算模块得出,缩放后的视频信号需要重新计算其XY坐标,便于裁剪部分裁剪出与LVDS显示器一致的分辨率;
裁剪后的视频信号经过DDR3_TOP模块,采用乒乓模式进行缓存;
最后通过LCD控制模块,根据显示器的分辨率时序将视频信号转化成LVDS差分信号,在显示屏上显示。
优选的,视频源输出HDMI信号到FPGA,在FPGA上进行视频信号解码,将tmds信号解码成RGB888信号具体还包括:
利用HDMI解码模块中的串并转化模块,将进来的串行差分数据转化为串行单端数据,然后把串行单端数据转化为10bit的并行数据;
利用字对齐校准模块将10bit的并行数据与4个控制字符作对比,如果连续在16个延迟值都能检测到所述控制字符,则认为已找到延迟值的范围,此时取中间的延迟值作为最终的值,表示校准已经完成;
利用数据同步模块将红绿蓝三组的数据进行同步,防止图像的颜色出现偏差;
利用8b/10b解码模块将并行的10bit数据转化为8bit数据,同时产生行场信号和数据有效使能。
进一步优选的,图像处理模块具体包括视频缩放和视频裁剪两部分:
视频缩放部分采用双线性插值算法,对输入视频信号进行同比例缩放,首先用FIFO1缓存一行数据,然后依次保存到RAM1RAM2中,保存两行视频信号后进行线性插值,然后将计算到的数据缓存在RAM3中,作为行插值后的数值;其次,对该数值进行列方向线性插值,结果为最后缩放的数值,缓存在FIFO2;
视频裁剪部分,计算了缩放后视频信号的边界坐标,上边界坐标是缩放后的场分辨率减去LVDS屏的场分辨率再除以2得到的,同样的,其他的边界也采用类似的计算方法得到。
优选的,还包括:利用EDID读取模块与输入源进行通信,告诉输入源监视器所需要的性能的参数,该参数包括生产厂家信息、显示器的名称和序列号、支持的所有分辨率清单、颜色设置、厂商预设值。
优选的,显示屏的所述屏参包括行同步、场同步、显示后沿、显示区域、显示前沿、显示周期。
第二方面,本发明实施例还提供一种基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的装置,该装置包括:
HDMI输入接口模块,配置用于接口部分需要将HDMI的I2C总线接到FPGA,用于传输EDID信息;热插拔引脚需要先接到三态门再连接到FPGA,传输热插拔信号;
FPGA芯片模块,配置用于接收串口或按键传输过来的LCD屏参数据,屏参数据在所述的数码管上显示;解析后的视频数据被传送到FPGA芯片中,FPGA芯片负责对视频数据进行同比例缩放和裁剪;采用双线性插值算法,FPGA能够将输入的视频信号按比例进行缩放,并裁剪以适应不同分辨率的显示器;
LVDS输出接口模块,配置用于FPGA传输LVDS差分信号到FPC_40pin连接器,使信号可以稳定传输;
控制模块,配置用于接收外部指令或按键输入来调整输出分辨率,可以通过串口或按键接口接收用户的指令,并根据指令来调整FPGA的处理参数,以实现不同分辨率的输出。
进一步优选的,还包括:
LVDS屏参模块,配置用于接收串口或者按键传输进来的LVDS屏参信息,包括行同步、场同步、显示后沿、显示区域、显示前沿、显示周期,并在数码管上显示;
EDID读取模块,配置用于负责与输入源进行通信,告诉输入源监视器所需要的性能的参数,包括生产厂家信息、显示器的名称和序列号、支持的所有分辨率清单、颜色设置、厂商预设值等信息;
HDMI解码模块,配置用于包括串并转化模块将进来的串行差分数据转化为串行单端数据,然后把串行单端数据转化为10bit的并行数据;字对齐校准模块将10bit的并行数据与4个控制字符作对比,如果连续在16个延迟值都能检测到控制字符,则认为已经找到延迟值的范围,此时取中间的延迟值作为最终的值,表示校准已经完成;数据同步模块将红绿蓝三组的数据进行同步,防止图像的颜色出现偏差;利用8b/10b解码模块将并行的10bit数据转化为8bit数据,同时产生行场信号和数据有效使能;
图像处理模块,配置用于包括视频缩放和视频裁剪两部分,采用双线性插值算法,对输入视频信号进行同比例缩放,计算缩放后视频信号的边界坐标。
进一步优选的,还包括:
参数计算模块,配置用于计算视频缩放模块需要用到的缩放因子、ddr3读写突发长度和最大读写地址,以及计算缩放后的屏参;
LCD控制模块,配置用于包括LCD显示时序控制、串并转换模块和LVDS差分信号转换模块,读取DDR3缓存的RGB888数据,转换成LVDS25信号。
第三方面,本发明实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
与现有技术相比,本发明的有益成果在于:
(1)本发明提供一种使用FPGA实现同比例缩放和裁剪的HDMI转LVDS方案,能够适应不同的分辨率和屏幕尺寸,处理高质量的图像信号;该方案可以通过串口或按键进行设置和调整,操作简单,使用灵活;通过本发明,可以有效地提高HDMI转LVDS的适应性和图像处理能力,为用户提供更好的使用体验和更广泛的应用范围。
(2)本发明采用了FPGA实现的同比例缩放和裁剪技术,能够适应不同分辨率的屏幕;用户可以通过串口或按键进行调整,实现对输出分辨率的灵活控制;这使得本发明可以广泛应用于各种分辨率要求不同的场景,提供了更大的应用灵活性,具备多分辨率适配能力。
(3)本发明采用双线性插值算法实现同比例缩放,能够保持图像的清晰度和细节,提高了图像处理的质量;通过裁剪功能,本发明能够将图像适配到不同比例的显示器上,保持图像的正确比例,避免了图像变形或失真,具有高质量图像处理能力。
(4)通过简单易用的操作方式,本发明采用串口或按键控制方式,使用户可以方便地设置和调整输出分辨率;这种简单易用的操作方式不仅提高了用户的使用便利性,还减少了操作的复杂性,降低了用户的学习成本。
(5)本发明采用FPGA作为核心处理器,能够以较低的成本实现高效的图像处理;与传统的硬件方案相比,本发明的成本更低,并且具有更大的灵活性和可扩展性。
(6)本发明的技术方案通过多分辨率适配能力、高质量图像处理、简单易用的操作方式和成本效益等方面带来了多种有益效果,为用户提供了更好的使用体验和更广泛的应用场景。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。附图的元件不一定是相互按照比例的。同样的附图标记指代对应的类似部件。
图1是本发明的实施例的基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的方法的流程示意图;
图2为本发明的实施例的基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的方法中HDMI转LVDS系统框图;
图3为本发明的实施例的基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的方法中视频处理示意图;
图4为本发明的实施例的基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的方法中视频缩放电路原理图;
图5为本发明的实施例的基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的方法中视频裁剪示意图;
图6为本发明的实施例的基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的装置中HDMI转LVDS结构框图;
图7为本发明的实施例的基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的装置的架构示意图。
具体实施方式
在以下详细描述中,参考附图,该附图形成详细描述的一部分,并且通过其中可实践本发明的说明性具体实施例来示出。对此,参考描述的图的取向来使用方向术语,例如“顶”、“底”、“左”、“右”、“上”、“下”等。因为实施例的部件可被定位于若干不同取向中,为了图示的目的使用方向术语并且方向术语绝非限制。应当理解的是,可以利用其他实施例或可以做出逻辑改变,而不背离本发明的范围。因此以下详细描述不应当在限制的意义上被采用,并且本发明的范围由所附权利要求来限定。
现有的HDMI转LVDS方案存在一些问题,如无法适应不同的分辨率和屏幕尺寸、处理图像质量和成本等方面存在一定的缺陷和不足。在实际应用中,这些问题可能会导致图像质量下降、使用体验不佳等一系列问题。因此,需要提供一种高效、灵活的HDMI转LVDS方案,以解决现有技术的缺陷和不足。
本发明的目的是提供一种使用FPGA实现同比例缩放和裁剪的HDMI转LVDS方案,能够适应不同的分辨率和屏幕尺寸,处理高质量的图像信号。该方案可以通过串口或按键进行设置和调整,操作简单,使用灵活。通过本发明,可以有效地提高HDMI转LVDS的适应性和图像处理能力,为用户提供更好的使用体验和更广泛的应用范围。
为实现上述目的,本申请实施例提供了HDMI转LVDS的方法和装置,通过以下技术方案予以实现。
第一方面,本发明的实施例公开了一种基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的方法,如图1所示,该方法包括如下步骤:
S1、响应于通过串口或者按键输入显示屏的屏参到FPGA上,并输出到数码管上显示参数;
S2、视频源输出HDMI信号到FPGA,在FPGA上进行视频信号解码,将tmds信号解码成RGB888信号;
S3、信号经过图像处理模块,将RGB888视频信号采用双线性缩放电路进行同比例缩放处理,缩放因子和缩放的分辨率由参数计算模块得出,缩放后的视频信号需要重新计算其XY坐标,便于裁剪部分裁剪出与LVDS显示器一致的分辨率;
S4、裁剪后的视频信号经过DDR3_TOP模块,采用乒乓模式进行缓存;
S5、最后通过LCD控制模块,根据显示器的分辨率时序将视频信号转化成LVDS差分信号,在显示屏上显示。
具体的,参照图2,FPGA部分包括:
LVDS屏参模块:接收串口或者按键传输进来的LVDS屏参信息,包括行同步、场同步、显示后沿、显示区域、显示前沿、显示周期,并在数码管上显示。
EDID读取模块:负责与输入源进行通信,告诉输入源监视器所需要的性能的参数,包括生产厂家信息、显示器的名称和序列号、支持的所有分辨率清单、颜色设置、厂商预设值等信息。本发明实施例中设置为1920*1080@60常见分辨率帧率。
HDMI解码模块:
1)串并转化模块:将进来的串行差分数据转化为串行单端数据,然后把串行单端数据转化为10bit的并行数据。
2)字对齐校准模块:将10bit的并行数据与4个控制字符作对比,如果连续在16个延迟值都能检测到控制字符,则认为已经找到延迟值的范围,此时取中间的延迟值作为最终的值,表示校准已经完成。
3)数据同步模块:将红绿蓝三组的数据进行同步,防止图像的颜色出现偏差。
4)8b/10b解码模块:将并行的10bit数据转化为8bit数据,同时产生行场信号和数据有效使能。
图像处理模块:主要包括视频缩放和视频裁剪部分,整体示意图如图3所示。
1)视频缩放部分采用双线性插值算法,对输入视频信号进行同比例缩放,缩放电路如图4所示,首先用FIFO1缓存一行数据,然后依次保存到RAM1RAM2中,保存两行视频信号后进行线性插值,然后将计算到的数据缓存在RAM3中,作为行插值后的数值;其次,对该数值进行列方向线性插值,结果为最后缩放的数值,缓存在FIFO2。
2)视频裁剪部分,示意图如图5所示,计算了缩放后视频信号的边界坐标,上边界坐标是缩放后的场分辨率(如720)减去LVDS屏的场分辨率再除以2得到的,其他的边界也是以类似的计算方法得到。
DDR3_TOP模块:将DDR3复杂的读写操作封装成类似FIFO的用户接口,方便读写数据。输入数据在输入数据使能信号拉高的情况下是有效的,输出数据在读请求使能信号拉高后延迟一拍时是有效的。LVDS屏的场信号和HDMI的场信号分别为FIFO调度模块和DDR读写模块产生帧复位信号。
参数计算模块:计算视频缩放模块需要用到的缩放因子、ddr3读写突发长度和最大读写地址,以及计算缩放后的屏参。
LCD控制模块:包括LCD显示时序控制、串并转换模块和LVDS差分信号转换模块,读取DDR3缓存的RGB888数据,转换成LVDS25信号。
本发明的核心技术是利用FPGA芯片来实现HDMI信号的接收和处理,以及LVDS信号的输出。FPGA的可编程性和高性能计算能力使得本发明能够灵活地处理不同分辨率的视频信号。
本发明采用双线性插值算法对视频信号进行同比例缩放,以保持图像的清晰度和细节,提高图像处理的质量。
第二方面,本申请实施例还公开了一种基于FPGA实现视频图像缩放裁剪的HDMI转LVDS的装置,如图6和图7所示,该装置包括:HDMI输入接口模块71,FPGA芯片模块72,LVDS输出接口模块73,控制模块74,LVDS屏参模块75,EDID读取模块76,HDMI解码模块77,图像处理模块78,参数计算模块79以及LCD控制模块70。
在一个具体实施例中,HDMI输入接口模块71,配置用于接口部分需要将HDMI的I2C总线接到FPGA,用于传输EDID信息;热插拔引脚需要先接到三态门再连接到FPGA,传输热插拔信号;FPGA芯片模块72,配置用于接收串口或按键传输过来的LCD屏参数据,屏参数据在所述的数码管上显示;解析后的视频数据被传送到FPGA芯片中,FPGA芯片负责对视频数据进行同比例缩放和裁剪;采用双线性插值算法,FPGA能够将输入的视频信号按比例进行缩放,并裁剪以适应不同分辨率的显示器;LVDS输出接口模块73,配置用于FPGA传输LVDS差分信号到FPC_40pin连接器,使信号可以稳定传输;控制模块74,配置用于接收外部指令或按键输入来调整输出分辨率,可以通过串口或按键接口接收用户的指令,并根据指令来调整FPGA的处理参数,以实现不同分辨率的输出。
LVDS屏参模块75,配置用于接收串口或者按键传输进来的LVDS屏参信息,包括行同步、场同步、显示后沿、显示区域、显示前沿、显示周期,并在数码管上显示;EDID读取模块76,配置用于负责与输入源进行通信,告诉输入源监视器所需要的性能的参数,包括生产厂家信息、显示器的名称和序列号、支持的所有分辨率清单、颜色设置、厂商预设值等信息;HDMI解码模块77,配置用于包括串并转化模块将进来的串行差分数据转化为串行单端数据,然后把串行单端数据转化为10bit的并行数据;字对齐校准模块将10bit的并行数据与4个控制字符作对比,如果连续在16个延迟值都能检测到控制字符,则认为已经找到延迟值的范围,此时取中间的延迟值作为最终的值,表示校准已经完成;数据同步模块将红绿蓝三组的数据进行同步,防止图像的颜色出现偏差;利用8b/10b解码模块将并行的10bit数据转化为8bit数据,同时产生行场信号和数据有效使能;图像处理模块78,配置用于包括视频缩放和视频裁剪两部分,采用双线性插值算法,对输入视频信号进行同比例缩放,计算缩放后视频信号的边界坐标。
参数计算模块79,配置用于计算视频缩放模块需要用到的缩放因子、ddr3读写突发长度和最大读写地址,以及计算缩放后的屏参;LCD控制模块70,配置用于包括LCD显示时序控制、串并转换模块和LVDS差分信号转换模块,读取DDR3缓存的RGB888数据,转换成LVDS25信号。
工作原理:首先通过串口或者按键输入显示屏的屏参(行同步、场同步、显示后沿、显示区域、显示前沿、显示周期),并在数码管上显示;然后视频源输出HDMI信号到FPGA,在FPGA上进行视频信号解码和处理,并用DDR3采用乒乓模式进行缓存,最后输出差分信号通过FPC到LVDS显示屏上显示。
本发明具有如下有益效果:
1、多分辨率适配能力:本发明采用了FPGA实现的同比例缩放和裁剪技术,能够适应不同分辨率的屏幕;用户可以通过串口或按键进行调整,实现对输出分辨率的灵活控制;这使得本发明可以广泛应用于各种分辨率要求不同的场景,提供了更大的应用灵活性。
2、高质量图像处理:本发明采用双线性插值算法实现同比例缩放,能够保持图像的清晰度和细节,提高了图像处理的质量;通过裁剪功能,本发明能够将图像适配到不同比例的显示器上,保持图像的正确比例,避免了图像变形或失真。
3、简单易用的操作方式:本发明采用串口或按键控制方式,使用户可以方便地设置和调整输出分辨率;这种简单易用的操作方式不仅提高了用户的使用便利性,还减少了操作的复杂性,降低了用户的学习成本。
4、成本效益:本发明采用FPGA作为核心处理器,能够以较低的成本实现高效的图像处理;与传统的硬件方案相比,本发明的成本更低,并且具有更大的灵活性和可扩展性。
综上所述,本发明的技术方案通过多分辨率适配能力、高质量图像处理、简单易用的操作方式和成本效益等方面带来了多种有益效果,为用户提供了更好的使用体验和更广泛的应用场景。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
- 一种基于FPGA实现LVDS转DVI和HDMI的转换电路
- 基于FPGA的多通道视频信号LVDS串行化实现装置及方法