1 技术参数一览
Items
Encoder
Decoder
备注
硬件参数
CPU
TMS320DM642(720MHz)
兼容C64X
视频D/A(A/D)
ADV7401(74.25MHz)
ADV7393(74.25MHz)
ADI公司
音频D/A(A/D)
PCM1808(48KHz)
PCM1807(48KHz)
TI公司
FLASH
4M Nor Flash
--
SDRAM
32M(133MHz)
--
ISRAM
256KB
128K Cache2
EMAC
10/100Mbps
支持以太网
软件参数
视频算法
XviD 1.1.0
符合MPEG-4
支持分辨率
4:3(800x600, 1024x768)
16:9(720p)
16:10(1280x800)
可向上、下
兼容
帧率
24f/s以上
1024x768及更低分辨率能达到30f/s
码率
6.144Mbps左右
--
视频质量
(量化步长)
4~14
允许范围:
4~31
开发环境
IDE版本
CCS3.1/CCS3.3
--
Flash Burn版本
V 2.8
--
JTAG仿真器
SEED-XDS560PLUS
--
NDK版本
V 1.71
--
DDK版本
V 1.11
--
基本功能
采集
视频:ADV7401输入为VGA-RGB,输出为YUV4:2:2
音频:PCM1808输入为双声道模拟信号,输出为16bit PCM
压缩
视频:XviD编码器的输入为YUV4:2:0,输出为MPEG-4
音频:PCM或MP3
传输
采用UDP组播经以太网传输
解压缩
视频:XviD×××的输入为MPEG-4,输出为YV12
音频:PCM或MP3
显示
视频:ADV7393输入为YUV4:2:2,输出为RGB
音频:PCM1807输入为PCM,输出为左右模拟声道
扩展功能
视频边界自动调整
第一次开机自动调整,相当于显示器的Autoset功能
视频割裂复原
防止视频在强干扰的情况下出现上下屏割裂现象
动态IP
配置
支持运行过程中动态配置编、解码设备的IP地址
音量调节
可随时调整PCM1807侧输出的音量
说明:1)本设计为TMS320DM642 Only解决方案,另支持TMS320DM642 + PCI Host方案,在第二种方案中网络传输功能在PCI Host中实现。
2)支持与编码器完全配套的采用DirectShow开发的PC机解码客户端。
3)编×××的软件部分与硬件部分相对独立,除线性汇编部分(.sa)要求支持C64X VLIW指令集以及EDMA指令,其它均为标准的C程序。
4)本文档所列技术参数在无特殊说明的情况下均指分辨率为720p(1280x720)时的指标。


2 系统架构
2.1 编码器
如图2.1所示为编码器的系统结构图。

图2.1 编码器系统结构图
视频源前端为VGA接口,经ADV7401视频采集芯片将RGB模拟信号转化成YUV4:2:2的数字信号,TMS320DM642的视频口VP2将采集到的YUV数据由EDMA(Enhanced Direct Memory Access)通道拷贝到SDRAM的存储单元。CPU从SDRAM中读取采集到的YUV数据转换成YUV4:2:0格式后进行XviD压缩编码并将编码后的码流回写到SDRAM中。前端音频源为双通道音频接口,通过PCM1808音频采集芯片,将模拟音频信号转换成PCM(Pulse Code Modulation)格式的数字音频信号,并以左对齐I2S格式送入TMS320DM642的多通道音频串口McASP。McASP接口将采集到的音频数据经EDMA通道拷贝到SDRAM中的存储单元。CPU读取SDRAM中采集到的音频数据进行处理并将结果回写到SDRAM中。经压缩处理后音视频码流再经以太网(10/100Mbps)以组播的形式发送到网络客户端。
2.2 ×××
如图2.2所示为×××的系统结构图。

图2.2 ×××系统结构图
CPU获取从以太网接口接收的视频码流数据并解码为YV12格式的YUV数据,进一步转换为YUV4:2:2格式后由VP2以60f/s的速率输出。输出的YUV4:2:2数据经视频分配器(Splitter)发送到多个视频接收器,再由视频接收器中的ADV7393转换成RGB格式送至显示器。解码后得到的PCM音频数据通过VP2通道随视频信号一同输出到视频分配器,再由视频接收器中的PCM1807转换成模拟信号送至音频功放。当然,也可以去掉视频分配器和视频接收器,将VP2端口输出的音、视频信号直接与PCM1807和ADV7393相连。
3 软件特性
3.1 软件接口
l         编码器
intMPEG4_encode( Encoder *enc_handle,
FVID_Frame *capFrameBuf,
unsigned char *outbuf );
l         ×××
int MPEG4_decode ( unsigned char *istream,
FVID_Frame *disFrameBuf,
int istream_size );
3.2 XviD简介
XviD是第二代MPEG-4视频编码内核中可选模式最多编码速度最快的视频编码,其各种算法的设计都具有代表性的先进意义。其编码功能模块的划分如图3.1所示。

