一种基于LVDS输入的视频显示设计方法与流程

    专利2022-07-07  156


    本发明属于linux系统下视频处理技术,特别涉及一种基于lvds输入的视频显示设计方法。



    背景技术:

    hi3559av100是专业的8kultrahdmobilecamerasoc,它提供了8k30/4k120广播级图像质量的数字视频录制,支持多路sensor输入,支持h.265编码输出或影视级的raw数据输出,并集成高性能isp处理,同时采用先进低功耗工艺和低功耗架构设计,为用户提供了卓越的图像处理能力。

    hi3559av100支持业界领先的多路4ksensor输入,多路isp图像处理,支持hdr10高动态范围技术标准,并支持多路全景硬件拼接。在支持8k30/4k120视频录制下,hi3559av100提供硬化的6-dof数字防抖,减少了对机械云台的依赖。

    mipirx通过低电压差分信号接收原始视频数据,将接收到的串行差分信号(serialdifferentialsignal)转化为dc(digitalcamera)时序后传递给下一级模块vicap(videocapture)mipirx支持mipid-phy、lvds(low-voltagedifferentialsignal)、hispi(high-speedserialpixelinterface)等串行视频信号输入,同时兼容dc视频接口。

    slvs-ec接口由sony公司定义,用于高帧率和高分辨率图像采集,它可以将高速串行的数据转化为dc(digitalcamera)时序后传递给下一级模块vicap(videocapture)。

    slvs-ec串行视频接口可以提供更高的传输带宽,更低的功耗,在组包方式上,数据的冗余度也更低。在应用中slvs-ec接口提供了更加可靠和稳定的传输。

    视频输入单元vi(videoinput),可以通过mipirx(包含mipi、lvds、hispi、slvs_ec)接口、bt.656/601、bt.1120接口和dc(digitalcamera)接收视频数据,存入指定的内存区域。vi内嵌isp图像处理单元,可以直接对接外部原始数据(bayerrgb数据)。



    技术实现要素:

    本发明的目的在于提供一种基于lvds输入的视频显示设计方法,用于解决linux系统下的视频显示问题。

    本发明一种基于lvds输入的视频显示设计方法,其中,包括:获取lvds输入设备信息,配置输入设备参数;根据配置参数启动输入模块,采集视频数据;创建输入模块的各个设备对象包括:输入设备用于对时序进行解析,物理pipe负责设备解析后的数据处理,物理通道负责将处理后的数据输出,并根据配置参数启动输入模块,对接收到的原始图像数据进行处理,实现视频数据的采集;将视频数据输出,将视频输入模块与视频处理模块vpss绑定,利用vpss对输入图像进行再次加工,同时将视频处理模块与显示模块进行绑定,将视频处理模块加工后的图像输出;从内存读取视频和图形数据,并通过相应的显示设备输出视频和图形。

    根据本发明的基于lvds输入的视频显示设计方法的一实施例,其中,获取lvds输入设备信息,配置输入设备参数包括:在编译配置文件makefile中,为每路输入设备设置类型type,根据设备类型获取对应的设备序号以及图像最大分辨率,并计算图像缓存空间,同时配置输入设备参数。

    根据本发明的基于lvds输入的视频显示设计方法的一实施例,其中,获取lvds输入设备信息,配置输入设备参数具体包括:查找当前lvds的输入设备名称,根据设备名称设置设备类型;设置连接发送端和接收端的高速差分线lane的分布模式;分析当前lvds输入设备路数,并对lvds的数据lane分布模式确定每路对应的设备号;根据当前lvds输入设备类型获取输入图像的最大支持分辨率,并根据最大分辨率动态申请图像缓存空间;根据lvds输入设备参数、管道参数以及通道参数配置输入模块参数属性。

    根据本发明的基于lvds输入的视频显示设计方法的一实施例,其中,根据配置参数启动输入模块,采集视频数据包括:启动mipi,对lvds输入特性进行配置mipirx/slvs;根据配置参数中可工作的输入通道数设置视频输入模块与视频处理模块之间的工作模式;根据配置参数创建输入模块中各设备对象并使能,启动输入模块。

    根据本发明的基于lvds输入的视频显示设计方法的一实施例,其中,根据配置参数创建输入模块中各设备对象并使能,启动输入模块包括:根据输入设备类型type获取输入设备的物理属性devconfig对象;根据devconfig调用动态库函数设置输入设备dev属性,根据设备号dev(i)使能当前工作的设备dev;将输入设备dev与管道pipe绑定;根据输入设备类型type获取管道的物理属性pipeconfig,根据pipeconfig创建管道pipe对象,并启用管道;根据输入设备类型type获取通道的物理属性chnlconfig,调用动态库函数设置通道chnl属性,并使能chnl对象。

    根据本发明的基于lvds输入的视频显示设计方法的一实施例,其中,将视频数据输出包括:根据视频数据分辨率、视频格式、压缩模式以及像素格式设置视频处理模块;启动视频处理模块,创建视频处理模块的组,并设置组内的通道属性,使能组内的通道;将视频输入模块的通道和视频处理模块的通道绑定,同时将视频处理模块的通道与显示模块的通道绑定,并创建视频数据输入和输出流通通道。

    根据本发明的基于lvds输入的视频显示设计方法的一实施例,其中,通过相应的显示设备输出视频和图形包括:设置和启动视频输出设备;设置和使能视频输出图层设备;根据用户显示需求,确定显示区域是否分窗显示,如果分窗则将计算目前图像像素与显示窗口的比例关系,以及每个窗口在分屏中的坐标位置;启动视频输出的通道,根据设置的分窗属性设置视频输出的通道并使能;选定最后输出的物理设备,使能并启动输出的物理设备,将视频输出通道的视频和图像显示。

    根据本发明的基于lvds输入的视频显示设计方法的一实施例,其中,设置和使能视频输出图层设备包括:获取目标图像的像素大小,对比图层默认参数与目标参数,如果有差异则修改显示区域和显示图像的宽和高,根据修改后的参数设置图层设备并使能图层设备。

    本发明基于lvds输入的视频显示可以提供更高的传输带宽,增加传输的稳定性。

    附图说明

    图1为基于lvds输入的视频显示实现流程图。

    具体实施方式

    为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

    本发明的目的是在linux平台下,解决获取lvds通道输入的视频,再缩放显示问题。

    为实现上述目的,本发明采取以下技术方案。

    获取lvds输入设备信息,配置输入设备参数

    在编译配置文件makefile中,为每路输入设备设置类型type,根据设备类型获取对应的设备序号、图像最大分辨率并计算图像缓存空间,同时配置输入设备参数。

    根据配置参数启动输入模块,采集视频数据

    创建输入模块各个设备对象:输入设备(对时序进行解析)、物理pipe(负责设备解析后的数据处理)、物理通道(负责将最终处理后的数据输出),并根据配置参数启动输入模块,对接收到的原始图像数据进行处理,实现视频数据的采集。

    将视频数据输出到显示模块

    将视频输入模块与视频处理模块vpss绑定,利用vpss对输入图像进行再次加工,同时将视频处理模块与显示模块进行绑定,将视频处理模块加工后的图像输出到显示模块。

    启动视频输出(vo)任务输出视频

    模块主动从内存相应位置读取视频和图形数据,并通过相应的显示设备输出视频和图形。

    通过以上步骤,可以实现linux系统下的lvds输入下视频显示功能。

    结合图1,为了解决linux系统下lvds输入通道的视频图像处理问题,采用基于lvds输入的视频显示的方法。对本发明的内容作进一步描述。

    一、获取lvds输入设备信息,配置输入设备参数

    在编译配置文件makefile中,为每路输入设备设置类型type,根据设备类型获取对应的设备序号、图像最大分辨率并计算图像缓存空间,同时配置输入设备参数。具体步骤如下:

    (1)查找当前lvds的输入设备名称,根据设备名称设置设备类型;

    (2)设置lane(用于连接发送端和接收端的一对高速差分线)的分布模式;

    (3)分析当前lvds输入设备路数,并针对lvds的数据lane分布模式确定每路对应的设备号。假定当前lvds启用分布模式3(分布模式可查芯片手册),即l0-l7分布在设备0,l8-l15分布在设备4,对应输入设备第一路input1的设备号dev(1)为0,第二路input2的设备号dev(2)为4。分布为:

    (4)根据当前输入设备类型获取输入图像的最大支持分辨率,并根据最大分辨率动态申请图像缓存空间;

    (5)根据输入设备参数、管道参数、通道参数配置输入模块参数属性。

    二、根据配置参数启动输入模块,采集视频数据

    创建输入模块各个设备对象:输入设备dev(对时序进行解析)、物理pipe(负责设备解析后的数据处理)、物理通道chnl(负责将最终处理后的数据输出),并根据配置参数启动输入模块,对接收到的原始图像数据进行处理,实现视频数据的采集。具体步骤如下:

    (1)启动mipi(物理层的d-phy的传输规范),针对lvds输入特性进行配置mipirx/slvs,主要涉及的参数为:lvds同步模式,发送端(sensor)和接收端(mipirx)lane的对应关系(lane_id),同步码。具体配置方法如下:

    同步模式选用lvds_sync_mode_sav;

    根据sav/eav的同步方式划定每组数据格式为{sav-invalidline,eav-invalidline,sav-validline,eav-validline},具体参考表1:

    表1

    每个同步码由4个字段组成,每个字段的位宽与像素数据位宽保持一致。前3个字段为固定基准码字,第4个字段由sensor厂家确定。参考样例同步码表,确定每个图像的位宽,假定选定10bit,则单个同步码为{0x02ac,0x02d8,0x0200,0x0274},

    据此推出同步码为:

    根据选定的lane模式设置lane_id,上述步骤选定模式3,sensor的管脚与mipirx对应的管脚数目为8,且为1对1对应。对接sensor时,未使用的lane将其对应的lane_id配置为-1。配置lane_id还可以调整数据通道顺序,根据硬件单板与实际sensor输出通道的对应关系调整lane_id的配置。本例中的lane_id数据配置数组为.lane_id={0,1,2,3,4,5,6,7,-1,-1,-1,-1,-1,-1,-1,-1}(其中-1表示没有启用)。

    (2)根据配置参数中可工作的输入通道数设置视频输入模块与视频处理模块之间的工作模式;

    (3)根据配置参数创建输入模块中各设备对象并使能,启动输入模块:

    根据输入设备类型type获取输入设备的物理属性devconfig对象;

    根据devconfig调用动态库函数设置输入设备dev属性,根据设备号dev(i)使能当前工作的设备dev;

    将输入设备dev与管道pipe绑定;

    根据type获取管道的物理属性pipeconfig,根据pipeconfig创建管道pipe对象,并启用管道;

    根据type获取通道的物理属性chnlconfig,调用动态库函数设置通道chnl属性,并使能chnl对象;

    三、将输入图像输出到显示模块

    将视频输入模块与视频处理模块vpss绑定,利用vpss对输入图像进行再次加工,同时将视频处理模块与显示模块进行绑定,将视频处理模块加工后的图像输出到显示模块。具体步骤如下:

    根据视频数据分辨率、视频格式,压缩模式、像素格式设置视频处理模块;

    启动视频处理模块,创建处理模块的组,并设置组内的通道属性,使能组内的通道;

    将视频输入模块的通道和视频处理模块的通道绑定,同时将视频处理模块的通道与显示模块的通道绑定,在模块之间创建视频数据输入和输出流通通道。

    四、启动视频输出(vo)任务

    模块主动从内存相应位置读取视频和图形数据,并通过相应的显示设备输出视频和图形。具体步骤如下:

    设置和启动视频输出设备;

    设置和使能视频输出图层设备:获取目标图像的像素大小,对比图层默认参数与目标参数,如果有差异则修改显示区域和显示图像的宽和高,根据修改后的参数设置图层设备并使能图层设备。

    根据用户显示需求,确定显示区域是否分窗显示,如果分窗则将计算目前图像像素与显示窗口的比例关系,以及每个窗口在分屏中的坐标位置;

    启动视频输出的通道(sdk将通道归属于视频层管理,一个视频层上可显示多个视频,每一个视频显示区域称为一个通道,视频被限制通道内,通道被限制在视频层内。对于一个视频层,其上面的通道都是独立的。同时,不同的视频层上的通道也是独立的。对于通道的排号上面不存在跨层的连续):根据设置的分窗属性设置通道并使能通道:

    选定最后输出的物理设备,hdmi(超高清)设备或者高清设备,使用驱动函数使能并启动输出的物理设备,将视频输出通道的视频和图像显示在该设备中。

    本发明在系统为linux的应用场景下,针对海思hi3559av100芯片特点,并结合编码器特性和lvds输入通道属性,设计实现了一种linux系统下基于lvds输入的视频显示设计方案。本发明为源视频输入通道为mipirx的前提下,获取从外部传输的视频图像,对输入图像进行缩放并显示。

    本发明可以实现linux系统下获取lvds通道输入下的视频,该方法已经经过了实验检验。结果标明,该方案可以为解决linux系统下的lvds通道视频显示问题。

    以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。


    技术特征:

    1.一种基于lvds输入的视频显示设计方法,其特征在于,包括:

    获取lvds输入设备信息,配置输入设备参数;

    根据配置参数启动输入模块,采集视频数据;

    创建输入模块的各个设备对象包括:输入设备用于对时序进行解析,物理pipe负责设备解析后的数据处理,物理通道负责将处理后的数据输出,并根据配置参数启动输入模块,对接收到的原始图像数据进行处理,实现视频数据的采集;

    将视频数据输出,将视频输入模块与视频处理模块vpss绑定,利用vpss对输入图像进行再次加工,同时将视频处理模块与显示模块进行绑定,将视频处理模块加工后的图像输出;

    从内存读取视频和图形数据,并通过相应的显示设备输出视频和图形。

    2.如权利要求1所述的基于lvds输入的视频显示设计方法,其特征在于,获取lvds输入设备信息,配置输入设备参数,包括:

    在编译配置文件makefile中,为每路输入设备设置类型type,根据设备类型获取对应的设备序号以及图像最大分辨率,并计算图像缓存空间,同时配置输入设备参数。

    3.如权利要求1所述的基于lvds输入的视频显示设计方法,其特征在于,获取lvds输入设备信息,配置输入设备参数具体包括:

    查找当前lvds的输入设备名称,根据设备名称设置设备类型;

    设置连接发送端和接收端的高速差分线lane的分布模式;

    分析当前lvds输入设备路数,并对lvds的数据lane分布模式确定每路对应的设备号;

    根据当前lvds输入设备类型获取输入图像的最大支持分辨率,并根据最大分辨率动态申请图像缓存空间;

    根据lvds输入设备参数、管道参数以及通道参数配置输入模块参数属性。

    4.如权利要求1所述的基于lvds输入的视频显示设计方法,其特征在于,根据配置参数启动输入模块,采集视频数据包括:

    启动mipi,对lvds输入特性进行配置mipirx/slvs;

    根据配置参数中可工作的输入通道数设置视频输入模块与视频处理模块之间的工作模式;

    根据配置参数创建输入模块中各设备对象并使能,启动输入模块。

    5.如权利要求4所述的基于lvds输入的视频显示设计方法,其特征在于,根据配置参数创建输入模块中各设备对象并使能,启动输入模块包括:

    根据输入设备类型type获取输入设备的物理属性devconfig对象;

    根据devconfig调用动态库函数设置输入设备dev属性,根据设备号dev(i)使能当前工作的设备dev;

    将输入设备dev与管道pipe绑定;

    根据输入设备类型type获取管道的物理属性pipeconfig,根据pipeconfig创建管道pipe对象,并启用管道;

    根据输入设备类型type获取通道的物理属性chnlconfig,调用动态库函数设置通道chnl属性,并使能chnl对象。

    6.如权利要求1所述的基于lvds输入的视频显示设计方法,其特征在于,将视频数据输出包括:

    根据视频数据分辨率、视频格式、压缩模式以及像素格式设置视频处理模块;

    启动视频处理模块,创建视频处理模块的组,并设置组内的通道属性,使能组内的通道;

    将视频输入模块的通道和视频处理模块的通道绑定,同时将视频处理模块的通道与显示模块的通道绑定,并创建视频数据输入和输出流通通道。

    7.如权利要求1所述的基于lvds输入的视频显示设计方法,其特征在于,通过相应的显示设备输出视频和图形包括:

    设置和启动视频输出设备;

    设置和使能视频输出图层设备;

    根据用户显示需求,确定显示区域是否分窗显示,如果分窗则将计算目前图像像素与显示窗口的比例关系,以及每个窗口在分屏中的坐标位置;

    启动视频输出的通道,根据设置的分窗属性设置视频输出的通道并使能;

    选定最后输出的物理设备,使能并启动输出的物理设备,将视频输出通道的视频和图像显示。

    8.如权利要求7所述的基于lvds输入的视频显示设计方法,其特征在于,设置和使能视频输出图层设备包括:获取目标图像的像素大小,对比图层默认参数与目标参数,如果有差异则修改显示区域和显示图像的宽和高,根据修改后的参数设置图层设备并使能图层设备。

    技术总结
    本发明涉及一种基于LVDS输入的视频显示设计方法,其中,包括:获取LVDS输入设备信息,配置输入设备参数;根据配置参数启动输入模块,采集视频数据;创建输入模块的各个设备对象包括:输入设备用于对时序进行解析,物理pipe负责设备解析后的数据处理,物理通道负责将处理后的数据输出,并根据配置参数启动输入模块,对接收到的原始图像数据进行处理,实现视频数据的采集;将视频数据输出,将视频输入模块与视频处理模块vpss绑定,利用vpss对输入图像进行再次加工,同时将视频处理模块与显示模块进行绑定,将视频处理模块加工后的图像输出;从内存读取视频和图形数据,并通过相应的显示设备输出视频和图形。

    技术研发人员:高娟
    受保护的技术使用者:天津津航计算技术研究所
    技术研发日:2020.11.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-6733.html

    最新回复(0)