基于AVS-M和DM642视频服务器的研究 - [4]
DM642的L2片内存储器可以配置为SRAM或Cache。由于编码器的数据流程是有规律的,因此我们考虑用程序控制DMA控制器来进行内存和外存之间的数据交换,这样比硬件自动地来处理效率要高。
由于片内存储器容量的限制,不可能将编码器的所有数据都放入片内存储器。原始图像和重构图像是无法完全放到片内存储器中的。事实上,没有必要将这些数据放在片内,因为编码器的处理过程是以宏块为单位的,我们只需要在片内维护一个宏块的数据结构,CPU访问这些数据进行计算。每编码一个宏块的时候把该宏块需要的数据从外存调入内存,填到相应的这些数据结构中。利用DM642提供的QDMA机制,CPU发出QDMA请求后就可以继续对其它数据进行计算,由DMA负责将数据从外存调到内部存储器。因此如何设计使CPU与DMA之间协调工作很重要,本文2.3部分将详细讨论这个问题。
需要注意的问题是当前宏块编码过程中需要用到前面编码已经获得的一些信息。参考代码中是保留所有宏块的编码信息,这样的做法是不适合DSP实现的,需要的存储空间太大,片内存储器无法容纳。实际上编码当前宏块只需要参考它上面和左面的宏块。因此设计编码器中各模块的局部数据结构如图3所示。该数据结构保留上面一行的值和左边宏块的值,每编码完一个宏块,确定当前宏块的信息后更新这些缓冲区,这些数据可以放在L2中,不用访问外存。而且实验证明用来维护这样的数据结构所需要的计算时间很小。

图3 模块的局部数据结构
经过优化的程序和常用的数据结构的大小可以放在L2中。所以按照上面的分析将L2配置为256KBSRAM,将程序代码段(.text)、变量初值表(.cint)、常量字符串(.const)、全局变量静态变量(.bss/.far)、堆栈段(.stack)等放入L2SRAM当中,全局堆(.sysmem用于动态存储器分配)置于外部存储器。表1总结了编码器所要用到的存储空间分配情况。

表1编码器存储空间的分配
其中整像素运动估计参考缓冲区包括亮度和色度。因为参考帧有两个,整像素运动估计参考缓冲区也有两个。分像素运动估计参考缓冲区也是两个:一个用来调入SKIP编码模式的预测值,一个用来做分像素运动估计。
相关新闻
- 中网通将重点推介互动媒体与AVS标准2008-04-29 18:23
- 基于AVS的远程视频监控系统2008-04-15 13:37
- 今年AVS-IPTV用户目标20万2008-04-14 13:12
- AVS WORLD 2008移师上海2008-04-11 14:57
- 世界通信大会中国论坛聚焦AVS-IPTV等2008-04-11 14:54
- AVS标准产业变革升温2008-04-02 14:36
- 从欧盟战略看我国移动电视发展2008-03-28 10:11
- 芯片厂商鼎力支持 迎来AVS产业化新突破2008-03-27 15:55
- AVS依托IPTV加速商品化和市场化进程2008-03-25 11:49
- 长虹IP机顶盒选用NXP机顶盒解决方案支持2008-03-24 14:13
推荐新闻
- Seachange 视频服务器系04-24
- 如何实现广播电视视音频节目资源网04-23
- 如何依靠视频编解码IP核赚钱?04-11
- 电视摄像造型艺术11-18
- 视频常用名词解释11-18
- 理论:蒙太奇手法11-18
- 吉林电视台数字移动直播车02-02
- 浅谈关于电视节目技术质量的要求及01-05
- H.264解码器测试的“宜”与“10-12
- 我自搭建流媒体服务器10-11
最新新闻
- 县级电视台现场直播的实现04-26
- Seachange 视频服务器系04-24
- 如何实现广播电视视音频节目资源网04-23
- HDTV基础知识:H.264编码04-12
- 如何依靠视频编解码IP核赚钱?04-11
- 关于波分复用无源光网络核心技术分01-22
- 多语种新闻直播演播室系统设计和节01-22
- AVS编码与DSP实现的视频编码12-10
- 影视后期制作的概念与方法11-18
- 专业非线性编辑板卡综述11-18
发表评论