一种基于FPGA实现MIPI CSI-2的RAW到YUV的转换方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201911138211.0
(22)申请日 2019.11.20
(71)申请人 南通嘉骏信息科技有限公司
地址 226000 江苏省南通市经济技术开发
区新东路9号电子工业园区8号楼一、
二东侧
(72)发明人 曹建楠 
(51)Int.Cl.
H04N  9/64(2006.01)
H04N  9/69(2006.01)
H04N  9/73(2006.01)
(54)发明名称
一种基于FPGA实现MIPI CSI-2的RAW到YUV
的转换方法
(57)摘要
本发明公开了一种基于FPGA实现MIPI  CSI -
2的RAW到YUV的转换方法,包括以下步骤:A、将
MIPI  CSI数据转换成并口数据;B、将并口raw10
数据转换成并口YUV422-8数据,其中可对并口数
进行gamma矫正、AE、AWB;C、将并口YUV422-8数
据转换成MIPI  CSI数据。本发明是基于FPGA实现
视频数据CSI -2的RAW到YUV的转换,FPGA具有灵
活的编程性,在不需要修改外围电路的基础上,
可以通过修改源代码来实现自己的需求,极大地
缩短了开发周期,
同时也降低了开发成本。权利要求书1页  说明书4页  附图1页CN 110830782 A 2020.02.21
C N  110830782
A
1.一种基于FPGA实现MIPI  CSI -2的RAW到YUV的转换方法,其特征在于:包括以下步骤:
A、将MIPI  CSI  数据转换成并口数据;
B、将并口raw10数据转换成并口YUV422-8数据;
C、将并口YUV422-8数据转换成MIPI  CSI数据。
2.根据权利要求1所述的一种基于FPGA实现MIPI  CSI -2的RAW到YUV的转换方法,其特征在于:所述步骤A中MIPI  CSI -2的数据包有两种:长包和短包;无论是长包还是短包,包的开头都是SoT,包的结尾都是EoT,此外,长包的SoT之后还有包头PH,EoT之前还有包尾PF,由此便可按照MIPI标准传输协议得到想要的有效并口数据。
3.根据权利要求1所述的一种基于FPGA实现MIPI  CSI -2的RAW到YUV的转换方法,其特征在于:所述步骤B中对并口数据进行gamma矫正、AE、AWB。
4.根据权利要求1所述的一种基于FPGA实现MIPI  CSI -2的RAW到YUV的转换方法,其特征在于:所述步骤C中并口数据转换成MIPI  CSI数据其实是第一步的逆向过程,先将pixel 数据转换成byte数据,然后嵌入长包和短包来显示每帧和每行的开始和结束,还有传输的数据类型,每行的字节数和虚拟通道。
权 利 要 求 书1/1页CN 110830782 A
一种基于FPGA实现MIPI CSI-2的RAW到YUV的转换方法
技术领域
[0001]本发明涉及图像处理技术领域,具体为一种基于FPGA实现MIPI CSI-2的RAW到YUV 的转换方法。
背景技术
[0002]目前采用较多的方案是利用ISP(Image Signal Processor,图像信号处理器)来处理图像信号传感器输出的图像信号,ISP通过一系列数字图像处理算法完成对数字图像的效果处理,主要包括去噪、gamma矫正、强光抑制、彩增强、AE(Auto Exposure,自动曝光)、AWB(Auto White Balance,自动白平衡处理)等处理,依赖于ISP才能在不同的光学条件下都能较好的还原现场细节。
[0003]目前的ISP芯片大都是功能定制型芯片,客户购买来可以直接使用,扩展性较差,当然也可以由客户提供需求给厂商,然后由厂商定制功能给客户使用,功能不同,其外围的器件也可能不同,需要进行额外的原理图设计和layout,需要使用额外的元器件,某些特殊的功能还需支付额外的费用,还有就是ISP驱动的设计也需要耗费较多时间和精力,在某些方面加大了研发周期,增加了研发成本。
发明内容
[0004]本发明的目的在于提供一种基于FPGA实现MIPI CSI-2的RAW到YUV的转换方法,以解决上述
背景技术中提出的问题。
[0005]为实现上述目的,本发明提供如下技术方案:一种基于FPGA实现MIPI CSI-2的RAW 到YUV的转换方法,包括以下步骤:
A、将MIPI CSI 数据转换成并口数据;
B、将并口raw10数据转换成并口YUV422-8数据;
C、将并口YUV422-8数据转换成MIPI CSI数据。
[0006]优选的,所述步骤A中MIPI CSI-2的数据包有两种:长包和短包;无论是长包还是短包,包的开头都是SoT,包的结尾都是EoT,此外,长包的SoT之后还有包头PH,EoT之前还有包尾PF,由此便可按照MIPI标准传输协议得到想要的有效并口数据。
[0007]优选的,所述步骤B中对并口数据进行gamma矫正、AE、AWB。
[0008]优选的,所述步骤C中并口数据转换成MIPI CSI数据其实是第一步的逆向过程,先将pixel数据转换成byte数据,然后嵌入长包和短包来显示每帧和每行的开始和结束,还有传输的数据类型,每行的字节数和虚拟通道。
[0009]与现有技术相比,本发明的有益效果是:
(1)本发明是基于FPGA实现视频数据CSI-2的RAW到YUV的转换,FPGA具有灵活的编程性,在不需要修改外围电路的基础上,可以通过修改源代码来实现自己的需求,极大地缩短了开发周期,同时也降低了开发成本。
[0010](2)本发明能够降低成本价格,外置ISP需要单独购买,其售价往往不菲,并且某些
特殊功能需要额外支付费用,使用外置ISP,需要进行额外的原理图设计和layout,需要使用额外的元器件;而FPGA具有灵活的编程性,不需要更改外围电路,根据需求修改源代码即可;支持更丰富的设计规划,可以对接收到的图像数据进行算法处理,包括gamma矫正,AE, AWB,BLC,嵌入或裁剪数据等等;减小板上布局面积,就本次使用案例而言,本发明FPGA的封装尺寸为3.5mm*3.5mm,而GW5200的ISP最小封装为7mm*7mm;降低运行功耗,本发明FPGA运行功耗大约在29mW,而GW5200的运行功耗大约为500mW,功耗过大会导致板子过热,另一方面也会影响用户体验;更高效的实现视频图像处理方案,目前厂商提供的ISP芯片不能完全满足用户需求,额外定制又需要花费大量时间,而通过FPGA仅需修改部分代码就可实现,不需要更改外围电路,大大缩短研发周期。
附图说明
[0011]图1为本发明流程图;
图2为本发明并口数据的传输方式波形图;
图3为本发明数据转换示意图。
具体实施方式
[0012]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0013]请参阅图1,本发明提供一种技术方案:一种基于FPGA实现MIPI CSI-2的RAW到YUV 的转换方法,包括以下步骤:
A、将MIPI CSI 数据转换成并口数据;
B、将并口raw10数据转换成并口YUV422-8数据,对并口数据进行gamma矫正、AE、AWB;
C、将并口YUV422-8数据转换成MIPI CSI数据。
[0014]本发明sensor输出的MIPI CSI 数据格式为raw10,数据差分对有四条,要实现1080P@60的图像显示,RAW10到YUV422-8的转换需要进行如下计算,分辨率为1080P即1920* 1080,帧率为60帧即每秒传输60幅完整的图像,所以这个sensor每秒传输的数据量为1920* 1080*60*10=1,244,160,000bit,由此可以得出每条数据通道的传输速率为1,244,160, 000/4=311,040,000bit/s,所以要想实现1080P@60的图像传输,sensor输出的最小传输速率是1,244,160,000b/s。
[0015]本发明中,步骤A中MIPI CSI-2的数据包有两种:长包和短包;无论是长包还是短包,包的开头都是SoT,包的结尾都是EoT,此外,长包的SoT之后还有包头PH,EoT之前还有包尾PF,由此便可按照MIPI标准传输协议得到想要的有效并口数据。
[0016]图2是并口数据的传输方式,clk_pixel_o是数据传输的时钟,一个时钟传输一个并口数据,raw10就会传输10bit的数据;fv_o是帧有效信号,高电平有效,上升沿代表一帧信号开始传输,下降沿表示结束传输;lv_o是行有效信号,高电平有效,上升沿表示一行信号开始传输,下降沿表示结束,前一个下降沿和后一个上升沿之间的低电平表示行消隐,可以用来调整帧率;pixel_data是像素数据,当fv和lv都是高电平的时候才是有效数据。
[0017]由于RAW10数据一个pixel是10bit的数据,而要转成YUV422-8格式的数据,需要将每个pixeldata截取高八位,然后在每个pixel之前嵌入一个八位的数据(8’h80),转换示意图如图3所示。
[0018]因为在第步骤C将并口YUV422-8数据转换成MIPI CSI数据的中,采用的是一个时钟传送八位的数据,这样就需要一个两倍的时钟来达到同步的目的,也就是说当传送一个RAW10的数据时,需要传送两个YUV数据。有两个方案可供选择,一是利用两倍的速率去传输数据;二是速率小于两倍的RAW10数据的pixclk,增加行有效的传输时间,保持帧率不变的情况下,行消隐的时间就会减小了。考虑到所用FPGA中PLL(Phase Locked Loop,锁相环)资源问题,采用了第二个方案。
[0019]由于每个有效数据之前嵌入了一个有效数据,没法提高传输速率的情况下,选择了增加行有效的长度来传输等量数据,因此,传输YUV的行有效长度会是raw10的两倍。[0020]在刚开始的时候,通过理论计算得知,要想实现1080P@60的图像传输,sensor输出的最小传输速率是1244160000b/s。如果使用最小的传输速率进行传输,将会得到一个行消隐特别小的lv,所以为了达到所需的帧率,适当提高sensor输出速率,增大行消隐。每帧图像传输的时间为1/60=16.67ms,所以一个fv有效的时间应小于16.67ms,1080P的分辨率有1080行,可以得出每行(有效长度加上行消隐的总和)的时间应该小于1/60/1080=15.43us,由于YUV需要两倍的行有效长度去传输数据,所以所需的最小pixclk应大于1920/(15.43/ 2)=249M,sensor输出的总速率最小为249*10=2490M=2,490,000,000b/s,每条数据通道的传输速率最小为2,490,000,000/4=622,500,000b/s,因为这是最小的极限值,所以真正配置sensor的时候需要取较大的值,经过多番比较,最终选取了lane rate(每条数据通道的传输速率)为684M/S,lane blanking(行消隐)为2024个PIXCLK,达到了理想的输出。同时为了保证跨时钟域数据
传输的稳定性,使用了一个FIFO来传输数据,图一中的PIXCLK作为FIFO写入的时钟,PIXDATA作为FIFO写入的数据,PIXCLK2作为FIFO读出的时钟,PIXDATA2作为FIFO读出的数据,其中,PIXCLK2是PIXCLK的两倍,PIXDATA是32bit的数据,PIXDATA2是8bit的数据。然后依靠状态机来控制生成YUV的并口数据,即FV2,LV2, PIXCLK2, PIXDATA2。在本发明中,对第一步输出的并口数据进行了gamma矫正,black level correction(BLC,黑白电平矫正),使得输出的图像更符合人眼接受的范围。
[0021]本发明中,步骤C中并口数据转换成MIPI CSI数据其实是第一步的逆向过程,先将pixel数据转换成byte数据,然后嵌入长包和短包来显示每帧和每行的开始和结束,还有传输的数据类型,每行的字节数和虚拟通道。
[0022]本发明能够降低成本价格,外置ISP需要单独购买,其售价往往不菲,并且某些特殊功能需要额外支付费用,使用外置ISP,需要进行额外的原理图设计和layout,需要使用额外的元器件;而FPGA具有灵活的编程性,不需要更改外围电路,根据需求修改源代码即可;支持更丰富的设计规划,可以对接收到的图像数据进行算法处理,包括gamma矫正,AE, AWB,BLC,嵌入或裁剪数据等等;减小板上布局面积,就本次使用案例而言,本发明FPGA的封装尺寸为3.5mm*3.5mm,而GW5200的ISP最小封装为7mm*7mm;降低运行功耗,本发明FPGA运行功耗大约在29mW,而GW5200的运行功耗大约为500mW,功耗过大会导致板子过热,另一方面也会影响用户体验;更高效的实现视频图像处理方
案,目前厂商提供的ISP芯片不能完全满足用户需求,额外定制又需要花费大量时间,而通过FPGA仅需修改部分代码就可实现,不

本文发布于:2024-09-22 21:24:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/396523.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   需要   传输   进行   图像   输出   处理
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议