加载中
算法专题

http://blog.csdn.net/column/details/Dijkstra.html

2016/12/17 17:27
6
随机洗牌:哪一种算法是正确的?

原文 记得当年搞NOIp时,我犯过一个相当严重的错误:错误地把Floyd算法的i, j, k三层循环的位置顺序搞颠倒了。直到准备省选时我才突然意识到,Floyd算法应该最先枚举用于松驰操作的那个“中间...

2016/12/08 14:46
3
趣题:用最少的块移动实现逆序操作

原文 上次那篇日志发布之后,据说大家解题的热情相当高。Michael Brand告诉我说,他收到了很多来自中国的邮件,他感到非常高兴。在揭晓谜底之前,还是让我们先回顾一下题目: 对数列的一次“...

2016/12/08 14:45
2
GA(遗传算法)学习和JGAP的使用

概念原理 遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。 遗传...

2015/01/12 18:22
199
遗传算法及其在交易中的应用

简介 遗传算法似乎是一个专属于有经验的程序员或者量化研究员的花哨术语。虽然,咋一眼看起来,遗传算法对于一般交易员来说过于复杂,但是当你真正了解它的时候会发现其实并没有那么复杂。本...

2015/01/10 08:58
119
(五)用JAVA编写MP3解码器——解析文件信息

前文提到解析MP3标签,程序源码中也已经出现了调用解析MP3标签、打印MP3文件信息的功能,这儿先说说MP3文件信息的解析。 解析MP3的文件信息对MP3解码器来说只是一个附加功能,如果不加入这部...

MP3解码之DCT快速算法的展开(旧)

MP3解码的最后一步是“多相合成滤波”,多相合成滤波算法见ISO/IEC 11172-3 ANNEX_B Figure 3-A.2,经过5个步骤,将输入序列X[0..31]的32个采样值,变换为32个PCM样本输出: // ①Shift 64 ...

2015/01/04 15:29
41
(十六)用JAVA编写MP3解码器——解码Layer2

MPEG 1.0/2.0/2.5 对声音的压缩分三层:Layer I、Layer II和Layer III。相比于Layer3,Layer2的解码就简单得多了。 1.变量初始化 申明的成员变量在构造方法内初始化,这些常量值是从解码规范...

2015/01/04 15:29
7
(三)用JAVA编写MP3解码器——读取位流

  文件以字节为单位读取,MP3解码器输入的数据是位流,即每次需要读取几比特,这就需要将字节流转换为比特流。解码器将文件按每次读取几比特将一个文件处理完,所以读取位流的方法以很高的...

2015/01/04 15:29
28
(附)用JAVA编写MP3解码器——GUI

以下代码是开源(GPL)程序jmp123的一部分。 (一)简单的GUI 在jmp123.jar所在目录为当前目录启动jmp123.jar,启动时自动加载default.m3u、bk1.jpg、bk2.jpg; 为方便测试MP3解码器,简体中文环...

(一)用JAVA编写MP3解码器——前言

  【内容提要】 《用JAVA编写MP3解码器》系列文章将对JAVA实现MP3解码的技术细节作介绍,本着开源的精神,文中给出完整的MPEG 1.0/2.0/2.5 Audio Layer I/II/III 解码的JAVA源代码。在哈夫...

2015/01/04 15:29
25
(十七)用JAVA编写MP3解码器——解码Layer1

Layer1的编码更简单,解码端的代码也就比Layer2还简单不少。网络上还有部分老歌是采用Layer2压缩的,但Layer1编码方式的就很难找到了,手头的编码器没有Layer1编码方式,所以这些代码没有经过...

2015/01/04 15:29
9
(十五)用JAVA编写MP3解码器——音频输出

解码一帧Layer3第10步:音频输出 -- class Audio 这里给出音频输出的示例代码,后文给出的播放器是基于命令行,所以音频输出模块就写得很简单,如果你想了解音频输出细节,请查阅《Java API文...

2015/01/04 15:29
66
(六)用JAVA编写MP3解码器——帧数据结构

MP3文件按帧(frame)依次存储,解码时也是逐帧解码,所以我们应该首先弄清MP3帧内的数据的封装形式。帧的结构如下图所示: 图中sync表示帧同步字,每一帧以同步字开始;side info表示帧边信...

(十一)用JAVA编写MP3解码器——立体声处理

解码一帧Layer3第5步:立体声处理 -- class Layer3的ms_stereo和i_stereo方法 MP3采用的立体声编码方式有中侧立体和强度立体声两种。 1.中侧立体声(Middle/Side stereo)简称MS_stereo,在这...

2015/01/04 15:29
28
(八)用JAVA编写MP3解码器——解码增益因子

解码一帧Layer3第2步:解码增益因子 -- getScaleFactors_1()和getScaleFactors_2()方法 增益因子(Scale Factor)数据存储在帧内的主信息中。主信息包含增益因子和用哈夫曼编码的主数据(mai...

2015/01/04 15:29
24
(四)用JAVA编写MP3解码器——读取文件

1.随机文件访问接口 对MP3解码时需要随机读取MP3文件,读取的文件既包括本地磁盘文件,也包括来自于网络的远程文件,两类文件按同一规范访问,为了实现这一目标,先定义一个随机文件访问接口...

(十四)用JAVA编写MP3解码器——多相合成滤波

解码一帧Layer3第8步:多相频率倒置 (Inverse Quantize Samples) 也可以称为频率倒相(Frequency Inversion),在数据进入多相滤波器前进行频率倒相,把奇数序号子带的奇数号样本乘上-1,这样...

2015/01/04 15:29
16
(十)用JAVA编写MP3解码器——逆量化和重排序

解码一帧Layer3第4步:逆量化和重排序 -- requantizer方法 1.逆量化 逆量化的功能是把哈夫曼解码得到的值还原成576个频谱值。长块、短块分别用不同的公式: 其中ISi为第i个哈夫曼码值,XRi为...

2015/01/04 15:29
12
(七)用JAVA编写MP3解码器——解码帧边信息

解码一帧Layer3第1步:帧边信息解码 -- getSideInfo()方法 帧边信息用于描述一帧内的主信息(增益因子和主数据)特征,而后文讲到的解码的增益因子、主数据是描述一个声道的,换一种说法,帧边...

2015/01/04 15:29
37

没有更多内容

加载失败,请刷新页面

返回顶部
顶部