图3.1 编码器功能模块划分
3.3 XviD优化
本设计中综合运用了项目级优化、程序级优化、EDMA优化、存储结构优化和线性汇编优化。在此,只对程序级优化和线性汇编优化进行简要说明。
3.3.1程序级优化
考虑到实用性,本设计在XviD源码的基础上进行了如下删减和改进:
1)去掉B帧编码;
2)去掉半像素插值;
3)采用h.263量化、去掉MPEG-4量化;
4)去掉GMC编码;
5)去掉AC高级预测;
5)sad值计算、钻石搜索等函数进行了改进。
3.3.2线性汇编优化
本设计性能优化的大部分工作集中在线性汇编的改写上,部分关键代码改写成线性汇编后性能对比如表3.1所示(×××的优化性能在此没有列出)。
表3.1 线性汇编性能对比
函数
优化前(时钟周期)
优化后(时钟周期)
fdct()
2536
600
idct()
10040
1224
quant_h263_inter()
4000
528
dequant_h263_inter()
4700
616
quant_dequant_h263_intra()
6372
688
sad16v()
224
80
transfer_16to8add()
1088
340
transfer_16to8copy()
640
200
transfer_8to16sub_s()
880
584
4 应用与演示
4.1 Encoder模块
如图4.1所示为编码器实物图,该编码器完成视频的采集、压缩和网络传输。视频和音频输入信号以及网络输出信号均连接到背板插口。

图4.1 编码器实物图
4.2 Decoder模块
如图4.2所示为×××实物图,该×××完成视频网络接收、解压缩和视频输出。模块左侧集成了一个视频分配器(Splitter)。该视频分配器采用FPGA实现,它将DSP解压缩后的YUV4:2:2格式的视频信号发送到两个千兆以太网口(对应车厢左右两侧)。

图4.2 ×××实物图
4.3 地铁PIS视频系统
如图4.3所示为用Encoder和Decoder模块搭建的地铁PIS(Passenger Information System)视频系统的拓扑图。该系统用于列车动态地图显示、报站广播、司机乘客对讲、播放广告等。目前已成功应用于深圳地铁2号北段延长线、广州3号线、台北地铁线、沙特麦加地铁线和新加坡地铁线。

图4.3 PIS系统拓扑图
4.4 效果演示
4.4.1 DSP Encoder + PC Decoder
在实验室环境下搭建的DSP Encoder + PC Decoder的系统如图4.4所示。

图4.4 DSP Encoder + PC Decoder
图中左侧的便携式PC机的音频输出和VGA输出分别为Encoder模块的音频和视频输入。中间为一个Encoder模块和一个Switch模块以及一个5V的开关电源模块,三者插在一块背板上,模拟音频信号和视频信号由背板引入。右侧为一个PC Decoder,PC机的以太网口与Switch模块的以太网口相连。PC机解码客户端软件接收来自Encoder发送的码流数据并解码播放。PC机解码客户端显示效果如图4.5所示。

图4.5 客户端显示效果
在此,便携式PC机分辨率设为1280×720,选用的播放文件为《冰河世纪II》高清视频文件。客户端PC机分辨率设为1280×960,图4.5中LCD屏显示的1280×720大小的中间区域(红色方框内)即为Encoder压缩后的视频码流的解码图像。
4.4.2 DSP Encoder + DSP Decoder
实际应用中搭建的DSP Encoder + DSP Decoder系统如图4.6所示。

图4.6 DSP Encoder + DSP Decoder
图中左侧为安放在列车车头的标准U3机箱,内部集成有DSP Encoder、Media Player和Switch等模块。压缩后的视频数据流经Switch模块由百兆以太网线(图中绿色)传输到右侧的U3机箱。右侧的U3机箱安放在列车车厢位置,内部集成有DSP Decoder和Switch模块,它将接收到的视频码流解码后由千兆以太网线(图中×××)传输到视频接收端并显示。

转载于:https://blog.51cto.com/sirrain/478700

