基于SAA6752的MPEG-2的编码系统
M。EMPRESSSAA6752可以产生打包的基本流,其码流可以根据不同的应用进行设定,一种是对应于DVD格式的PES流,其码诣可变的;另一种是对应于TS的PES流,其码率是恒定的。
2.1.4复位部分
该系统提供两种复位方式:一种是硬复位;另一种是利用I2C控制软件实现软复位。
2.1.5输出接口部分
该系统提供两种TS并行输出接口:一种是TTL接口;另一种是标准LVDS接口。
2.2软件编程
为了控制EMPRESS的编码,I2C接口线被用来将该系统与计算机相连以实现计算机控制EMPRESS芯片的目的,同时初始化SAA7114。所有的相关操作均是通过I2C总线访问寄存器实现的。在I2C控制软件中,需要确定EMPRESS和SAA7114的I2C读写地址。
EMPRESS的I2C读写地址:
(1)当EMPRESS的I2C选择信号为低时,其I2C写地址为40H,读地址为41H。
(2)当EMPRESS的I2C选择信号为高时,其I2C写地址为42H,读地址为43H。
SAA7114的I2C读写地址:
(1)当SAA7114的I2C选择信号为低时,其I2C写地址为40H,读地址为41H。
(2)当SAA7114的I2C选择信号为高时,其I2C写地址为42H,读地址为43H。
为了防止EMPRESST和SAA7114的I2C地址发生冲突,将EMPRESS的I2C选择信号设置为低电平,则EMPRESS的I2C写地址定义为40H;将SAA7114的I2C选择信号设置为高电平,则SAA7114的I2C写地址定义为42H。
控制软件应实现以下的I2C接口函数:
(1)VoidI2C_Read_One_Byte(intaddress,intsubaddress,intvalue)
该函数主要实现对给定寄存器一个字节的读取,address确定需要访问的芯片,subaddress确定需要访问的寄存器,value为返回寄存器值。
(2)I2C_Write_One_Byte(intaddress,intsubaddress,intvalue)
该函数主要实现对给定寄存器一个字节的写入,address确定需要访问的芯片,subaddress确定需要访问的寄存器,value为要写入寄存器值。
(3)I2C_Read_Muiti_Bytes(intaddress,intsubaddress,intcount,int*buffer)
该函数主要实现对给定寄存器多个字节的读取,address确定需要访问的芯片,subaddress确定需要访问的寄存器,buffer为返回多个寄存器值。
(4)I2C_Write_Multi_Bytes(intaddress,intsubaddress,intcount,int*buffer)
该函数主要实现对给定寄存器多个字节的写入,address确定需要访问的芯片,subaddress确定需要访问的寄存器,buffer为要写入多个寄存器值。
通过调用这些函数,就可由I2C接口为EMPRESS和SAA7114的片内寄存器进行设置。
使用I2C控制软件,可以任意修改参数(PID、码率等)产生和输出所需要的TS、PS、PES、ES流。在设定输出码率为5~9Mbit/s时,可以得到较高品质的视频图像。
SAA6752采用噪声过滤和运动估计技术,使得基于SAA6752的MPEG-2编码系统在低码率压缩情况下,对于有干扰的输入信号仍能提供高质量编码效果。这特别适合于以较低码率压缩的作用,例如DVD视频刻录和个人视频刻录(PersonalVideoRecording)。
在保证高编码质量的同时,基于SAA6752的MPEG-2编码系统设计非常简单,易于实现。当使用该芯片设计MPEG-2编码系统时,只需在外围添加视频模/数转换芯片、音频模/数转换芯片和外部SDRAM,普通的模拟视频和音频信号就可以被压缩成高质量的MPEG-2视频流和MPEG-1layer2或AC-3音频流,复用成为PS或TS,提供给存储或广播媒介。由于所有的视频和音频编码算法和软件都是运行在片内处理器中,因而只需较少的系统控制资源。而主控芯片只要通过I2C总线设置编码参数即可,无需用户具有较多的MPEG编码经验或投入过多的设计成本,缩短了设计周期。
因此,用SAA6752设计低成本高品质的编码 《基于SAA6752的MPEG-2的编码系统(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/165701.html
2.1.4复位部分
该系统提供两种复位方式:一种是硬复位;另一种是利用I2C控制软件实现软复位。
2.1.5输出接口部分
该系统提供两种TS并行输出接口:一种是TTL接口;另一种是标准LVDS接口。
2.2软件编程
为了控制EMPRESS的编码,I2C接口线被用来将该系统与计算机相连以实现计算机控制EMPRESS芯片的目的,同时初始化SAA7114。所有的相关操作均是通过I2C总线访问寄存器实现的。在I2C控制软件中,需要确定EMPRESS和SAA7114的I2C读写地址。
EMPRESS的I2C读写地址:
(1)当EMPRESS的I2C选择信号为低时,其I2C写地址为40H,读地址为41H。
(2)当EMPRESS的I2C选择信号为高时,其I2C写地址为42H,读地址为43H。
SAA7114的I2C读写地址:
(1)当SAA7114的I2C选择信号为低时,其I2C写地址为40H,读地址为41H。
(2)当SAA7114的I2C选择信号为高时,其I2C写地址为42H,读地址为43H。
为了防止EMPRESST和SAA7114的I2C地址发生冲突,将EMPRESS的I2C选择信号设置为低电平,则EMPRESS的I2C写地址定义为40H;将SAA7114的I2C选择信号设置为高电平,则SAA7114的I2C写地址定义为42H。
控制软件应实现以下的I2C接口函数:
(1)VoidI2C_Read_One_Byte(intaddress,intsubaddress,intvalue)
该函数主要实现对给定寄存器一个字节的读取,address确定需要访问的芯片,subaddress确定需要访问的寄存器,value为返回寄存器值。
(2)I2C_Write_One_Byte(intaddress,intsubaddress,intvalue)
该函数主要实现对给定寄存器一个字节的写入,address确定需要访问的芯片,subaddress确定需要访问的寄存器,value为要写入寄存器值。
(3)I2C_Read_Muiti_Bytes(intaddress,intsubaddress,intcount,int*buffer)
该函数主要实现对给定寄存器多个字节的读取,address确定需要访问的芯片,subaddress确定需要访问的寄存器,buffer为返回多个寄存器值。
(4)I2C_Write_Multi_Bytes(intaddress,intsubaddress,intcount,int*buffer)
该函数主要实现对给定寄存器多个字节的写入,address确定需要访问的芯片,subaddress确定需要访问的寄存器,buffer为要写入多个寄存器值。
通过调用这些函数,就可由I2C接口为EMPRESS和SAA7114的片内寄存器进行设置。
使用I2C控制软件,可以任意修改参数(PID、码率等)产生和输出所需要的TS、PS、PES、ES流。在设定输出码率为5~9Mbit/s时,可以得到较高品质的视频图像。
SAA6752采用噪声过滤和运动估计技术,使得基于SAA6752的MPEG-2编码系统在低码率压缩情况下,对于有干扰的输入信号仍能提供高质量编码效果。这特别适合于以较低码率压缩的作用,例如DVD视频刻录和个人视频刻录(PersonalVideoRecording)。
在保证高编码质量的同时,基于SAA6752的MPEG-2编码系统设计非常简单,易于实现。当使用该芯片设计MPEG-2编码系统时,只需在外围添加视频模/数转换芯片、音频模/数转换芯片和外部SDRAM,普通的模拟视频和音频信号就可以被压缩成高质量的MPEG-2视频流和MPEG-1layer2或AC-3音频流,复用成为PS或TS,提供给存储或广播媒介。由于所有的视频和音频编码算法和软件都是运行在片内处理器中,因而只需较少的系统控制资源。而主控芯片只要通过I2C总线设置编码参数即可,无需用户具有较多的MPEG编码经验或投入过多的设计成本,缩短了设计周期。
因此,用SAA6752设计低成本高品质的编码 《基于SAA6752的MPEG-2的编码系统(第2页)》