我做的提高烂视频质量的算法和效果图
小俊2010/02/02软件综合 IP:广东
前段时间做了个视频播放器,带几种视频增强算法,包括k-Nearest Neighbor降噪(去马赛克)、双立方插值缩放、卷积锐化等,由于运算量巨大,全部用CUDA写,轻松做到视频的全实时处理。

demo1.jpg

demo2.jpg

demo3.jpg

demo4.jpg

右半屏是经过处理的,算法是依次采用kNN降噪、  双立方插值放大、5X5卷积锐化。左半屏是原始视频经过默认的纹理放大(双线性插值)。2ms是指整帧的计算时间(不是半屏)。

视频源是来自youku的高压缩烂片。
来自:计算机科学 / 软件综合
30
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
kangyuhelf2
15年1个月前 IP:未同步
184018
建议对比图为两张一样的图。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184023
引用第1楼kangyuhelf2于2010-02-02 23:08发表的  :
建议对比图为两张一样的图。。


有的

cudademo1n.jpg

cudademo1.jpg

   cudademo3n.jpg

cudademo3.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
jrcsh
15年1个月前 IP:未同步
184031
利害 阿   好有商业价值阿
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon
15年1个月前 IP:未同步
184037
photoshop

滤镜>模糊>特殊模糊

和kNN类似效果

kNN除马赛克起到降噪效果很好但是图像细节有损失,比如上图那位大哥的眼神和胡子就有微妙差别

再往上那张图,水面的反射感也降低了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
lovehongkong
15年1个月前 IP:未同步
184039
- -变色块了...
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
花落一天
15年1个月前 IP:未同步
184042
第一个片是adam和jimmy帮NV搞的一个宣传片....
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184044
引用第4楼novakon于2010-02-02 23:36发表的  :
photoshop

滤镜>模糊>特殊模糊

和kNN类似效果
.......


任何图像处理方法都无法增加任何有价值的信息而只能选择性增强某方面的已有信息。这里做的降噪和锐化与PS相比,效果上不会有本质区别,但效率上是有本质区别的。PS处理一张普通视频大小的图怎么也要零点几秒,但我这里是做到了毫秒级,完全实时处理。

真正能增加单帧视频信息的方法,是综合前后N帧视频并结合宏块运动预测来实现的。这个是下一个目标,希望也能做到实时。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
adeng2002
15年1个月前 IP:未同步
184069
再学5年也赶不上LZ水平。
请问播放器是用何开发的?directshow还是其他啥东西?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
敬仔
15年1个月前 IP:未同步
184070
这个软件对电脑要求很高
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184113
引用第8楼adeng2002于2010-02-03 01:33发表的  :
再学5年也赶不上LZ水平。
请问播放器是用何开发的?directshow还是其他啥东西?


就前段时间。临时做的所以只有视频没解音频,没有做成ds filter,只是用一个H.264 SDK解压每一帧然后通过OpenGL渲染出来。渲染前用那些算法处理一遍。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184114
引用第9楼小斯于2010-02-03 01:34发表的  :
这个软件对电脑要求很高


对显卡要求高,集成不行,得N卡中高端以上。
如果把锐化改成3X3,9400GT应该也能勉强跑。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
敬仔
15年1个月前 IP:未同步
184125
9800GT表示有压力
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184128
引用第12楼小斯于2010-02-03 10:28发表的  :
9800GT表示有压力


9800GT我测试过了,做这些计算是雕虫小技,youku大小的每帧不会超过10毫秒。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年1个月前 IP:未同步
184129
9600飘 。。。 = -
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
敬仔
15年1个月前 IP:未同步
184132
原来没压力
CPUE7400有压力不
没的话可以把软件发上来不
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
大仙
15年1个月前 IP:未同步
184136
话说lz干啥的,比较牛
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184201
引用第15楼小斯于2010-02-03 10:46发表的  :
原来没压力
CPUE7400有压力不
没的话可以把软件发上来不



attachment icon New Folder.rar 1.59MB RAR 18次下载

只给执行文件。

