找回密码
 点一下
查看: 4084|回复: 34

正式宣布:偶要该行做技能了

  [复制链接]
发表于 2007-1-14 18:08:18 | 显示全部楼层 |阅读模式
本人现在已经比较熟悉J和T料,为了完成我伟大的网游地图(跟英雄坛说差不多,但是是魔幻系列的)。
现在正式开始转行做技能料
我会从最简单的技能开始做起
就是这样!

发表于 2007-1-14 18:14:38 | 显示全部楼层
好吧,偶改行做工具...
回复

使用道具 举报

 楼主| 发表于 2007-1-14 18:24:15 | 显示全部楼层

你本来就是个做工具的

引用第1楼白银の式神2007-01-14 18:14发表的:
好吧,偶改行做工具...
料子

如果做工具的多了,能不能申请开工具制作专区啊?
回复

使用道具 举报

发表于 2007-1-14 18:28:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2007-1-14 18:29:15 | 显示全部楼层
我很期待你的战役,有半成品供MB吗?
回复

使用道具 举报

发表于 2007-1-14 18:32:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2007-1-14 18:38:15 | 显示全部楼层
唉,为了做一个图标工具从而研究blp格式
发现blp格式中存在jpeg编码方式从而开始研究jpeg
然后发现jpeg素如此复杂...
回复

使用道具 举报

发表于 2007-1-14 19:14:48 | 显示全部楼层
555。楼上的居然和偶一样。
回复

使用道具 举报

 楼主| 发表于 2007-1-14 19:37:37 | 显示全部楼层
为什么要研究底层呢?直接借鉴别人的不行吗?
回复

使用道具 举报

发表于 2007-1-14 19:49:59 | 显示全部楼层
知道原理总比不知道好。嗯嗯。
回复

使用道具 举报

发表于 2007-1-14 20:05:44 | 显示全部楼层
发现JPEG编码中DCT变换没必要用快速傅立叶变换..
有更简单高效滴算法恩..

=======================

AAN算法?
回复

使用道具 举报

发表于 2007-1-14 20:13:29 | 显示全部楼层
555...910大人又神奇滴出现老...
其实偶也想找AA&N算法...可素找不到...然后就想了个愚蠢滴办法...
先把所有定值先算出来保存在数组中...然后每次DCT变换中就只需要64次乘法...
虽然米看过AA&N算法,不过根据评论好像也素把一个二维DCT转成2个1维DCT...
回复

使用道具 举报

发表于 2007-1-14 20:25:00 | 显示全部楼层
用FFT代替DCT主要是用在尺寸很大时
像JPEG才8点DCT还是直接算比较好

AAN太麻烦,主要适合于MMX并行加速

当初为了弄懂AAN
我在纸上将8点DCT展开化简推算了好久
后来发现AAN主要适合于MMX
对于浮点DCT还是手工化简的比较好


还是H.264爽
使用4点DCT
只需要16位整数运算,而且核心部分只需要加减和移位


一维8点AAN变换流程图

一维8点AAN变换流程图
回复

使用道具 举报

发表于 2007-1-14 20:40:03 | 显示全部楼层
点越少越容易分解啊...
估计ijl11.dll中也素先初始化一个16K的数组,DCT时直接查表...
回复

使用道具 举报

发表于 2007-1-14 20:45:26 | 显示全部楼层

我以前用VB6写的JPEG编码程序

我以前用VB6写的JPEG编码程序
项目:JPEG图片压缩程序 v2.0
作者:zyl910
更新:2004/5/23
E-Mail:[email protected]


说明
~~~~
  这是一个比较完整的JPEG压缩程序,支持 彩色/灰度、Y分量水平/垂直采
样律、图像质量 调整。使用的是最简单的基线系统(BaseLine)压缩方式,
量化表及Huffman表都是与ACDSee一致的,没有提供自适应Huffman表压缩功能。


速度测试
~~~~~~~~
CPU:赛杨733
内存:128MB SDRAM
操作系统:Windows 98 SE
(请运行编译后的exe!在VB开发环境下是解析运行,大规模数据处理速度很慢)

