打印

jpg 用单片机解码时没有问题的,看谁能搞定!

[复制链接]
楼主: wangkj
手机看帖
扫描二维码
随时随地手机跟帖
21
wangkj|  楼主 | 2009-11-28 17:41 | 只看该作者 回帖奖励 |倒序浏览
能做,做到,做好,这是三个完全不同的境界。

使用特权

评论回复
22
hartcomm| | 2009-11-28 18:12 | 只看该作者
很多单片机包括stm32都有乘法器 你还用移位 难道arm的移位比51块?
如果不要存储解压后的数据 其实ram需求很小 也就是量化表 huffman表 占些空间 当然 2k够不够我也不知道
其实快不快就在于反余弦变换,量化,YUV-RGB转换 因为这其中是乘法  优化好这几个就好办多了

使用特权

评论回复
23
wangkj|  楼主 | 2009-11-28 18:18 | 只看该作者
法拉利比夏利跑得快正常,要是夏利能跑过法拉利,那才是高手!
之所以用+和移位是因为,乘法周期远远大于加法!
cpu最快的运算时+和移位,然后是减法,乘法,最慢的是除法。
做单片机的应该都知道。这是基本知识。

使用特权

评论回复
24
wangkj|  楼主 | 2009-11-28 18:20 | 只看该作者
解码,完全可以不用乘法。用整数运算才能极大加快速度!
另外,如果用乘法,也非常消耗cpld的逻辑单元,这个也是能不用就不用的。

这些,都应该能避免,关键是软件设计水平。

好的软件和差的软件设计,就在于,对很多东西的灵活处理。

使用特权

评论回复
25
hartcomm| | 2009-11-28 18:32 | 只看该作者
51的乘法周期远远大于加法,但现在很多单片机却不是
还有你到底是用单片机还是cpld解压缩?单片机的c语言可以很方便的移植到cpld的语言?

另外 高手要看考量的指标  不同的指标不同的高手

使用特权

评论回复
26
sinanjj| | 2009-11-28 18:45 | 只看该作者
到了一定程度就是算法啊。


只玩过位图点阵的。。。。。

难点在于做到最好。
尽量用移位,加减,而且还要占用RAM低。确实不容易。


关键问题在于:这个有多大应用价值。

是不是以后手持设备可以8位MCU+LCD,成本做到50RMB内?

我的感觉还是提供一个gtk类似的接口是最终目的。


wangkj现在想的是不是显卡部分使用jpg算法,压缩RAM需求啊。

相当于X使用了jpg压缩传输。


这个主要是算法。要求实施人员除了精通jpg原理外,还要对代码进行最残酷的优化。

使用特权

评论回复
27
wangkj|  楼主 | 2009-11-28 19:05 | 只看该作者
思南说的没错,做到这点,必须对单片机相当了解,对jpg算法相当清楚才行。

cpld的verilog和keil c很多方面确实非常相似,c语言的程序,很多可以相当容易的转换成verilog.

使用特权

评论回复
28
wangkj|  楼主 | 2009-11-28 19:06 | 只看该作者
c和verilog的区别就是:c是串行,代码量不会增加很多资源消耗。
而verilog是并行的,代码量越大,运算越复杂,需要的资源越多。

使用特权

评论回复
29
inter_zhou| | 2009-11-28 22:38 | 只看该作者
数码相框别人都已经做乱了。
也是用的8051的内核

使用特权

评论回复
30
inter_zhou| | 2009-11-28 22:43 | 只看该作者
法拉利比夏利跑得快正常,要是夏利能跑过法拉利,那才是高手!
之所以用+和移位是因为,乘法周期远远大于加法!
cpu最快的运算时+和移位,然后是减法,乘法,最慢的是除法。
做单片机的应该都知道。这是基本知识。

不同结构的CPU是不一样的结果,有些CPU的乘法指令的速度是比较快的。
如果要乘32,用移位需要左移5位,而汇编指令每次只能移1位,看一下反汇编的结果应该是移位的效率要低很多的

使用特权

评论回复
31
wangkj|  楼主 | 2009-11-28 23:30 | 只看该作者
数码相框用的是硬件解码,控制用51.

不同结构的cpu,+-/× 速度确实不同,
硬要抬杠的话,也可以吧mmx指令弄到单片机中。
咱这个说的是普通单片机,是51。

使用特权

评论回复
32
宇容创行| | 2009-11-29 09:42 | 只看该作者
现在带个dsp核的mp4之类的国产ic比51还便宜,没必要折腾这个

使用特权

评论回复
33
wangkj|  楼主 | 2009-11-29 15:20 | 只看该作者
51 就是3-5元钱,有3-5元的mp4带dsp吗?反正我没见过。

使用特权

评论回复
34
inter_zhou| | 2009-11-29 17:39 | 只看该作者
如果乘32,就算在51里面应该也比左移5位快吧,51的汇编每次只能移一位

使用特权

评论回复
35
inter_zhou| | 2009-11-29 17:42 | 只看该作者
数码相框的方案确实很便宜,不是用硬件解码的,控制跟解码就一颗IC,一般都是51的内核,不过外围都是增强型的。

使用特权

评论回复
36
lianshumou| | 2009-11-30 15:45 | 只看该作者
没想到我写的算法还有人拿出来讨论.  单片机是能实现的, 只是确实慢.  用ARM7和STM32时是会快很多,里面的关键算法咱都是用汇编写的.不过51的不是!实在不想在上面花太多时间了, 而且就算用汇编写出来,51也不能优化很多.  关于IDCT的速度问题. 在整个JPG解码过程中,IDCT虽然占大头,但另一个算法占的也少不了多少,那就是数据流的huffman解码. 位流获取也是相当点时间的.

使用特权

评论回复
37
lianshumou| | 2009-11-30 15:46 | 只看该作者
想过用CPLD或是FPGA来加速,不过呢,那个成本就直线上升了,

使用特权

评论回复
38
宇容创行| | 2009-11-30 15:51 | 只看该作者
51 就是3-5元钱,有3-5元的mp4带dsp吗?反正我没见过。
wangkj 发表于 2009-11-29 15:20
带2kram的51 3-5元是买不到的,现在1美元以下带mpeg2解码的cpu都有了

使用特权

评论回复
39
wangkj|  楼主 | 2009-11-30 16:15 | 只看该作者
1美元以下带mpeg2解码的cpu 是哪个?没听说过。

使用特权

评论回复
40
wangkj|  楼主 | 2009-11-30 16:51 | 只看该作者
STC90LE52AD         3.6 -2.4         8K         4352         3         1个         无         10位          39         有         有         45K         有         无         4个         无         8.0起         8.0起         7.0起

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则