目前还有几个大bug,例如stop之后不能重放、改scale大小会死机等。只能解H.264和少量mpeg4,只支持N卡,很多其它功能都没有做。因为是给客户用的,完整的功能留待客户自己去实现。我这个做demo的就不打算管这些了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
敬仔
15年1个月前 IP:未同步
184226
做demo能赚多少
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
敬仔
15年1个月前 IP:未同步
184227
擦!真的很多BUG
多的用不了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon
15年1个月前 IP:未同步
184234
从功能的角度上来说,ffdshow解码和带的滤镜完全可以实现楼主以上这些,但是速度上会输一筹。不知ffdshow有没有打算基于CUDA开发解码器。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184251
引用第19楼小斯于2010-02-03 13:06发表的  :
擦!真的很多BUG
多的用不了


请更新驱动
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184259
引用第20楼novakon于2010-02-03 13:16发表的  :
从功能的角度上来说,ffdshow解码和带的滤镜完全可以实现楼主以上这些,但是速度上会输一筹。不知ffdshow有没有打算基于CUDA开发解码器。


CUDA能实现的算法,CPU没有实现不了的。不过像锐化这些算法,我比较过,在4核CPU(QX6600)上以4线程跑5X5锐化,速度也要输GT200大概30多倍,做实时是很难的。但对GPU来说上面这些算法都太轻松,所以得想想更有挑战性的方法。

与ffdshow结合这个很简单,不需要修改ffdshow,而是把这些算法封装成ds filter就可以了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
15年1个月前 IP:未同步
184413
请问下这个是LZ一个人坐的吗?
花费了多少时间……
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184473
引用第23楼phpskycn于2010-02-03 21:22发表的  :
请问下这个是LZ一个人坐的吗?
花费了多少时间……


和一个同事合伙做的,前后花了不到一个星期。不过算法是以前就有积累的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184695
引用第19楼小斯于2010-02-03 13:06发表的  :
擦!真的很多BUG
多的用不了


不好意思,少传了个文件


attachment icon NV12ToARGB_drvapi.rar 2.75KB RAR 18次下载

原目录下新建个data目录,把解压后的那个ptx文件放进去
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
15年1个月前 IP:未同步
184836
虽然不能增加有价值的内容,但实用价值还是很大的
640*480在相当于100寸屏幕的投影幕上什么效果?插值到1280*720会好受很多。。。
不知道LZ的作品要有“实际价值”需要什么级别的硬件
Core 2 Duo E6550 2.33GHZ+Nvidia 9500GT会如何?显卡和CPU哪个影响大点?G80系列的显卡(比如8600GT)能行不?
回杭州后用Q8200配GTX260+试试
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
184896
引用第26楼phpskycn于2010-02-04 22:47发表的  :
虽然不能增加有价值的内容,但实用价值还是很大的
640*480在相当于100寸屏幕的投影幕上什么效果?插值到1280*720会好受很多。。。
不知道LZ的作品要有“实际价值”需要什么级别的硬件
Core 2 Duo E6550 2.33GHZ+Nvidia 9500GT会如何?显卡和CPU哪个影响大点?G80系列的显卡(比如8600GT)能行不?
回杭州后用Q8200配GTX260+试试


下一步的算法估计要Fermi高端级别的显卡才能实现。
CPU做图像处理实在是太搓了,所以干脆根本不参与计算,高端和低端一样。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
15年1个月前 IP:未同步
185093
Fermi估计要出问题
GF100的功耗280W……
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小俊作者
15年1个月前 IP:未同步
185102
引用第28楼phpskycn于2010-02-05 16:15发表的  :
Fermi估计要出问题
GF100的功耗280W……


呵呵,这个放心,下个月能顺利出来的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
h4x
15年0个月前 IP:未同步
191287
但是无论如何也是熵增而已...最后只是损失了更多的精度
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

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

所属专业
上级专业
同级专业
小俊
进士 学者 机友 笔友
文章
71
回复
1156
学术分
47
2006/12/29注册,3个月3天前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}