生活日常科创茶话
0
 
今天弄了个DVD倍线(假1080p高清)算法
小俊 2009-8-14 23:17:50
就是把DVD画质(960×540)通过放大2倍变成1920×1080高清分辨率的算法。

在网上down了一张DVD截图做实验:

28007


试验了5种算法(如此多像素点的计算当然要用CUDA@GTX285,破93别删我帖~~):

1、最邻近插值(最垃圾算法)

放大后局部图:

28008


全是马赛克,计算速度每帧0.24ms。

2、双线性插值

28009


有一点锯齿,计算速度也是每帧0.24ms。

3、双立方插值

28010


没有锯齿,略显得模糊,计算速度每帧0.61ms(用了快速算法)。

4、双线性插值+锐化(拉普拉斯算子)

28011


效果还行,颜色过渡边缘有点不平滑,计算速度每帧1.25ms(卷积计算太费时间)。

5、双立方插值+锐化

28012


目前最好水平了,效果比较满意,有点像1080p高清了。不过计算太慢了,每帧要4.52ms。
+500  科创币    虎哥   2009-08-14    一目了然。
+300  科创币    novakon   2009-08-14    努力動手
2009-8-15 10:34:54
1楼
0
怎么不用FPGA并行处理,lz不是很擅长FPGA吗?(我想难度可能会太大了)
2楼
0
什么软件来的  发行了没  好东西阿  如果能用在  网络视平上  ~~~ 太强大了   有很强的和商业价值
小俊(作者)
3楼
0
引用第1楼warmonkey于2009-08-15 10:34发表的  :
怎么不用FPGA并行处理,lz不是很擅长FPGA吗?(我想难度可能会太大了)


插值和锐化基本上我都用单精度浮点运算。如果在FPGA上构建单精度浮点运算单元的话会非常消耗LE。而且如果要求并行度高的话,需要构建非常多的运算单元,这在常用的中端FPGA上不太现实。此外,由于图像分辨率高,要求的计算速度快,因此要有很高的本地存储器带宽,这在FPGA上也很难做。
小俊(作者)
4楼
0
引用第2楼jrcsh于2009-08-15 10:38发表的  :
什么软件来的  发行了没  好东西阿  如果能用在  网络视平上  ~~~ 太强大了   有很强的和商业价值


我和darkstorm构思,咱们自己写的代码。
5楼
0
能放大 MPG2 /4 的格式不   这会是一场 革命
小俊(作者)
6楼
0
引用第5楼jrcsh于2009-08-16 10:13发表的  :
能放大 MPG2 /4 的格式不   这会是一场 革命


只是一个图像增强的算法,跟视频的原编码格式没什么关系。喜欢的话写成DirectShow的filter也可以。

好像已经有类似的软件,不过不清楚它们用什么算法。
7楼
0
问题是放大出来的和真1080P还是有差距
还有不是每个人都有GTX285+
要是只有G102M的话不知道要多长时间
小俊(作者)
8楼
0
引用第7楼phpskycn于2009-08-16 13:22发表的  :
问题是放大出来的和真1080P还是有差距
还有不是每个人都有GTX285+
要是只有G102M的话不知道要多长时间


算法还有待改进,毕竟这是假1080p。
在ION平台上跑过(CPU和GPU都够差了吧,相信大多数人的电脑不会比这个更差了),不开锐化,CUDA还是非常快的,双线性插值耗时1点多毫秒一帧,双立方插值耗时几个毫秒一帧,开锐化就比较惨不忍睹了,双线性插值+拉普拉斯锐化耗时20多毫秒一帧,最后那个方法耗时超过100毫秒。
2009-8-25 22:37:49
9楼
0
引用第7楼phpskycn于2009-08-16 13:22发表的  :
问题是放大出来的和真1080P还是有差距
还有不是每个人都有GTX285+
要是只有G102M的话不知道要多长时间

那要是用G965的不就卡到天上去了??
2009-9-9 23:38:19
小俊(作者)
10楼
0
引用第9楼韩菱纱于2009-08-25 22:37发表的  :

那要是用G965的不就卡到天上去了??


965不能跑CUDA。。。
2009-11-25 14:39:56
11楼
0
跑CUDA的速度只决定于SP数量么?
G210M和Ion的GF9400M(两个都是16SP,但G210M的SP频率高很多)会差多少
其实……本本上的GPU都太差了,GT240M也才48SP
人家小小的9600GSO都有96SP
计划买本以后直接远程连接我同学的Desktop
Core 2 Q8200 2.33GHZ带GTX260+,214个SP应该不会和GTX285+差太多
12楼
0
话说锐化后看起来有点假。。。
小俊(作者)
13楼
0
引用第11楼phpskycn于2009-11-25 14:39发表的  :
跑CUDA的速度只决定于SP数量么?
G210M和Ion的GF9400M(两个都是16SP,但G210M的SP频率高很多)会差多少
其实……本本上的GPU都太差了,GT240M也才48SP
人家小小的9600GSO都有96SP
计划买本以后直接远程连接我同学的Desktop
.......


受SP数量和频率影响都很大(理论上都是成正比)。对某些算法来说,存储器带宽也很重要,所以锐化算法的效率在ION上惨不忍睹。

G210M比ION快应该不少,除了频率因素,G210M也有独立的本地存储器,显存频率也高。
14楼
0
100多ms……ION……
如果是G210M级别的GPU,就算只有256MB的DDR2显存
80ms一帧应该还是有可能的。。。
也就是说一秒内能完成12.5帧,12.5帧每秒还是可以接受的
小俊(作者)
15楼
0
引用第14楼phpskycn于2009-11-25 15:29发表的  :
100多ms……ION……
如果是G210M级别的GPU,就算只有256MB的DDR2显存
80ms一帧应该还是有可能的。。。
也就是说一秒内能完成12.5帧,12.5帧每秒还是可以接受的


嗯,应该差不多。
不过要在ION上做实时就只能用简化算法了。
如果在GTX260以上做,那么甚至USM锐化都可以做到实时。
16楼
0
额,问题是有多少人有GTX260以上的呢
到现在,很多品牌机上还装着只有16个SP的东东,任凭9600GSO、9500GT多么便宜
G80以来,我认为8400GS、9300GS的销量大于其它型号总和(忽略QFX系)
小俊(作者)
17楼
0
引用第16楼phpskycn于2009-11-25 16:47发表的  :
额,问题是有多少人有GTX260以上的呢
到现在,很多品牌机上还装着只有16个SP的东东,任凭9600GSO、9500GT多么便宜
G80以来,我认为8400GS、9300GS的销量大于其它型号总和(忽略QFX系)


不算OEM市场的话,其实G92的卖得最多,呵呵。
不过即使只有16个SP,做图像处理一般也比CPU强(动用SSE指令的除外)。
18楼
0
个人认为OEM市场份额很大
还有,到处都是“Intel GMA”
小俊(作者)
19楼
0
GMA就没办法了,性能太差啦。好点的游戏都打不了。

想参与大家的讨论?现在就 登录 或者 注册

nkc production server  https://github.com/kccd/nkc.git

科创研究院 (c)2001-2018

蜀ICP备11004945号-2 川公网安备51010802000058号