2004年10月29日

To support the different ways applications use dialog boxes, there are two types of dialog box: modal and modeless. A modal dialog box requires the user to supply information or cancel the dialog box before allowing the application to continue.

A modeless dialog box allows the user to supply information and return to the previous task without closing the dialog box.

To create either a modal or modeless dialog box, an application must supply a dialog box template to describe the dialog box style and content; the application must also supply a dialog box procedure to carry out tasks. The dialog box template is a binary description of the dialog box and the controls it contains. The developer can create this template as a resource to be loaded from the application’s executable file, or created in memory while the application runs. The dialog box procedure is an application-defined callback function that the system calls when it has input for the dialog box or tasks for the dialog box to carry out.

DialogBox creates a modal dialog box; CreateDialog creates a modeless dialog box.

2004年10月27日

DFS 是z变换的采样,他表示周期信号,对于有限信号,采用DFT表示。

DFT有较为高效的计算有限序列的算法,所以可以考虑用DFT来计算两个序列的卷积。由于在多数情况下,我们对线性卷积较为感兴趣,而DFT相乘却是循环卷积。所以要保证线性卷积和循环卷积具有同样的效果。即采用基于2N-1的循环卷积(线性卷积的长度为2N-1)。

DFT的计算机算法。。。

2004年10月20日

他使用和MPEG-1相同的编译码器,第1,2,3层结构也相同。

1,低采样频率扩展

第一层 每帧由槽组成,一个槽32位,槽数取决于采样率和比特率

第二层 每帧由槽组成,一个槽8位,槽数取决于采样率和比特率

2,多通道扩展

支持5.1声道  LFE  Low Frequency Effects

 

MPEG Audio采用的是子带编码方法,定义了三个层次。

第一层 每帧32个子带分别输出12个样本

1,子带等宽

2,使用类似DCT的时间-频率滤波器组

3,量化编码器检查每个子带样本,找出这些样本中的最大绝对值,然后量化成6位,这个位数称为scale factor。并根据SMR确定每个子带的位分配。

第二层  相当于三个第一层的帧

scale factor随子带不同而变化,因此存在SCFSI域(比例因子选择信息),指示是否需要和如何共享比例因子。

第三层

增加了一个MDCT,对第一层和第二层的滤波器组做了些补偿。

指定了两种MDCT块长,长块18个样本,短块6个样本,相邻变换窗口有50%重叠。

在量化后,使用了哈夫曼编码。

 

PCM——-时间-频率变换多相滤波器组 产生 频域里的多个子带——-心理声学模型

PCM——-心理声学模型(计算掩蔽特性)

比较输入信号和子带信号以确定每个子带的信号能量与掩蔽域值的比率。

量化和编码部分采用信掩比(SMR)来决定分配给子带的量化位数。

 

子带划分有线性划分,也有非线性划分。

在一个临界频带内,人的大部分心理声学特性都是相同的,所以非线性划分才能利用人的听觉特性。

2004年10月19日

1,响度

听阈:声音弱到人耳刚刚能够听到。这个值和频率有关。

痛域:声音强到使人耳朵疼痛。也同样和频率有关

听阈-频率曲线和痛域-频率曲线之间就是听觉范围。可以画出等响度曲线。1khz的10db的声音和200hz,30db的声音在人耳听来响度是一样的。

2,音高

3,掩蔽效应

a)频域掩蔽

强纯音可以掩蔽在它附近的弱纯音,低频纯音对高频纯音的掩蔽效应比较明显。

b)时域掩蔽

MPEG Audio使用心理声学模型来达到数据压缩的目的。

APCM

根据信号幅度大小来改变量化阶,方法有两种:

1,forward adaptation

根据未量化的样本值的均方值来估算输入信号的电平,并对电平进行编码作为side information传送到接受端。

2,   backward adaptation

不传送side information

ADPCM的应用

G.721  32kbps Adaptive Differential Pulse Code Modulation

G.723   Extension of Recommendation G.721 Adaptive Differential Pulse Code Modulation to 24 and 40kpbs…

SBC

由于分割子带用的滤波器不是理想滤波器,在分带,编码,解码之后会出现混迭效应,为了抵消这个效应,采用正交镜像滤波器(QMF)。

语音编译码器可分为三种类型:

1,波形编译码器

时间域:

PCM  仅仅对输入语音信号采样量化,不使用任何生成语音信号的知识。但可以使用非线性量化器来降低数据率。

利用数据间的相关性,可使用预测编码技术(量化差值信号),这是DPCM的基础。

为了改进在幅度急剧变化时DPCM可能产生的较大噪声,我们采用自适应DPCM,即ADPCM。

频域:

SBC(sub-band coding),简单的说就是在频域中利用带通滤波器组,把信号分成很多子带,再采用单边带调幅的方法将他们搬移到零频率附近。这样可以对对听觉比较敏感的子带分配较多的位来表示。

还有一种adaptive transform coding,使用快速变换把语音信号分成许多频带

2,音源编译码器

3,混合编译码器

The first part of Ipp primitive is some basic APIs for signal processing,including signal generating, filtering,convolution,windowing,transforms(mainly FFT). These are all taught in Digital Signal Process.Then we look into each domain.

For codec, it is kinda simple.Examples only show how to invoke encoder and decoder in each domain(Initialize,call,free) and there got only several APIs.

The relations between primitive and codec is that codec use APIs provided by primitive to achieve basic encoder and decoder in each domain. Then upper level users can directly make use of codec to simplize the process of programming.

But i doute if codec can make sense as we don’t give the source code.I wonder if  customers will use our decoder and encoder directly.