天天育儿网,内容丰富有趣,生活中的好帮手!
天天育儿网 > BT601 BT656 BT709 BT1120 解析

BT601 BT656 BT709 BT1120 解析

时间:2018-09-23 23:43:38

相关推荐

BT601 BT656 BT709 BT1120 解析

从ITU-R BT1120文档上可知,BT1120支持的是1080p:

文档定义一帧为1 125总行数和1 080有效行;每行有效像素为1920

图像频率60、50、30、25和24Hz包括逐行、隔行和帧分段传输;在60、30和24 Hz系统中,也包括这些值除以1.001的图像频率,

文档规定对于10位接口对应于数字量化级0(10)至3(10)和1 020(10)至1 023(10)的数据字保留用于数据标识目的,不得

作为图像数据出现。

下面是逐行扫描系统帧结构SAV和EAV称为定时基准码,定时基准码由4个字的序列组成 ,前3个字为固定前缀,第4个字运载的信息定义出场识别(F)、 场/帧消隐期(V)和行消隐期(H)。 使用SAV和EAV来指示视频时序,可以减少视频传输的引脚数量。

注1 —EAV和SAV中(F/V/H)的值反映F、V和H比特的状态;该值以F、V、H组成的3比特字用二—十进制记数(BCD)表示(F对应MSB,H对应LSB)。例如,数值3代表的比特为F=0、V=1和H=1

8bit

P3 = V xor HP2 = F xor HP1 = F xor VP0 = F xor V xor H辅助数据EAV终端和SAV始端之间的水平消隐间隔可被应用于传送辅助数据包。在逐行系统中,在线路1到41(包括)和1 122到1 125(包括)期间;

消隐数据

数字消隐期间不应用于定时基准码(SAV和EAV) 、行号或者不应用于辅助数据(ANC)的数据字根据复用数据流中的合适位置,在这些位置上填充以对应于下列消隐电平的字:

16(8)对于Y、R、G、B信号;

128(8)对于CB/CR(时分复用的色差信号)。

64(10)对于Y、R、G、B信号;

512(10)对于CB、CR(时分复用的色差信号)。接口行号数数据

行号数数据由指明行号数的两个字组成。行号数数据的位置应紧接在EAV之后 ,行号数数据的比特分配如下:

误码检测码

误码检测码为循环冗余校验码(CRC),用以检测有效数字行、EAV和行号数数据中的

误码,它由两个字组成,决定于下列多项式发生器式子:

EDC(x)=x18+x5+x4+1

校验码的初始值置0,计算起始于数字有效行的第一个字,结束于行号数数据的末一个

字。计算两个误码检测码,一个用于亮度数据(YCR),一个用于色差数据(CCR)。误码

检测码的比特分配如表9所示。误码检测码的位置应紧接在行号数数据之后。

并行数据与并行数据复用

并行数据流中Y与CbCr分别用10位数据传输,在并行复用中Y与CbCr合并成10位传输。从下图中可以看到SAV/EAV、行号和误码检测码的位置。

视频数据格式BT656接口使用的是8位或者10位4:2:2 YCbCr数据,为了能够处理HDTV数据传输,有些设计使用16位或者20位YCbCr的接口(本质上是两个BT656数据流,一个为数据Y,一个为数据CbCr),或者使用时钟的两个边沿传输数据。

BT1120与BT656的区别

BT656主要是针对PAL/NTSC等标清视频。时钟频率是27MHz。注意采样频率灰度为12.5MHz,色度为6.25MHz。随着高清视频的发展的需要,又推出了BT1120标准,它与BT656是类似的,只不过时钟频率更高了,以适合高清视频的传输。

601是SDTV的数据结构 656是SDTV的interface

709是HDTV的数据结构 1120是HDTV的interface

实际的同步信号现行同行信号的关系========================================================================================================================================================//该程序通过内嵌同步码产生行和场同步信号

1 module sav_eav_detec( 2 input clk, 3 input [15:0] din, 4 output[15:0] dout, 5 output h_sync_out, 6 output v_sync_out 7 8 ); 9 10 reg [15:0] v_data [6:0] ;11 12 always @( posedge clk )13 begin14 v_data[0] <= din;15 end16 genvar i ;17 generate18 19 for( i = 0;i <= 5;i = i+1 )20 begin :data_dly21 always@( posedge clk )begin22 v_data[i+1] <= v_data[i];23 end24 assign dout = v_data[6];25 26 end27 endgenerate28 wire [6:0] time_ref_code;29 reg [6:0] time_ref_code_r = 0;30 assign time_ref_code [6] = (v_data[3][7:0] == 8'hff ) ? 1'b1 : 1'b0;31 assign time_ref_code [5] = (v_data[2][7:0] == 8'h00 ) ? 1'b1 : 1'b0;32 assign time_ref_code [4] = (v_data[1][7:0] == 8'h00 ) ? 1'b1 : 1'b0;33 //assign time_ref_code [1:0] = (v_data[0][7:0] ==8'h80 )? 2'b00 : ((v_data[0][7:0] ==8'h9d) ? 2'b01:((v_data[0][7:0] ==8'hab )? 2'b10:((v_data[0][7:0] )==8'hab ? 2'b11:0)));34 assign time_ref_code[0] = (v_data[0][7:0] ==8'h80) ?1'b1 : 1'b0;35 assign time_ref_code[1] = (v_data[0][7:0] ==8'h9d) ?1'b1 : 1'b0;36 assign time_ref_code[2] = (v_data[0][7:0] ==8'hab) ?1'b1 : 1'b0;37 assign time_ref_code[3] = (v_data[0][7:0] ==8'hb6) ?1'b1 : 1'b0;38 // always @( * )39 // begin40 // case( v_data[0][7:0] )41 // 8'h80 :time_ref_code[1:0] = 2'b00;42 // 8'h9d :time_ref_code[1:0] = 2'b01;43 // 8'hab :time_ref_code[1:0] = 2'b10;44 // 8'hb6 :time_ref_code[1:0] = 2'b11;45 // default :;46 // endcase47 // end48 49 always @( posedge clk )50 begin51 time_ref_code_r <= time_ref_code;52 end53 54 // reg h_sync;55 // reg v_sync;56 reg h_sync_r = 0;57 reg v_sync_r = 0;58 always @( posedge clk )59 begin60 case(time_ref_code_r )61 7'h71 :begin h_sync_r = 1'b0; v_sync_r = 1'b0; end62 7'h72 :begin h_sync_r = 1'b1; v_sync_r = 1'b0; end63 7'h74 :begin h_sync_r = 1'b0; v_sync_r = 1'b1; end64 7'h78 :begin h_sync_r = 1'b1; v_sync_r = 1'b1; end65 default : begin h_sync_r = h_sync_r; v_sync_r = v_sync_r; end66 endcase67 end68 69 reg [3:0] h_sync_dly = 0;70 reg [3:0] v_sync_dly = 0;71 always @( posedge clk )72 begin73 h_sync_dly[3:0] <= {h_sync_dly[2:0],h_sync_r};74 v_sync_dly[3:0] <= {v_sync_dly[2:0],v_sync_r};75 end76 77 wire h_black ;78 reg h_black_r = 0;79 reg v_black_r = 0;80 assign h_black = h_sync_r | h_sync_dly[3] ;81 always @( posedge clk )82 begin83 h_black_r <= h_black;84 v_black_r <= v_sync_r;85 end86 87 88 89 90 assign h_sync_out = h_black_r;91 assign v_sync_out = v_black_r;92 endmodule

如果觉得《BT601 BT656 BT709 BT1120 解析》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。