×
嵌入式 > 电路设计 > 详情

JPEG编解码芯片ZR36060在远程视频监视系统中的应用

发布时间:2020-05-25 发布时间:
|

    摘要:简要地叙述了JPEG编解码芯片ZR36060的主要特点、内部结构和工作模式,并给出发一个应用实例——基于JPEG的远程视频监视系统。

    关键词:JPEG编解码器  压缩  解压缩

    随着改革开放的进一步深入,各界对于安全防范和现场记录报警系统的需求越来越大,要求也越来越高。数字化的图像监视系统已经逐步淘汰了传统的闭路电视监视系统。对于需要以图像画面作为证据的远程视频监视系统而言,H.261和H.263图像的质量已无法胜任,这时需要传输高质量的JPEG图像。Zoran公司的JPEG编解码芯片ZR36060正是这样一种适合于基于JPEG的监视系统和数字图像采集、编辑的芯片。本文对ZR36060芯片的主要特点、内部结构和工作模式进行描述,最后给出它在远程视频监视系统中的应用。

1 ZR36060的主要特点

    ZR36060芯片具有以下主要特点:

    (1)视频压缩和扩展功能。对square pixel 和CCIR PAL视频信号可实现高达25帧/秒的压缩;对square pixel 和CCIR NTSC视频信号可实现高达30帧/秒的压缩。

    (2) 灵活的数据接口。ZR36060支持三种YUV视频接口模式,即8bit主模式,支持高达29.5Mbyte/s的压缩数据码率;16bit从模式,支持高达16.8Mbyte/s的压缩数据码率;8bit从模式,支持高达9.8 Mbyte/s的压缩数据码率。

    (3) 两种视频同步方式:同步主模式和同步从模式。同步主模式指芯片内部产生所有的定时信号;同步从模式则是芯片自己同步于一个外部的视频源。

    (4) 三种不同的比特率控制模式,用于不同的压缩场合。Auto Two Pass用于静止图像压缩,产生严格控制的压缩代码量;Single Pass用于运动视频压缩,保持压缩文件大小的大致固定;No Bit Rate Control使用固定的量化表。

    (5)可以和多种常用视频解码器(Decoder)实现无缝连接,例如:Philips、Brooktree、Samsung、 ITT、Harris 等公司的视频解码器。

    (6) 可以和多种主控制器(host controller)连接。

    (7) 可编程工作模式。通过对ZR36060内部的1K字节的内部寄存器的操作,可以灵活控制芯片的工作模式和各项工作指标。

    (8) 同一芯片既能进行压缩,也能进行解压缩。

2 ZR36060的内部结构

    ZR36060的结构框图如图1所示。

    视频接口部分是ZR36060和视频编解码器(Encoder或Decoder)的接口,通过这个接口,ZR36060输出(同步主模式)或输入(同步从模式)视频同步信号:行同步信号HSYNC、场同步信号VSYNC和奇偶场指示信号FI等等。视频接口还输出或输入YUV 4:2:2的数字视频信号。压缩时,Y[7:0]和UV[7:0]为数字视频信号输入口;解压缩时Y[7:0]和UV[7:0]为数字视频信号输出口(工作于16bit视频模式时,Y[7:0]为亮度信号,UV[7:0]为色度信号;工作于8bit视频模式时,Y[7:0]为亮度/色度复用信号,UV[7:0]不用)。

    代码接口和主控器接口是ZR36060与外部存储器和主控制器的接口。代码接口是ZR36060输出(压缩时)和输入(解压缩时)JPEG码流的接口。工作于代码主模式时,ZR36060通过片选信号CCS、读写信号COE和CWE以及代码总线CODE[7:0]对外部存储器读写压缩数据;工作于代码从模式时,不需要外部存储器,主控制器通过主控接口对ZR36060的内部FIFO直接读写JPEG码流。

    主控制器在主控接口通过两位地址ADDR[1:0]、片选信号CS、读写信号RD和WR以及数据总线DATA[7:0]直接对4个寄存器操作。这4个寄存器的结构如表1和表2所示。01b单元的高2位(MSB)和10b单元的低8位共10位地址间接映射了ZR36060内部的1K字节的寄存器。无论在代码主模式还是在代码从模式下,读写ZR36060的内部寄存器都必须先写入10bit的地址,然后紧跟着一个对Host Data寄存器(即11b单元)的8bit的读/写。主模式下,00b单元不使用,ZR36060通过代码接口对外部存储器读写JPEG码流;从模式下,00b单元作为内部代码FIFO,当工作于8bit从模式时,DATA[7:0]总线从00b单元读写压缩数据;当工作于16bit从模式时,DATA[7:0]和CODE7:0共同从00b单元读写压缩数据。ACK是ZR36060和主控制器的握手信号,JIRQ是ZR36060向主控制器发出的中断请求信号,CBUSY用来指示Code FIFO是否忙。主控制器通过主控接口对ZR36060的内部1K字节的寄存器的读写选定其工作模式和工作参数。

