基于MPEG-4-BIFS交互技术的嵌入式流媒体播放器

更新时间:2023-05-25 01:50:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信息终端

文章编号:!VVM&DE^M(MVVS)!!&VVEV&VS

基于!"#$%&%’()*

交互技术的嵌入式流媒体播放器

陈宁江,曾勇勤

(飞利浦东亚研究实验室,上海MVVV_V)

【摘

产品介绍

要】介绍一个在飞利浦多媒体处理器(上实现的嵌入式9:;<播放器。该嵌入式播放器以电视或监视器作为终A*("0B(1)

端,将成为基于计算机的9:;<播放器的重要补充,以满足不同用户群对终端的要求。作为其应用之一,还介绍了一个基于该播放器的网络教育系统。

【关键词】"#$%&’标准;9:;<播放器;交互式;网络教育;嵌入式系统

【+,-./01.】:7.Q(,H1H0*40(7.*+BO)0170?\0BB0B9:;<H21>0*(?H20?07.0B+7.Q0#Q(2(H,?O2.(?0B(1H*+)0,,+*=A*("0B(J

1@‘4Q()QO,0,1A6+*?+7(.+*1,.Q0B(,H21>17B(,17(?H+*.17.,OHH20?07.-+*)+?HO.0*.0*?(712,.+?00.*0aO(*0?07.,

-*+?B(--0*07.O,0*P*+OH,WI,+70+-(.,1HH2()1.(+7,‘4012,+(7.*+BO)0170.4+*50BO)1.(+7,>,.0?\1,0B+7.Q(,H21>0*W

【23456/7-】"#$%&’;9:;<#21>0*;:7.0*1).(8(.>;30.4+*5$BO)1.(+7;$?\0BB0B<>,.0?

!引言

最近几年随着因特网在我国的普及,多媒体技

的方式在网络上传输。物体集包括音频、视频、图像和二维R三维图形。此外,用户可使用鼠标与场景交互,这和6/"N非常相似,有很强的交互性。

对于网络教育上的应用,9:;<播放器可以作为一个插件与浏览器捆绑在一起,将其交互功能与浏览器的在线讨论和在线练习等功能结合在一起,提供给用户一个易用的交互式学习平台。

术在网络上的应用正在全国迅速推广。一方面高效的编解码技术(例如"#$%&’)成为在网络应用中首选的多媒体压缩技术,以最有效地利用网络带宽。另一方面,随着因特网基础设施的进一步建设,网络带宽逐步得到改善,这就要求有更好的宽带应用以提供更好的服务给用户。同时网络用户,特别是教育用户,对交互性、媒体丰富性提出了越来越高的要求。然而现有的流媒体应用,例如基于"()*+,+-.和/01230.4+*5,的多媒体技术的流媒体应用,只是提供简单的视音频流及其与网页或者图像的同步,而没有提供更多的交互功能。有一些专门致力于例如(61,.和$78(8(+,虽"#$%&’技术应用的公司,

然提供了端到端的交互式流媒体服务产品,但其播放器只能在计算机上运行,这就限制了它们的应用范围。笔者在深入研究了"#$%&’&9:;<=9:71*>将其功能实现在多;+*?1.-+*<)070@技术的基础上,

媒体处理器A*("0B(1加上一片通用CDEF#G所组成的平台上,其运行在通用F#G的部分可以方便地例如":#<。它是被移植到任何一个嵌入式F#G上,

在嵌入式终端上实现交互式网络应用的雏形。该嵌入式播放器可以与电视或监视器一起组成易普及、低成本、易用和易维护的用户终端。

MA*("0B(1处理器的软硬件体系结构

处理器是飞利浦公司专为消费电A*("0B(1(A")

子产品设计的一款超长指令集SM位T<#F#G。由于对其指令集进行了专门的优化,因此在处理多媒体数据时优于一般的T<#。此外它还包含了一些特殊的部件用来加速应用,例如和数据格式无关的以

T"I驱动的输入输出单元,用来处理图像尺度变

化、颜色空间转化的图像协处理器和用在"#$%解码的6NT解码协处理器。它也包含丰富的外围单元,如视频输入R输出,音频输入R输(#0*(HQ0*12)

出。其芯片系列#3U!SVV采用VWMX!?F"Y<工艺,主频最高达MVV"Z[,而即将推出的#3U!XVV系列采用VW!S!?工艺,主频包括MEE"Z[和SVV"Z[。

A"的软件结构采用一种非常适合媒体处理的

架构,称为A<<I(A*("0B(1<.*01?(7P<+-.41*0I*J

KSL

。类似于FY"()Q(.0).O*0)F+?H+707.Y\]0)."+BJK’L

,02)A<<I定义了一套接口规范,凡是按照此规范

"#$%&’的<#(<(?H20#*+-(20)和I<#(IBJ

编解码器K!L在低码率的情况817)0B<(?H20#*+-(20)

同下具有比"#$%&!和"#$%&M更高的编码效率。时"#$%&’系统部分定义了一种叫9:;<的技术。

KML

设计的软件模块,可以彼此连接,由A"软件包提供的模块管理库自动管理它们之间的数据流动和控一个解码应用程序就是制消息传递。如图!所示,

由一组A<<I模块组成的以数据驱动的自治系统。模块间根据配置,由管理库建立双向数据队列用来循环传输数据,每个模块从与前一个模块连接的满数据队列读入数据,处理完数据后把结果写入与后一个模块连接的空数据队列中去。应用程序可以通

9:;<是6/"N=6(*.O12/012(.>"+B02(7PN17PO1P0@

的一个超集,它提供了把多个不同的物体合成为一,并且动态地更新和控制各物个场景(<)070%*1HQ)体的功能。所有的数据都是和视音频数据一样以流

!"

电视技术

!""#年第$$期总第!%&期

&$45’67!&5$

!#’6&$78

过控制队列向模块发送命令来动态配置模块,模块也可以把响应发送回应用程序。图中最前面的模块是文件读入模块(只有输出),中间的是解码模块(既有输入也有输入),最后面的模块是视频输出模块(只有输入)。每个模块都工作在线程模式或!"#(!$%&’’()%"&’*+,&#-(%+$&)模式两种模式中的一个。前者适用于纯软件模块(例如解码模块),后者只适用于和硬件有关的模块(例如视频输出模块)。模块管理库使用操作系统提供的线程控制功能使模块工作在线程模式。模块如果有数据输入则工作,否则就放弃./0控制权。

标签和视觉物体同步。鼠标模块是根据鼠标位置信息画出一个鼠标的图形,并通过视频输出模块的叠加层:注1<输出。

1

!"#

2!3"播放器

软件结构

在此介绍的播放器是在4+$(5/.加上一块

!"$物体同步

2!3"播放器使用脚本管理器接收和处理各种

事件,并遍历场景。当脚本管理器得到当前所有需要显示的物体后,调用不同的解码器解码,最后由合成器完成物体合成并输出。事件包括鼠标、时间和脚本事件。在很多网络应用中需要实现多物体的同步,即视频流中的某些帧和其它物体(例如图像和图形)同步,它可以由两种方式实现。第一种方法是使用2!3"命令,在特定时间用!$=&’%,@&A&%&和删除和更新场景中的节点。第二#&)AB,&命令插入、

种方法是使用CB*B",’+)%,在特定时间更新同步网页,网页中可以包含图像和文字信息。图1,D显示的是播放器的多物体同步模型,其中图1对应基于

一部/.!67卡的平台上实现的。它由两部分组成,分运行在4+$(5上,主要完成网络数据接收、解复用、场景图的建立和管理。另一部分2!3"流的解码、主要完成图像、视音频解码,物体运行在67卡上,

合成和输出。在4+$(5这一侧偏重于控制,而在67这边偏重于媒体处理。整个软件的系统框图如图8所示,2!3"播放器作为浏览器的一个插件运行。

4+$(5系统通过流式数据队列向67应用程序

发送大容量媒体数据,通过消息队列发送消息。视音频和图像媒体数据按90:注

;<

(发送,9,,&==0$+%)

2!3"命令的方法,而图D对应着基于CB*B",’+)%的

方法。

送,>窗口帧缓存按帧发送。而2!3"解码器向67应用程序发送图形和媒体的控制信息,包括播放、跳转和停止的控制,以及显示的位置和次序。+/9?遥控器:注8<也通过消息队列发送鼠标的位置信息。当

67应用程序得到以上数据后,通过数据队列向

通过控制队列向6""9模块发6""9模块发送数据,送控制信息。

在图8中,>窗口帧缓存是用来动态地抓取运行在>窗口系统上的浏览器中显示的内容。67上的视频合成模块包括帧缓存合成子模块和图形子模块,它把视觉物体(视频、图像、图形和>窗口帧)同步、合成在一起输出到电视。其中各视觉物体的同步是根据视频流的时间标签,音频流也通过时间

包括解码和显示时间)的数据块,对于视频就是一帧的数据。:注;<90是7/EFGD标准中定义的带有时间标签(

其驱动程序再通过消息队列发送给67应用程:注8<+/9?通过无线网卡和4+$(5系统中的无线网卡通信来传送鼠标信息,序,以此来仿真遥控器。

它们经过合成以后输出。:注1<6’+7&H+B处理器的视频输出包含主层和叠加层两层,

!"#$%&$##’&$%

$()**+,,-./01$()+23)

!"

信息终

所对应的视频段。而当用户点击视频中的“热点”(例如男主人公身体上的矩形符号)时,就会跳出一个描述视频中相应人物的文字框。同步网页将自动随着视频流不断更新和它相关的文字信息。在线讨使论和在线练习是用C2D2和动态网页实现的工具,用户可以在上课时和其他学生、老师讨论,以及作课堂练习。当用户点击“和“这两8EF5>”72FGH.E541”个按钮时,将在7+8,播放器中触发另外两段视频流的播放,它们分别介绍课程简介和语言学习相关的背景资料。

!"!嵌入式设计

如图)所示)是考虑到了7+8,播放器的设计(

在嵌入式设备上的实现。它有以下几个特点。

(9)3/456系统只负责7+8,流解码和场景图的建立和管理,主要集中在控制和浮点计算,易于移植到像*+$,这样的通用嵌入式处理器上。

(合成))-*上集中处理和媒体有关的解码、和显示。主要涉及大量的整形计算。这样整个系统的计算被平衡地分配到两个子系统中。

(:)整个系统可方便地被移植到由一个通用处理器及一个多媒体处理器平台上,例如移植到

这个系统的核心7+8,播放器已在第:部分作了介绍。现在很多嵌入式设备都采用嵌入式3/456操作系统,因此本系统运行在个人计算机上的部分很容易移植到嵌入式产品上。另外3/456是开放源代码的操作系统,可以减少最终产品成本。

$;/</=>%06=0./2$%&’()(!注"#上。

媒体处(")使控制和媒体处理部分分工合作,理易于利用硬件加速模块。

(()-*上的应用程序只使用按照-,,?架构设计的模块。

(总结

本文介绍了基于*$@AB"B7+8,交互技术实现

的播放器,并在以3/456为操作系统的$I加上一个

-*处理器的平台上实现了嵌入式终端的雏形。它

提供了丰富的交互功能,适合于以电视或监视器作为显示的嵌入式用户终端。它将成为基于计算机的以满足不同用户群对终端7+8,播放器的重要补充,

的要求,为进一步拓宽网络应用提供技术基础。

"基于*$@AB"B7+8,网络教育系统

本文系统是完全基于公开的*$@AB"标准而

设计的,并使用7+8,技术向用户提供丰富的交互功能。系统的视音频解码器支持*$@AB"标准中制定的*$"格式。这意味着本系统支持的媒体内容可以很容易地和所有兼容*$@AB"标准的系统共享。

在图(中显示的是基于图"而设计的系统的用户界面图。其中,左上部分是7+8,播放器显示的合成后的视频、图像和图形,右上部分是在线讨论,左下部分对应的是同步网页,右下部分则是在线练习,而底部的长条是超级链接工具条。在7+8,播放器部分中显示了9个英语学习的视频流、"幅索引图像和)个矩形“热点”。当用户用鼠标点击不断上下循环滚动的索引图像时,视频流就会跳进到索引

参考文献

!9#+,JK+@IC-I9K,I)LKMA99%:(9(N*$@AB"O/10EO0./P/F2Q/E4*E10<D0.>/E49RSTSC5<U)TTTS

!)#+,JK+@IC-I9K,I)LKMA99%:’(TN*$@AB",U>Q0VSJFQEW0.)TTTS

!:#-./*01/2-0F;4E<EH/0>+4FS-./*01/2,X@D)S)XEF5YV04QSJFQEW0.)TTTS

!"#*/F.E>EPQS*,X%3/JFQEW0.)TTTS

!(#+,*?S+4Q0.40Q,Q.02V/4H*01/2?<</24F0+V=<0V04Q2Q/E4,=0F/P/F2Q/E49STS

责任编辑:哈宏疆

?5H5>Q)TT9S!

收稿日期:!""#$"%$&"

!注"#飞利浦半导体的$%&’()(处理器集成了*+$,和-./*01/2两个核,嵌入式3/456已经移植到*+$,上,这样本系统很容

易移植到$%&’()(上,应用在嵌入式产品中。

!"

电视技术

!""#年第$$期总第!%&期

本文来源:https://www.bwwdw.com/article/hct4.html

Top