tag 标签: 视频解码

相关博文
  • 热度 16
    2014-9-9 11:13
    1060 次阅读|
    0 个评论
    简介 视频系统,目前已经深入消费应用的各个方面,在汽车、机器人和工业领域日益普遍。其在非消费应用中的增长主要源于HDMI标准以及更快、更高效的DSP和FPGA的出现。 本文将概要讨论利用模拟或HDMI摄像机实现立体视觉(3D视频)的各种要求。文章将描述一个基于FPGA的系统,它将两个视频流结合成一个3D视频流,通过HDMI 1.4发射器进行传输,同时还要介绍一个基于DSP的系统,与通常需从两台摄像机接收数据相比,该系统可以节省DMA带宽。另外,本文还将描述一种方法,该方法可以实现一种并排格式,可供3D摄像机或要求3D视频的系统使用。 概述 立体视觉要求使用两台摄像机,二者相距大约5.5厘米,这是人类双眼之间的典型间距,如图1所示。 图1 支架上的两台摄像机(已针对立体视觉对齐) 图2所示高级功能框图使用了采用相同视频标准的两台同步摄像机、两个视频解码器和一个FPGA。为了确保完全一致的帧速率,摄像机必须行锁定到共同的参考时序。如果没有同步,不使用外部存储器,就不可能将输出组合起来并存储为完整的视频帧。 图2 高级功能框图 图3显示两个行锁定视频流被合并成一个立体图像。图4显示,如果不将整个视频帧保存在外部存储器中,则异步视频流无法合并。 图3 合并两个同步视频流 图4 如果不使用外部存储器,则无法合并异步视频流 然后,两台同步摄像机的输出由视频解码器(如 ADV7181D、ADV7182 或 ADV7186 用于模拟摄像机)进行数字化处;也可由 HDMI receivers (如 ADV7610或ADV7611 ,用于数字摄像机)进行数字化处理。 视频解码器和HDMI接收器都采用内部锁相环(PLL)在其输出总线上产生时钟和像素数据。这意味着,在数字化模拟视频,或者接收HDMI流时,将为两台摄像机产生两个独立的时钟域。另外,两个视频流可能存在对齐误差。这些时序差异和对齐误差必须在后端器件(如FPGA)中进行补偿,先将数据带至共同的时钟域,然后再将两个视频图像结合成单个立体视频帧。然后,通过一个支持3D的HDMI 1.4HDMI接收器(如 ADV7511 或 ADV7513—也可以将其提供给DSP(如 ADSP-BF609 Blackfin 处理器)—以便进一步处理。 【分页导航】 第1页: 概述及功能框图 第2页: 时钟架构 第3页: 两条视频流中的数据对齐误差 第4页: 对齐误差补偿 第5页: 对齐误差测量 第6页: 从两个对齐视频流生成3D视频 第7页: 并排3D视频 时钟架构 视频解码器有两种完全不同的时钟源,具体取决于其是否锁定。当视频PLL被锁定至输入同步信号时——水平同步(视频解码器)或TMDS时钟(HDMI)——结果会产生一个锁定至输入视频源的时钟。当视频失锁时,或者当PLL处于强制自由运行模式时,视频PLL不会锁定至输入同步信号,结果会产生一个锁定至晶振时钟的时钟输出。另外,时钟可能不会在复位后输出,因为LLC时钟驱动器在复位后设置为高阻抗模式。 因此,如果系统有两个或多个始于视频解码器或HDMI接收器的视频路径,即使将同一晶振时钟提供给两个视频解码器或HDMI接收器,仍会有两个不同频率、不同相位的不同时钟域,因为每个器件都会基于自己的PLL产生自己的时钟。 带锁定视频解码器的同步系统 典型的立体视频使用两个视频源,其中,每个视频解码器都会锁定至输入视频信号,并会基于输入水平同步或TMDS时钟产生自己的时钟。当两台摄像机同步——或行锁定至同一参考时序时——分帧线将始终对齐。由于两个独立的视频解码器会收到相同的水平同步信号,因此,像素时钟将拥有相同的像素时钟频率。这样,就可以将两条数据路径带入同一个时钟域,如图5所示。 图5 同步至同一参考源的两台摄像机。两个视频解码 器都会收到同一同步信号,因此,它们也会锁定 异步视频系统 不幸的是,其中一个视频解码器可能因视频源信号质量欠佳而失锁,如图6所示;或者,摄像机因视频链路断开而失去同步性,如图7所示。这会在两条数据路径中导致不同的频率,结果又会导致进入后端中的数据量不对称。 图6 带未锁定视频解码器的行锁定摄像机 图7 带锁定视频解码器的未锁定摄像机 视频失锁可以通过使用一个中断(SD视频解码器为SD_UNLOCK,分量视频解码器为CP_UNLOCK,或HDMI接收器中的TMDSPLL_LCK寄存器)来检测,该中断会在一定延迟后介入。视频解码器集成了不稳定水平同步平滑机制,因此,视频失锁的检测可能需要两三行。该延迟可通过控制FPGA中的失锁来减少。 【分页导航】 第1页: 概述及功能框图 第2页: 时钟架构 第3页: 两条视频流中的数据对齐误差 第4页: 对齐误差补偿 第5页: 对齐误差测量 第6页: 从两个对齐视频流生成3D视频 第7页: 并排3D视频 时钟三态模式 在设计FPGA时钟资源时,必须知道,默认情况下,许多视频解码器和HDMI产品在复位后将时钟和数据线路置为三态模式。因此,LLC像素时钟不适用于同步复位。 两条视频流中的数据对齐误差 为了简化系统并减少合并两幅图像所需存储器,到达FPGA的数据应进行同步,以使来自第一台摄像机的第M 行第N个像素与来自第二台摄像机的第M 行第N个像素同时收到。 在FPGA输入端,这可能很难实现,因为两条视频路径可能具有不同的延迟:行锁定摄像机可能输出存在对齐误差的行,不同的连接长度可能加大对齐误差,而视频解码器则可能带来可变启动延迟。受这些延迟影响,采用行锁定摄像机的系统会有一些存在对齐误差的像素。 行锁定摄像机对齐误差 即使是行锁定摄像机也可能输出存在对齐误差的视频行。图8显示来自两台摄像机的CVBS输出端的垂直同步信号。一台摄像机(同步主机)为第二台摄像机(同步从机)提供行锁定信号。380 ns的对齐误差是清楚可见的。图9展示的是这些摄像机输出端的视频解码器传输的数据。可以看到11个像素的位移。 图8 行锁定视频摄像机之间的380 ns视频对齐误差 图9 数字域中未补偿的11个像素的视频对齐误差 【分页导航】 第1页: 概述及功能框图 第2页: 时钟架构 第3页: 两条视频流中的数据对齐误差 第4页: 对齐误差补偿 第5页: 对齐误差测量 第6页: 从两个对齐视频流生成3D视频 第7页: 并排3D视频 不同的连接长度 所有电气连接都会带来传播延迟,因此,要确保两条视频路径具有相同的轨道和电缆长度。 视频解码器/HDMI接收器延迟 所有视频解码器都会带来可能因启用的功能而异的延迟。另外,有些视频器件含有可能增加随机启动延迟的因素——如深色FIFO。采用视频解码器的典型立体系统的随机启动延迟大约为5个像素时钟。含有HDMI发射器和接收器的系统(如图10所示)的随机启动延迟可能为40个像素时钟左右。 图10 流水线延迟测量设置 对齐误差补偿 图11所示系统中,一个视频解码器对来自各摄像机的模拟信号进行数字化处理。各视频路径的数据和时钟是独立的。两条视频路径都连接至FIFO,后者对输入数据进行缓冲,以补偿数据对齐误差。在输出数据时,FIFO使用来自其中一个解码器的共用时钟。在锁定系统中,两条数据路径应具有完全相同的时钟频率,以确保在摄像机行锁定且视频解码器锁定的情况下,不会出现FIFO溢出或下溢现象。 通过启用或禁用FIFO输出,控制模块可以维持FIFO电平以尽量减少像素对齐误差。如果采取了正确的补偿措施,则FPGA模块的输出应为与第一个像素对齐的两条数据路径。然后该数据提供给FPGA后端,以生成3D格式。 图11 使用数字FIFO来重新对齐视频图像 【分页导航】 第1页: 概述及功能框图 第2页: 时钟架构 第3页: 两条视频流中的数据对齐误差 第4页: 对齐误差补偿 第5页: 对齐误差测量 第6页: 从两个对齐视频流生成3D视频 第7页: 并排3D视频 对齐误差测量 两个数字化数据流之间的对齐误差可以在视频FIFO输出端进行测量,其方法是使用一个单一时钟计数器,该计数器在输入信号之一的垂直同步(VS)脉冲上复位。图12所示两个视频流(vs_a_in和vs_b_in)的对齐误差为4个像素。计数器使用列表1中所示方法测量对齐误差。计数从VS1的上升沿开始,并在VS2的上升沿终止。 如果一个帧的总像素长度是已知的,则可以通过从帧长中减去计数值,从而算出负偏斜(VS2位于VS1之前)。该负值应在偏斜超过像素帧长的一半时计算。结果应用来重新对齐FIFO中存储的数据。 图12 对齐误差测量 列表1 简单对齐误差测量(Verilog)。 module misalign_measurement( input wire reset, input wire clk_in, input wire vs_a_in, input wire vs_b_in, output reg misalign, output reg ready); reg cnt; reg cnt_en, cnt_reset; reg vs_a_in_r, vs_b_in_r; assign vs_a_rising = vs_a_in vs_a_in_r; assign vs_b_rising = vs_b_in vs_b_in_r; always @(posedge clk_in) begin vs_a_in_r = vs_a_in; vs_b_in_r = vs_b_in; end always @(posedge clk_in) if (reset) begin { ready, cnt_en } = 2'b00; misalign = 0; end else begin if ((vs_a_in == 1'b0) (vs_b_in == 1'b0)) { ready, cnt_reset } = 2'b01; else cnt_reset = 1'b0; /* beginning */ if (vs_a_rising vs_b_rising) begin misalign = 0; { ready, cnt_en } = 2'b10; end else if ((vs_a_rising vs_b_in) || (vs_b_rising vs_a_in)) { ready, cnt_en } = 2'b01; /* ending */ if ((cnt_en == 1'b1) (vs_a_rising || vs_b_rising)) begin { ready, cnt_en } = 2'b10; misalign = vs_a_rising ? (-(cnt + 1)) : (cnt + 1); end end always @(posedge clk_in) /* counter */ if ((cnt_reset) || (reset)) cnt = 0; else if (cnt_en) cnt = cnt + 1; endmodule 【分页导航】 第1页: 概述及功能框图 第2页: 时钟架构 第3页: 两条视频流中的数据对齐误差 第4页: 对齐误差补偿 第5页: 对齐误差测量 第6页: 从两个对齐视频流生成3D视频 第7页: 并排3D视频 从两个对齐视频流生成3D视频 一旦像素、行和帧数据都真正同步,FPGA可以将视频数据转换成3D视频流,如图13所示。 图13 用于实现3D格式的简化架构 输入数据由共用时钟读入存储器。同步时序分析仪检查输入的同步信号,并抽取视频时序,包括水平前后沿长度、垂直前后沿、水平和垂直同步长度、水平有效行长、垂直有效行数和同步信号极化。将该信息与当前水平和垂直像素位置一起传给同步时序再发生器,这样可以生成经修改的时序,以便支持所需3D视频结构。新生成的时序应延迟,以确保FIFO含有所需数据量。 【分页导航】 第1页: 概述及功能框图 第2页: 时钟架构 第3页: 两条视频流中的数据对齐误差 第4页: 对齐误差补偿 第5页: 对齐误差测量 第6页: 从两个对齐视频流生成3D视频 第7页: 并排3D视频 并排3D视频 对存储器要求最低的架构是并排格式,只需要一个两行缓冲器(FIFO)即可存储来自两个视频源的行内容。并排格式的宽度应为原始输入模式的两倍。为此,应使用一个双倍时钟来为拥有双倍水平行长度的再生同步时序提供时钟。用于为后端提供时钟的双倍时钟将以双倍速率清空第一个FIFO和第二个FIFO,这样即可并排显示图像,如图14所示。并排图像如图15所示。 图14 使用简单的FPGA行缓冲器来并排合并两幅图像 图15 视频时序下的并排576p图像 结论 ADI公司的解码器和HDMI产品以及简单的后处理技术可以打造出真正的立体3D视频,并为其传输提供条件。如本文所示,用简单的数字模块,无需使用昂贵的存储器,即可实现3D视频。这种系统可用于需要3D视觉的任何类型的系统中,从简单的摄像机,到基于ADSP-BF609 DSP的可以跟踪物体及其距离的专业系统。 【分页导航】 第1页: 概述及功能框图 第2页: 时钟架构 第3页: 两条视频流中的数据对齐误差 第4页: 对齐误差补偿 第5页: 对齐误差测量 第6页: 从两个对齐视频流生成3D视频 第7页: 并排3D视频