表1 代码主模式下的ZR36060的地址空间

地址ADD[1:0] 数据DATA[7:0] 读写属性
00 不用  
01 不用  MSB 只写
10 Host Address LSB 只写
11 Host Data 读写

表2 代码主模式下的ZR36060的地址空间

地址ADD[1:0] 数据DATA[7:0] 读写属性
00 CODE FIFO 读写
01 不用  MSB 只写
10 Host Address  LSB 只写
11 Host Data 读写

    控制部分用于给出ZR36060工作顺序的控制信号以及ZR36060发出的指示信号。包括:压缩/解压缩启动信号START、复位信号RESET、操作结束指示信号END等等。

3 ZR36060的工作模式

    ZR36060有多种工作模式,通过主控接口设置内部寄存器可以选择合适的工作模式,因此运用十分灵活。

    就主控制器接口来说,有三种工作模式,如图2所示。

    8bit代码宽度的代码主模式:在该模式下,主控接口和代码接口分开,需要一个外部的FIFO。主控接口通过数据总线DATA[7:0]负责对ZR36060内部寄存器的读写,而代码接口通过代码总线CODE[7:0]负责从外部存储器读写压缩数据。

    8bit代码宽度的代码从模式:在该模式下,主控接口和代码接口共用,主控制器的数据总线DATA[7:0]通过读写Host Data(11b单元)对ZR36060的内部寄存器进行设置;它还从CODE FIFO(00b单元)读写压缩数据。

    16bit代码宽度的代码从模式:在该模式下,主控制器的数据总线DATA[7:0]通过读写Host Data(11b单元)对ZR36060的内部寄存器进行设置和读取;它还和代码总线CODE[7:0]一起从CODE FIFO(00b单元)读写JPEG数据。

    就视频接口的同步来说,ZR36060有2种工作模式。

    同步主模式:在该模式下,ZR36060内部产生所有的视频定时信号。

    同步从模式:在该模式下,ZR36060使自己同步于一个外部视频源,采样外加视频信号的行同步信号HSYNC、场同步信号VSYNC和奇偶指示信号FI。

    就视频总线宽度来说,ZR36060有2种工作模式。

    8bit视频总线模式:在该模式下,UV[7:0]不用,视频亮度和色度信号都出现在Y[7:0]上,按照CCIR656建议复用,其数据格式为(U=Cb, V=Cr):

    U0,Y0,V0,Y1,U2,Y2,V2,Y3...

    16bit视频总线模式:在该模式下,Y[7:0]为亮度信号,UV[7:0]为色度信号

4 ZR36060在远程监视系统中的应用

    使用ZR36060实现的一个远程监视系统的远端(现场端)如图3所示。

    在这个远程监视系统的远端实现对输入模拟视频信号的数字化和压缩,并传送到,近端PC机接收,用软件解压缩并在显示器上恢复原图像。

    视频解码器接收摄像机输出的复合模拟视频信号,进行亮色分离和A/D转换输出4:2:2的YCbCr数字视频信号和时钟信号(27MHz)、行同步信号、场同步信号及奇偶场指示信号,这些信号都输入到ZR36060芯片。

    单片机通过主控接口对ZR36060的内部寄存器进行工作方式设置(初始化):对ZR36060的工作状态设为视频同步从模式、8bit代码主模式,16bit视频总线宽度。ZR36060采样视频解码器输出的同步信号并与之同步,接收来自视频解码器的PCM数字视频信号,进行压缩,并将压缩后的JPEG图像写入SRAM中。

    由于ZR36060外接的是SRAM,而不是FIFO,所以需要一个计数器作为地址发生器,ZR36060的CWE信号作为计数器的计数脉冲,它同时还作为SRAM的写信号将CODE[7:0]的压缩数据写入到SRAM中去。

    当ZR36060压缩完一帧后(存于SRAM中),单片机顺序读出,并发送到UART中,由Modem传到近端。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
09全球工程师调查:中国工程师不爱新兴技术?