本文已经授权予《大众硬件》《大众数码》
转载时请注明来自Soomal以及《大众硬件》《大众数码》
早在2000年之前,国内就有不少音频发烧友寻思着如何利用淘汰下来的电脑配件设计专用的数字音频播放器,当时讨论的还是围绕着AMD K5、Intel 奔腾、Cyrix的586级别芯片来进行的。在当时,种种问题困扰着这些发烧友们,如何不用风扇达到静音?如何盲操作播放曲子?如何将机器设计得又小又好看?如何充分降低成本?这些都是当年的拦路石,但这种思想上的火花,却丝毫不比国外的发烧友来得玩,甚至更早。
光有火花还不行,还得有充足的物质条件。前些时候,我们看到新闻说,“我国中科院计算所自主研发的CPU龙芯芯片组装的电脑今年6月将小批量生产,据说价格将在1500元左右。同时由于龙芯产业进程的不断推进,我国国产的千元龙芯电脑有望普及。”我们认为时机到了,而这篇文章就是要围绕“如何利用龙芯2号芯片来设计数字播放器”。随着数字媒体的飞速发展,我们已经不满足纯粹的数字音频播放器了,而需要一套全能的数字媒体播放器。
设计基于龙芯2号芯片的可行性
将PC的功能专职化是未来IT家电的潮流,现在已经不乏这种产品。
松下公司最新推出了两款mini组合音响D-Dock SC-SX800和SC-SX400。和传统的组合音箱相比,这两款产品具备80G硬盘,呈现出很明显的PC特征,或者可以直接说这就是一套Audio PC系统,这两套系统还具备网络连接能力,从Gracenotes server(类似CDDB服务器)下载音乐标题和信息。在外形上,和传统组合音箱还是很接近,不过搭配的音箱不再是无源音箱,而是有源音箱?
其实这不是什么最顶尖的高新科技产物,因为它只是成熟技术的再组合。我们遗憾的是,首先设计出这种时髦但不先进的东西是日本人,而不是海尔、长虹、新科。
游戏迷一定知道上图是个什么东东。这就是微软最新的游戏机XBOX 360,它和Power PC的架构完全相同,唯一不同的是,它专职为游戏而生。
将PC的功能专职化,可以诞生游戏机、数字音频播放器,那么,我们今天要说的“通用数字媒体播放器”也是完全可以。
什么是“通用数字媒体播放器”,就是能播放MP3、CD、APE、FLAC、MPC、DVD、HDTV、Mpeg2、Mpeg4、DivX、Xvid、Ogg、AVS等一切能在电脑上播放的数字媒体源,不管它是不是流媒体。需要有可升级性,支持未来的新的数字媒体。对于音频而言,对CPU的运算要求相对较低,而视频,尤其高清视频对CPU的要求则需要较高。而我们的龙芯II主频达到了1GHz,性能相当于2GHz 奔四处理器。有了这样的核心部件,加上针对性优化,龙芯II 1GHz 处理器足以应付目前所有的视频解码,甚至是720的高清视频。新闻中所说的“1500元基于龙芯II的PC”都能设计出来,可见龙芯II是一颗多么便宜的芯片。那么将这台“通用数字媒体播放器”售价控制在1000元左右是可行的,甚至可以更低,但它能提供比其他播放器更多的数字体验,这比DVD播放器上市之初的价格还要低廉。
龙芯II还有一个比较有优势的特点,让它非常适合用于播放器设计,那就是它的低功耗和低发热量,这可以大幅节省电源和散热系统中的铜铝材料,在当前铜铝猛长的大环境下,这个优势可以衍生出廉价、静音、环保等新优势来。
光有硬件核心还不够,周边组件的成本也很重要。在某次国家科技成果展览时,我们有幸看到了基于龙芯的PC裸机展示,它配套的内存、显卡、声卡、网卡和PC所用的完全一致。这样可以得到大量廉价的资源,而无需再行设计,国内外很多厂家都能提供资源,甚至技术。这样能大幅降低综合成本,当达到一定量时,这台“通用数字媒体播放器”控制在几百元的价格水平也是完全可以预料的。
廉价的核心芯片加上丰富的周边资源,我们已经有了最基本的“通用数字媒体播放器”硬件基础。
既然是类PC架构设计,光有了硬件基础,还是不够的,操作系统更重要。龙芯II不支持X86指令集,因此它无法运行我们所熟知的Windows系统,既便能运行微软的主流操作系统,也没法降低成本,因为微软的OS成本太高,这与我们的“廉价”目标有违。我们不妨将目标锁定在开源的Linux或者其他操作系统上。
Linux版本众多,而其中有个叫GeeXboX的,GeeXboX是一套为数字媒体而生的Linux OS,我们并不需要在未来的播放器中使用这套系统,因为它还不够,它没有全程盲操作的解决方案,但是它的设计思路中闪光点太多,我们在设计“通用数字媒体播放器”专用OS时可以大量借鉴。在国内,不乏Linux开发商,这些技术资源,都可能用于这台全新的播放器。还有一个OS叫BeOS,它也是以数字媒体应用为主的操作系统,它同样提供了很多借鉴点。
综上所述:廉价的硬件+可借鉴的操作系统=设计“龙芯II通用数字媒体播放器”的物质基础。
开始设计“龙芯II通用数字媒体播放器”
操作上要有传统播放器般的简单,功能却要与PC媲美,这是设计的初衷。
硬件界面部分:
前几天,我们就放出了这张图,这张图用软件建模渲染而成,此次加上了部分功能讲解。这可以看作我们对“龙芯II通用数字媒体播放器”用户界面的理解。
1、进度旋钮,在高级的视频编录设备上都有这么一个旋钮,它能实现类似视频播放器中进度条的作用。旋钮代替进度条比按钮代替旋钮要人性化也要更好用更有手感。
2、电源开关,或者设计成待机状态开关
3、退碟按钮,碟片在未来几年还是主要的节目源。
4、CD虽然支持TEXT标签,但是播放器能支持的不多。而数字节目源都有完善的TAG,显示正在播放的节目信息很重要,显示屏的作用相当有用,它同时也可以显示跳跃的电平,甚至类似Winamp等播放器的视频效果。在以前,这些效果支持依赖单片机实现,而这台机器中,用CPU计算视觉效果,可以无限制的更新到自己喜欢的效果,甚至可以做到跳舞小人跟着音乐DANCE。
5、USB插口,这是传统播放器没有的东西,它用于软件升级,如何升级呢?我们在后面的软件部分提到。
6、功能按钮组,实现常规的暂停、停止、上下曲功能之外,还可以实现自定义的按钮,这有些类似游戏模拟器中的功能按钮映射。
7、在机器背面,就是常见的视频、多声道音频输出端口。
8、遥控器。实现基本操作。
我们还可以考虑更高级的设计。例如:
9、加入硬盘存储,用于存储节目,这比光碟更安静。
10、数字广播接收,以及定时录制。可以使用遥控器或者旋钮快速切换电台。
11、多台“龙芯II通用数字媒体播放器”的节目共享机制
12、有线或者无线网络接入,自动连接网络节目源服务器,这类似机顶盒。或者支持小区内P2P节目共享。
13、可作为家庭节目服务器。
14、更多功能……只要电脑能实现的均可实现。
软件设计部分:
1、使用Linux核心操作系统,无需图形界面,操作系统要实现全程可盲操作。
2、Linux核心基础上,构造一个类似Windows Media Player的播放器,同样无需界面,但是需要象Windows Media Player的插件机制,这是用户升级机器的基础。盲操作可以使用键盘鼠标的Hook(钩子)监视程序实现或者在OS核心中就做到支持。其基础原理是,每一个旋钮、按钮的操作都对应一个虚拟键(盘)值,操作时,系统获知键值并作出相应操作。
3、在Windows系统中,放入一张光盘或者插入一个移动存储设备,系统会自动检索该设备,并提示或者直接执行相应操作,这种设计叫做“插入通告”。在Linux下,一样可以实现,这是盲操作升级的技术核心。在操作系统中约定一个关键文件名作为升级插件的文件名,或者文件头作为约定规范,当用户插入U盘时,OS自动检测U盘内文件,发现符合插件文件规范的文件,即刻自动升级。假设约定的文件名是“plug_out_xxx.tgz”,当用户插入含有“plug_out_ape.tgz”或者“plug_out_divx.tgz”的文件时,OS开始判断文件的合法性,检测合法后开始自动升级,系统增加了APE和Divx的播放能力。这种设计可以很大程度上让所有菜鸟用户以最简单方式维护播放器。
这也是如何回避各种各样认证费用的关键所在。各种各样认证让国内厂商利润微薄甚至亏本,但是,没法回避掉,因为他们做的都是“XXX 播放器”,只要做DVD播放器,就得交几个美金,以企业行为,逃避掉认证费用是不可能的,除非不想混了。但是用户行为是这些专利所有者无法控制的。“龙芯II通用数字媒体播放器”出厂时可以只放几个“免费的解码”插件,例如常见的WAV、CD等,但是用户可以升级出各种各样的解码来。“龙芯II通用数字媒体播放器”是一个通用播放平台,不会涉及任何解码认证的问题。也许用户根本就不懂这些,也无需担心,销售人员可以代劳。
4、插件的构成可以学习Foobar2000或者Winamp的,插件可以分为几大类,例如:解码插件、视觉效果插件(前面提到的跳舞小人插件就隶属这个类)、效果器插件等。
5、在网络提供详细全面的SDK开发包,鼓励程序员做插件代码移植。这点很重要。网络上不乏大量的开源解码方案,只要简单移植就可以获得足够多的资源了,如果程序员们有心,还能做成针对性优化过的插件出来。这和电脑用户使用免费软件没什么两样。
硬件架构和配置的设计:
1、使用PC相同的架构,及CPU、声卡、显卡、网卡等几大件,在标准版的设计中,可以不用硬盘,豪华版本可以加入大容量硬盘支持。OS存储在高速闪存卡中,128M足矣,无需图形界面的OS不会太大,启动也会很快,剩余的空间也足够用于升级插件用。闪存卡买白菜价的今天,它已经很有广泛使用的价值,而且它根本不怕震动,可靠性也好。使用高度集成的设计,能集成的全部集成,甚至CPU都焊定在主板上,这样可以做到既稳定又小巧,不以硬件可升级为卖点,省下每一个可以节省的毫子。
2、在保证性能的基础同时,配置尽可能低。声卡芯片可以不用带DSP的,DSP功能可以用龙芯II模拟实现,可选资源,威盛的Envy24系列,显卡无需强悍的3D性能,以有针对性的视频优化的芯片最佳。网卡大把大把的,基本应用均已经足够。如果优化做得好,128M或者256M内存绰绰有余,豪华版本可以多使用一些。
3、可以考虑集成数字功放,做到真正的全数字解决。
这样设计,可以让用户基本以操作传统播放器的方式来操作“龙芯II通用数字媒体播放器”,而获得的却是多种多样的数字化体验。
我们的梦想
以上就是我们的“龙芯II通用数字媒体播放器”的设计思路,我们能力有限,不可能将上述构思做成一台真实的产品,但是我们仍旧心怀一份梦想,希望能看到这么一个实物,在数字化家电的探索路上,没有谁敢自命专家,但需要的是思想的火花,在文章中提到的许多构思,很多来自普通的音频发烧友,我们只不过做了一次整理。我们很衷心的希望国内走出“廉价竞争”和“误导性宣传”的怪圈,少一点“首创流媒体电视”,多一点实实在在的东西。不要让日本家电总是领先于我们,实际上他们的技术优势相对有限,但是他们的创意水平和科技应用却远远高于我们。我们的这篇文章观点未必就对,但若能让国内的家电大厂能燃起一些思想火花就很有价值了,在最后,我们向龙芯II的总设计师胡伟武先生致敬,谢谢你。