相关资源
  • 所需E币: 1
    时间: 2021-4-7 21:23
    大小: 1.87MB
    上传者: czd886
    基于DSP的H.264视频解码算法研究与实现
  • 所需E币: 1
    时间: 2021-3-19 23:26
    大小: 9.37MB
    上传者: samewell
    H264视频解码技术研究.zip
  • 所需E币: 1
    时间: 2021-3-19 23:27
    大小: 9.44MB
    上传者: samewell
    基于Blackfin533的H264视频解码的实现与优化.zip
  • 所需E币: 1
    时间: 2021-3-12 15:37
    大小: 2.48MB
    上传者: ZHUANG
    基于DSP+TMS320DM642的H.264视频解码的实现和优化
  • 所需E币: 4
    时间: 2020-11-17 22:13
    大小: 1.38MB
    上传者: xgp416
    深入研究MPEG4标准及其建议的视频解码模型资源大小:1.38MB[摘要]如今信息技术飞速发展,人们对多媒体,特别是包含有大量信息的数字视频的需求也越来越大。同时,超大规模集成电路技术fvLSI)、可编程逻辑器件(FPGA等)的发展使实时的视频编解码成为可能。本文深入研究了MPEG一4标准及其建议的视频解码模型。在此基础上针对MPEG-4标准提出了一种基于硬
  • 所需E币: 0
    时间: 2020-11-12 00:21
    大小: 9.72MB
    上传者: bwj312
    基于Blackfin533的H264视频解码的实现与优化
  • 所需E币: 4
    时间: 2019-12-25 21:58
    大小: 267.73KB
    上传者: 微风DS
    本文首先简要介绍了视频解码芯片SAA7113的特点与应用,然后介绍了初始化时的寄存器配置,用51单片机控制7113的方法,最后给出了初始化7113的汇编程序及控制方法。……
  • 所需E币: 4
    时间: 2019-12-25 21:47
    大小: 12.73KB
    上传者: quw431979_163.com
    应用于视频解码中的反向DCT变换(在ADSPBF533平台上的实现)……
  • 所需E币: 5
    时间: 2019-12-28 21:36
    大小: 213.07KB
    上传者: 238112554_qq
    采用离散型COMS图像传感器和视频解码器SAA7113设计了一种基于激光接力观测方法的嵌入式多维位移观测系统.基于SAA7113的激光变形观测系统设计与实现孟晓坤,李忠科,刘志勤,张金根(第二炮兵工程学院,陕西西安710025)摘要:采用离散型COMS图像传感器和视频解码器SAA7113设计了一种基于激光接力观测方0法的嵌入式多维位移观测系统。关键词:SAA7113视频解码重心计算对大型人工建筑(如隧道、桥梁、大坝、国防工程等)块选用专业视频解码器SAA7113把PAL制式的模拟数进行长期的自动化变形观测非常重要。掌握这些建筑的据经过A/D转换器转换成8位数字格式存储在存储器变形动态,可以及时发现隐患,避免重大损失,还可以积内,存储器地址由地址发生器产生。当采集完1帧数据累观测数据,为新的工程提供经验。后,微处理器对存储器中的数据进行重心计算,并把计算目前,自动观测方法可供选择的手段有限,且各有优结果通过通信接口传输到主控计算机。通信接口有一个缺点。就激光接力观测方法而言,PSD器件价格较高是限……
  • 所需E币: 4
    时间: 2019-12-25 15:34
    大小: 238.09KB
    上传者: quw431979_163.com
    一种基于视频解码芯片与CPLD的实时图像采集系统,采用视频解码芯片SAA7114H进行A/D转换,在CPLD芯片XC95216的逻辑控制下通过乒乓缓存技术进行数据存储.基于视频解码芯片与CPLD的实时图像采集系统李超纯,李亚兰,李小飞,杨特育,李志扬(华中师范大学物理科学与技术学院,湖北武汉430079)摘要:一种基于视频解码芯片与CPLD的实时图像采集系统,采用视频解码芯片SAA7114H进行A/D转换,在CPLD芯片XC95216的逻辑控制下通过乒乓缓存技术进行数据存储。关键词:图像采集CPLD乒乓缓存技术图像采集是实时图像处理的重要步骤。目前,图像(3)数字锁相环适用于各种标准和非标准视频信号传感器件主要有CCD(ChargeCoupledDevice)和CMOS源的同步处理和时钟的产生。(ComplementaryMetalOxideSemiconductor)。CCD技术现(4)水平和垂直同步信号的检测。在已经非常成熟,CCD摄像头仍然是高端应用的首选(5)在片产生符合ITU601标准的行锁定时钟。器件。它输出的模拟视频信号包括图像信号、行与场消SAA7114H还提供一个12……
  • 所需E币: 4
    时间: 2019-12-25 15:20
    大小: 277.66KB
    上传者: givh79_163.com
    FPGA验证已成为系统设计中的重要验证手段之一.详细介绍了基于FPGA的验证平台的硬件组成、工作过程及其设计过程中应该注意的问题.该验证平台主要用于对H.264/AVC解码系统进行硬件模块的验证,从而为整个视频解码系统的开发提供可靠的依据.……
  • 所需E币: 4
    时间: 2019-12-25 15:16
    大小: 214.85KB
    上传者: quw431979_163.com
    在嵌入式手机开发平台上实现视频解码处理的方法.首先介绍视频解码在嵌入式平台上的处理流程,然后具体分析视频解码算法中各个关键模块的实现方法,最后对该平台上的处理性能进行分析并给出结论.……
  • 所需E币: 5
    时间: 2020-1-4 12:56
    大小: 216.12KB
    上传者: rdg1993
    设计了一种基于H.264标准的CAVLC解码器,码流输入单元采用桶形移位器,以实现单周期解一个句法元素,在各解码模块中采用码表分割、算术逻辑替代查表、零码字跳转等关键技术,在减少路径延迟和提高系统吞吐率的同时,节省了硬件开销.整个设计采用Verilog语言实现,在XILINX的ISE8.2开发环境下通过FPGA验证,使用DesignCompiler在SMIC0.18μmCMOS单元库下综合,时钟最高频率可以达到165MHz.本设计可满足实时解码H.264高清视频的要求.集速堕壁.遮塑型型!!!!!坐!!!型鱼型堡H.264/AVC巾CAVLC翩码器晌硬件设计与实坝昊培毅,于映(福州大学物理与信息工程学院,福建福州350002)摘要:设计了一种基于H.2(;4标准的CAVLC解码器,码流输入单元采用桶形移位器,以实现单周期解一个句法元素,在各解码模块中采用码袁分割、算术逻辑替代查表、零码字跳转等关键技术,在减少路径延迟争提高系统吞吐率的同时,节省了硬件开销。整个设计采目Verikg语言实现,在XILINX的ISE8.2开发环境下通过FPGA验证,使用DesignCompiler在SMIC0.18阻ⅡlCMOS单元库下综合,时钟最高频率可以达到165MHz。本设计可满足实时解码H.264高清视频的要求。关键词:H.264变长编码视频解码HardwaredesignandimplementationofCAVLDinH264/AVCWUPeiYi,YUYi“g……