基于TI C64X DSP高清视频编、×××软硬件技术概要相关推荐

  1. TI C64X DSP中断向量表的配置(硬件中断)-- 转自新浪博客

    1. 编写中断服务例程 在.c源文件中编写ISR函数c_intXX,用于中断处理,如: interrupt void c_intXX (void) { -; } 注:对于硬件中断而言,XX = 00~ ...

  2. TMS320DM8148CPCI卡学习资料第193篇:基于TI 达芬奇DSP TMS320DM8148音视编解码与存储6U-CPCI卡设计方案

    TMS320DM8148CPCI卡学习资料第193篇:基于TI 达芬奇DSP TMS320DM8148音视编解码与存储6U-CPCI卡设计方案 一.板卡概述 音视频编解码与存储板包括1片TI多核DSP ...

  3. 6U-CPCI卡设计方案学习资料第193篇:基于TI 达芬奇DSP TMS320DM8148音视编解码与存储6U-CPCI卡设计方案

    基于TI 达芬奇DSP TMS320DM8148音视编解码与存储6U-CPCI卡设计方案 一.板卡概述 音视频编解码与存储板包括1片TI多核DSP处理器-TMS320DM8148,以及一片Altera ...

  4. 基于TI AM5728(浮点双DSP C66x +双ARM Cortex-A15)的开发板

    开发板简介 基于TI AM5728浮点双DSP C66x +双ARM Cortex-A15工业控制及高性能音视频处理器: 多核异构CPU,集成双核Cortex-A15.双核C66x浮点DSP.双核PR ...

  5. 202- K7 +C6678学习资料:基于TI DSP TMS320C6678、Xilinx K7 FPGA XC7K325T的高速数据处理核心板

    基于TI DSP TMS320C6678.Xilinx K7 FPGA XC7K325T的高速数据处理核心板 一.板卡概述 该DSP+FPGA高速信号采集处理板由我公司自主研发,包含一片TI DSP ...

  6. 基于TI C55x架构的定点TMS320VC5509A音频专用DSP处理器开发板规格书

    TL5509-EVM是一款基于广州创龙TI C55x架构的定点TMS320VC5509A低功耗核心板SOM-TL5509设计的高端DSP开发板,底板采用沉金无铅工艺的2层板设计,它为用户提供了SOM- ...

  7. 基于TI达芬奇系列TMS320DM8148浮点DSP C674x JTAG仿真器接口、风扇接口

    TL8148-EVM是一款广州创龙基于TI TMS320DM8148(浮点DSP C674x + ARM Cortex-A8)SOM-TL8148核心板设计的开发板,它为用户提供了SOM-TL8148 ...

  8. 基于TI AM5728 + Artix-7 FPGA开发板(DSP+ARM) 5G通信测试手册

    前 言 本文主要基于我司TL5728F-EVM评估板 + 移远RM500Q 5G模块演示5G网络的功能. 本指导文档适用开发环境: Windows开发环境:Windows 7 64bit.Window ...

  9. C6657核心板资料:基于TI DSP TMS320C6657、XC7K325T的高速数据处理核心板 375

    基于TI DSP TMS320C6657.XC7K325T的高速数据处理核心板 一.板卡概述    该DSP+FPGA高速信号采集处理板由我公司自主研发,包含一片TI DSP TMS320C6657和 ...

最新文章

  1. 关于使用 jquery Validate 使用出现的问题
  2. mysql 汉编码 的选_peewee连接mysql汉语言数据编码_mysql
  3. 《软件测试技术》课程第二周随笔
  4. Android开发笔记(一百六十九)利用BottomNavigationView实现底部标签栏
  5. nodejs 图片处理模块 rotate_如何针对数据不平衡做处理?
  6. c语言中cnthe普通变量,不得不说,关于 *(unsigned long *) 和 (unsigned long)
  7. KeepLive for Android 安卓保活组件
  8. LilyPond教程(2)——开始你的第一份乐谱
  9. B站视频封面图片获取_CodingPark编程公园
  10. 引入YouTube视频自动控制开始和暂停
  11. 关于对-rw-r--r-- 的详细讲解
  12. 计算机中的条件格式在哪里,Word中如何实现“条件格式”
  13. UE4 为简易的房子添加内饰
  14. FME会员期刊(2012秋季版)——更新完毕
  15. 美国计算机考研难度排名,2019USnews美国大学研究生cs专业百强排名一览
  16. 二叉树家谱关系实验报告
  17. BP_TOOLS_MODE[] = bp-tools
  18. 静态代码分析工具清单:开源篇
  19. 在PowerDesigner中应用达梦数据库
  20. 怎么愉快的复制网页上不能复制文字的方法

热门文章

  1. Delphi XE4,C++ Builder XE4,RAD Studio XE4 v18.0.4905.60485(With Update 1) 官方下载激活
  2. php展厅播控系统,展厅中控系统
  3. 钉钉上线3.0版本:推外部联系人、服务窗等功能
  4. 智能化社区会给我们的生活带来什么新体验?
  5. 22道Java架构师面试题及答案分享
  6. 年度第一首发。阿里Java顶级架构师面试标准手册对标P8,牛×啊
  7. Leetcode36.Valid Sudoku有效的数独
  8. Java实现Aligenie天猫精灵OAuth2.0认证授权流程
  9. 欣向路由全自动一吧多网的实现(转)
  10. VSCODE编译报 undefined reference to `xxxx‘