(单位:毫秒ms)
┏━━━━┳━━━━━━┯━━━━━┯━━━━━┓
┃    ┃512*512 Lena│ 800*600 │ 1024*768 ┃
┣━━━━╋━━━━━━┿━━━━━┿━━━━━┫
┃ 灰度 ┃ 376.9725 │ 597.6534 │ 950.3084 ┃
┠────╂──────┼─────┼─────┨
┃彩色 1:1┃ 676.0799 │1097.7514 │1655.6605 ┃
┠────╂──────┼─────┼─────┨
┃彩色 2:1┃ 587.0741 │ 921.2441 │1384.4843 ┃
┠────╂──────┼─────┼─────┨
┃彩色 1:2┃ 574.2990 │ 905.8943 │1394.3513 ┃
┠────╂──────┼─────┼─────┨
┃彩色 2:2┃ 509.0129 │ 806.8808 │1251.1223 ┃
┗━━━━┻━━━━━━┷━━━━━┷━━━━━┛

注:
  “彩色 x:y”表示Y分量的水平/垂直采样滤。
    1:1:YUV 111
    2:1:YUV 422(水平)
    1:2:YUV 422(垂直)
    2:2:YUV 411


提示
~~~~
JPEG压缩分为三个部分:
1.JPEG压缩原理及算法(RGB/YCbCr,DCT/IDCT,量化,Z字型编码,用DPCM对DC/用RLE对AC编码/Huffman编码)
2.JPEG标记格式
3.JPEG图片文件的组织形式(位于SOS后的图像压缩数据是由MCU块怎样排列的,特别是使用了DRI之后)

细节问题
~~~~~~~~
1.解码过程中遇到“FF 00”当“FF”处理,否则忽略“FF”
2.进行DCT前YCbCr要减128,进行IDCT前要加128(相当于Y减128,CbCr不需要加128)
3.每个标记中数据可以不止一个(去掉长度的部分就是一段)


参考文献
~~~~~~~~
1.何斌《VC++数字图像处理》人民邮电出版社, 2001.4
2.张益贞《VC++实现JPEG/MPEG编解码技术》人民邮电出版社, 2002.11
3.杨淑莹《VC++图像处理程序设计》清华大学出版社/北方交通大学出版社, 2003.11(SOF0中,宽度/高度 写反了)
4.网络上的一些文章,比如 云风的“JPEG 简易文档 V2.12”……


VB不适合编写高速JPEG压缩程序的原因
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.JPEG压缩需要大量的位运算,而VB中只能靠乘除来移位,效率太低了
2.在高级语言中确定一个整数占用的位数需要一大堆if,可在汇编中一条位扫描指令就行了
3.浮点DCT变换太慢,而 AAN快速DCT变换算法MMX优化版 早就公布n年了

SaveJPEG.rar

263 KB, 下载次数: 202

SaveJPEG:灰度图

SaveJPEG2.rar

83 KB, 下载次数: 115

SaveJPEG2:彩色图

回复

使用道具 举报

发表于 2007-1-14 20:52:30 | 显示全部楼层
恩...
现在偶对JPEG滴原理和文件格式基本素弄懂了
还有一些细节问题要处理...准备自己写一个解码器以后就一直用料...

910大人素VB6死忠啊...不久前偶也下了个5MB的VB6精简版来怀旧...
发现参考文献中除了2滴两本书偶也有...SaveJPEG中滴图片貌似就素一张实例图片...
回复

使用道具 举报

 楼主| 发表于 2007-1-14 20:57:32 | 显示全部楼层
两位高人又开始料
回复

使用道具 举报

发表于 2007-1-14 22:13:06 | 显示全部楼层
仙人
   MB~~
回复

使用道具 举报

发表于 2007-1-14 23:12:07 | 显示全部楼层
我改行做地瓜~
回复

使用道具 举报

发表于 2007-1-14 23:26:39 | 显示全部楼层
进来MB  灌水 拿分 走人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-6-28 08:22 , Processed in 0.148157 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表