RGB转换到YUV程序注释.doc_第1页
RGB转换到YUV程序注释.doc_第2页
RGB转换到YUV程序注释.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RGB转换到YUV程序注释Y= CA(RG )+ G+ CB* (BG)+YOFFSETV=Cr = CC(RY)+ COFFSETU=Cb = CD(BY)+ COFFSETY=0.299*(R-G)+G+0.114*(B-G)+2(12-4)=0.299R+0.587G+0.114B+2(12-4);U=0.492*(B-Y)+211 = -0.148R-0.289G+0.437B+211;V=0.877(R-Y)+211 = 0.615R-0.515G-0.100B+211;补偿后输出都为正数数字系统求Y,Cr,Cb 系数CA=0.299,CB=0.114,CC=0.713,CD=0.564本系统延迟5个时钟?module RGBtoYUV(R_in,G_in,B_in,clk0,qY,qU,qV);input wire 11:0 R_in,G_in,B_in; /输入RGB数据output wire 11:0 qY,qU,qV; /输出YUV数据input wire clk0; /时钟wire 12:0 R_G, B_G,Yno;/wire coutR_G,coutB_G,coutRB_G,coutR_Y,coutB_Y;reg 11:0 Gbuf1,Gbuf2,Gbuf3,Gbuf4;reg 11:0 Rbuf1,Rbuf2,Rbuf3,Rbuf4,Bbuf1,Bbuf2,Bbuf3,Bbuf4;wire 11:0 R4,B4;wire 22:0 R_Gby306,B_Gby116;wire 23:0 Ycrno,Ycbno;wire 12:0 B_Y,R_Y,RB_G;assign R4=Rbuf4;assign B4=Bbuf4;signedSUB13 RminsG_inst( .clock(clk0), /求R_G.dataa(1b0,R_in),.datab(1b0,G_in),/.cout(coutR_G),.result(R_G);signedSUB13 BminsG_inst( .clock(clk0),.dataa(1b0,B_in),.datab(1b0,G_in),/.cout(coutB_G),.result(B_G);/ mult 0.299=0.299*1024=306,放大1024倍相乘mul306 R_Gby306_inst(.clock(clk0),.dataa(R_G),.result(R_Gby306);/116=0.114*1024 放大1024倍mul116 B_Gby116_inst(.clock(clk0),.dataa(B_G),.result(B_Gby116);/=R_Gby306/1024+B_Gby116/1024加法并缩小1024倍ADD13 RB_G_inst(.clock(clk0),.dataa(R_Gby30622:10),.datab(B_Gby11622:10),/.cout(coutRB_G),.result(RB_G);/加上G ADD13 Yno_offset_inst(.clock(clk0),.dataa(1b0,Gbuf3),/由于RG_B延迟了所以要用延迟后的绿色G.datab(RB_G), /divide 1024.result(Yno);/Yno 没有加上偏移系数YOFFSET=28,/求R-Yno 延迟1个signedSUB13 R_Y_inst( .clock(clk0),.dataa(1b0,R4),.datab(Yno),/.cout(coutR_Y),.result(R_Y);/ 求=B4-Yno signedSUB13 B_Y_inst( .clock(clk0),.dataa(1b0,B4),.datab(Yno),/.cout(coutB_Y),.result(B_Y);/求出U(Ycrno)没有加上偏移系数,放大了1024倍mult898 Cr_inst(.clock(clk0),.dataa(R_Y),.result(Ycrno);/求出V(Ycbno) 放大了1024倍mult504 Cb_inst(.clock(clk0),.dataa(B_Y),.result(Ycbno);/assign B_Y12=coutB_Y;/assign R_Y12=coutR_Y;/assign B_G12=coutB_G;/assign B_G12=coutR_G;assign qY=Yno12:0+13h0100; /加上偏移系数2(12-4)=28assign qU=Ycbno23:10+13h0800;/ =Ycbno/1024assign qV=Ycrno23:10+13h0800; always (posedge clk0 )beginGbuf1=G_in;Gbuf2=Gbuf1;Gbuf3=Gbuf2;Gbuf4=Gbuf3;/Gbuf5=Gbuf4;/Gbuf6=Gbuf5;/Gbuf7=Gb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论