当前位置:文档之家› speex介绍

speex介绍

speex介绍
speex介绍

Speex 技术介绍

1.Speex 介绍

speex是近年来开发出的一套功能强大的语音引擎,能够实现高质量和低比特率的编码。它不仅提供了基于码激励线性预测(CELP)算法的编/解码模块,而且在其最新发布的版本中还提供了声音预处理和声学回声消除模块,为保障IP网络中的语音通信质量提供了技术手段。此外,Speex还具有压缩后的比特率低(3~44 kbps)的特点,并支持多种比特率。这些特点使得Speex特别适合V oIP, 音视频系统

宽带和超宽带下的比特率

2.Speex特点

(1)开源,纯C开发,跨平台,兼容ARM,编译简单

(2)占用比特率小,提供消除回声功能

(3)API使用简单

3. Speex 和其它语音编码的对比

编码方式打包时间带宽

G71120ms90.4 Kbit/s

G72920ms 34.4 Kbit/s

G72330ms 22.9 Kbit/s

speex 20ms 19.6 Kbit/s

从对比来看,speex占用的带宽是最小的,比较适合在在窄带宽下使用

4. 语音带宽的计算公式:

( 网络包数据+ 数据包数据) / 采样时间

网络包数据: 58 bytes 由以下五个部分组成

(1)网络CRC: 4 bytes

(2)mac 地址: 14 bytes

(3)IP 头: 20 bytes

(4)UDP 头: 8 bytes

(5)RTP 头: 12 bytes

数据包数据: 20bytes

采样时间:20ms

Speex 传输率

如果每个rtp包只传输1个数据包:

(58 +20)*8 /20*1000 = 31.2kb/s

如果每个rtp包只传输2个数据包:

(58 +40)*8 /40*1000 = 19.6 kb/s

如果每个rtp包只传输3个数据包:

(58 +60)*8 /60*1000 = 15.7 kb/s

如果每个rtp包只传输3个数据包:

(58 +80)*8 /80*1000 = 13.8 kb/s

5.Speex 在RTP 中的传输

5.1 RTP Speex 头部

Payload Type (PT): 本格式的负责类型号。

Marker (M) bit: 此位被用来标志一段无声后有声的开始。打在有声数据的第一个包上。 Speex支持声音检测,可以在无声时不产生帧数据。所以包可能是非连续传输的。

Extension (X) bit: 见RTP的规定。

Timestamp: 一个32位的整数,表示一个包中第一帧的采样时间。

5.2 Speex的RTP负载格式

Speex的RTP负载如图1所示。本格式没有附加的头部,所以只什用标准的RTP头部头

部之后是一个或多个负载数据库(speex帧)。包尾部可能需要一些填补数据。

5.3 Speex 负载

为了把编码后的数据打包进RTP,我们只需要考虑Speex编码器输出的比特流必须以相同的顺序出现在解码端。此处所说的负载格式保持了这个顺序。

一个典型的Speex帧,最大编码码率大约是110个字节。一个包中所有的Speex帧的总字节数应小用路径MTU以避免被分割。Speex帧绝不能被分割!

必须按时间序把帧打到包里。

一个RTP包中可能包含相同码率的帧也可能包含不同码率的帧。然而码率是在带内传送的,每帧中包含了自己的码率,所以打包时不必在意它。

编码和解码算法可以以20毫秒的帧为边界改变码率。码率改变的通知是在带内传送的。每个帧都包含采样率(窄带, 宽带, 或超宽带)和"模式"(码率)信息。所以不需要带外数据通知解码器处理那些变化。

采样率必须是8000 Hz, 16000 Hz, 或32000 Hz之一。

RTP负载必须被填补数据以保证能提供整数个字节的数据,这些填补位是LSB(最低有效位)-对齐的并且按网络字节序放置,它是由一个0跟着一群1组成的。填补数据仅被包中最后一个帧所需要。并且仅仅为了保证一个包的内容按字节边界结束。

5.4 Speex RTP包的例子

下面的示例中,我们的包中一个Speex帧,还有5位的填补数据来保证包的大小是字节对齐的。

5.5多Speex帧的RTP包

下面的例子演示的是一个RTP包中有两个Speex帧。这个例子中的Speex帧的长度是字节对齐的,所以不需要填补数据。

Speex解码器可以从负载侦测码率,并负责在各帧之间检查20毫秒的的帧界限。

5.6. 媒体类型

媒体类型名字: audio

媒体字类型名字: speex

所需参数:

rate: RTP 时间戳时钟频率,等于采样率Hz。采样率必须是8000, 16000, 或32000。

可选的参数:

ptime: 必须能被20毫秒整除[RFC4566]

maxptime: 必须能被20毫秒整除[RFC4566]

vbr: 可变码率- 可为'on', 'off', 或'vad' (默认是'off')。如果是'on',可变码率被使用。如果是'off',则不被使用。如果是'vad',那么固定码率被使用,但是无声时段将被编码为特殊的短帧来表明那段时间没有声音。这个参数

用于编码器。

cng: 产生舒适噪音- 可为'on' 或'off' (默认是'off')。如果为'off',无声帧就是无声,如果为'on',那么这些帧将被以舒适噪音填充。此参数被用于编码器。

mode: 以逗号分隔的多个speex支持的解码模式,按优先度排列。第一个具有最优先级,剩余的依次排列。对于窄带和宽带可用的模式值不一样,见以下定义:

* {1,2,3,4,5,6,7,8,any} 用于窄带

* {0,1,2,3,4,5,6,7,8,9,10,any} 用于宽带

mode'参数可能包含多个值。这此情况下,远端的编码器必须被配置成能支持模式列表中的第一个值。当'any' 被使用时,表明自己支持所有的解码模式。'mode' 参数必须永远有值。如果'mode' 没有出现,那么mode的值被置为:在

窄带下是'mode="3,any"',在宽带和超宽带下是'mode="8,any"' 。注意每个包含mode(或码率)的Speex帧必须被解码。因此,一个应用程序必须能解码任何Speex帧,除非在SDP中明确指明某些模式不被支持(例如,不含'mode="any"')。

解码端指定支持哪些模式意味着编码端也支持那些模式。

6 .speex 编码和解码

6.1 speex 编码流程

1、定义一个SpeexBits类型变量bits和一个Speex编码器状态变量enc_state。

2、调用speex_bits_init(&bits)初始化bits。

3、调用speex_encoder_init(&speex_nb_mode)来初始化enc_state。其中

speex_nb_mode是SpeexMode类型的变量,表示的是窄带模式。还有speex_wb_mode 表示宽带模式、speex_uwb_mode表示超宽带模式。

4、调用函数int speex_encoder_ ctl(void *state, int request, void *ptr)来设定编码器的参数,其中参数state表示编码器的状态;参数request表示要定义的参数类型,如SPEEX_ GET_ FRAME_SIZE表示设置帧大小,SPEEX_ SET_QUALITY表示量化大小,这决定了编码的质量;参数ptr表示要设定的值。

可通过speex_encoder_ctl(enc_state, SPEEX_GET_FRAME_SIZE, &frame_size) 和speex_encoder_ctl(enc_state, SPEEX_SET_QUALITY, &quality)来设定编码器的参数。

5、初始化完毕后,对每一帧声音作如下处理:调用函数speex_bits_reset(&bits)再次设定SpeexBits,然后调用函数speex_encode(enc_state, input_frame, &bits),参数bits

中保存编码后的数据流。

6、编码结束后,调用函数speex_bits_destroy (&bits),speex_encoder_destroy (enc_state)来

编码demo 代码

#include

#include

/*The frame size in hardcoded for this sample code but it doesn't have to be*/ #define FRAME_SIZE 160

int main(int argc, char **argv)

{

char *inFile;

FILE *fin;

short in[FRAME_SIZE];

float input[FRAME_SIZE];

char cbits[200];

int nbBytes;

/*Holds the state of the encoder*/

void *state;

/*Holds bits so they can be read and written to by the Speex routines*/

SpeexBits bits;

int i, tmp;

/*Create a new encoder state in narrowband mode*/

state = speex_encoder_init(&speex_nb_mode);

/*Set the quality to 8 (15 kbps)*/

tmp=8;

speex_encoder_ctl(state, SPEEX_SET_QUALITY, &tmp);

inFile = argv[1];

fin = fopen(inFile, "r");

/*Initialization of the structure that holds the bits*/

speex_bits_init(&bits);

while (1)

{

/*Read a 16 bits/sample audio frame*/

fread(in, sizeof(short), FRAME_SIZE, fin);

if (feof(fin))

break;

/*Copy the 16 bits values to float so Speex can work on them*/

for (i=0;i

input[i]=in[i];

/*Flush all the bits in the struct so we can encode a new frame*/ speex_bits_reset(&bits);

/*Encode the frame*/

speex_encode(state, input, &bits);

/*Copy the bits to an array of char that can be written*/

nbBytes = speex_bits_write(&bits, cbits, 200);

/*Write the size of the frame first. This is what sampledec expects but

it's likely to be different in your own application*/

fwrite(&nbBytes, sizeof(int), 1, stdout);

/*Write the compressed data*/

fwrite(cbits, 1, nbBytes, stdout);

}

/*Destroy the encoder state*/

speex_encoder_destroy(state);

/*Destroy the bit-packing struct*/

speex_bits_destroy(&bits);

fclose(fin);

return 0;

}

6.2 speex 解码流程

对已经编码过的音频数据进行解码要经过以下步骤:

1、定义一个SpeexBits类型变量bits和一个Speex编码状态变量enc_state。

2、调用speex_bits_init(&bits)初始化bits。

3、调用speex_decoder_init (&speex_nb_mode)来初始化enc_state。

4、调用函数speex_decoder_ctl (void *state, int request, void *ptr)来设定编码器的参数。

5、调用函数speex_decode(void *state, SpeexBits *bits, float *out)对参数bits中的音频数

据进行解编码,参数out中保存解码后的数据流。

6、调用函数speex_bits_destroy(&bits), speex_ decoder_ destroy (void *state)来关闭和销毁

SpeexBits和解码器。

解码demo 代码

#include

#include

/*帧的大小在这个例程中是一个固定的值,但它并不是必须这样*/

#define FRAME_SIZE 160

int main(int argc, char **argv)

{

char *inFile;

FILE *fin;

short in[FRAME_SIZE];

float input[FRAME_SIZE];

char cbits[200];

int nbBytes;

/*保存编码的状态*/

void *state;

/*保存字节因此他们可以被speex常规读写*/

SpeexBits bits;

int i, tmp;

//新建一个新的编码状态在窄宽(narrowband)模式下

state = speex_encoder_init(&speex_nb_mode);

//设置质量为8(15kbps)

tmp=8;

speex_encoder_ctl(state, SPEEX_SET_QUALITY, &tmp);

inFile = argv[1];

fin = fopen(inFile, "r");

//初始化结构使他们保存数据

speex_bits_init(&bits);

while (1)

{

//读入一帧16bits的声音

fread(in, sizeof(short), FRAME_SIZE, fin);

if (feof(fin))

break;

//把16bits的值转化为float,以便speex库可以在上面工作

for (i=0;i

input[i]=in[i];

//清空这个结构体里所有的字节,以便我们可以编码一个新的帧

speex_bits_reset(&bits);

//对帧进行编码

speex_encode(state, input, &bits);

//把bits拷贝到一个利用写出的char型数组

nbBytes = speex_bits_write(&bits, cbits, 200);

//首先写出帧的大小,这是sampledec文件需要的一个值,但是你的应用程序中可能不一样fwrite(&nbBytes, sizeof(int), 1, stdout);

//写出压缩后的数组

fwrite(cbits, 1, nbBytes, stdout); }

//释放编码器状态量

speex_encoder_destroy(state);

//释放bit_packing结构

speex_bits_destroy(&bits);

fclose(fin);

return 0;

}

编码器详细介绍与编程指导

增量型编码器与绝对型编码器的区分 编码器如以信号原理来分,有增量型编码器,绝对型编码器。 增量型编码器 (旋转型) 工作原理: 由一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D,每个正弦波相差90度相位差(相对于一个周波为360度),将C、D信号反向,叠加在A、B两相上,可增强稳定信号;另每转输出一个Z相脉冲以代表零位参考位。 由于A、B两相相差90度,可通过比较A相在前还是B相在前,以判别编码器的正转与反转,通过零位脉冲,可获得编码器的零位参考位。 编码器码盘的材料有玻璃、金属、塑料,玻璃码盘是在玻璃上沉积很薄的刻线,其热稳定性好,精度高,金属码盘直接以通和不通刻线,不易碎,但由于金属有一定的厚度,精度就有限制,其热稳定性就要比玻璃的差一个数量级,塑料码盘是经济型的,其成本低,但精度、热稳定性、寿命均要差一些。 分辨率—编码器以每旋转360度提供多少的通或暗刻线称为分辨率,也称解析分度、或直接称多少线,一般在每转分度5~10000线。 信号输出: 信号输出有正弦波(电流或电压),方波(TTL、HTL),集电极开路(PNP、NPN),推拉式多种形式,其中TTL为长线差分驱动(对称A,A-;B,B-;Z,Z-),HTL 也称推拉式、推挽式输出,编码器的信号接收设备接口应与编码器对应。 信号连接—编码器的脉冲信号一般连接计数器、PLC、计算机,PLC和计算机连接的模块有低速模块与高速模块之分,开关频率有低有高。 如单相联接,用于单方向计数,单方向测速。 A.B两相联接,用于正反向计数、判断正反向和测速。 A、B、Z三相联接,用于带参考位修正的位置测量。 A、A-, B、B-,Z、Z-连接,由于带有对称负信号的连接,电流对于电缆贡献的电磁场为0,衰减最小,抗干扰最佳,可传输较远的距离。 对于TTL的带有对称负信号输出的编码器,信号传输距离可达150米。 对于HTL的带有对称负信号输出的编码器,信号传输距离可达300米。

计算机常见编码

计算机常见编码 一.有关编码的基础知识 1. 位bit 最小的单元 字节byte 机器语言的单位 1byte=8bits 1KB=1024byte 1MB=1024KB 1GB=1024MB 2. 二进制binary 八进制octal 十进制decimal 十六进制hex 3. 字符:是各种文字和符号的总称,包括各个国家的文字,标点符号,图形符 号,数字等。 字符集:字符集是多个符号的集合,每个字符集包含的字符个数不同。 字符编码:字符集只是规定了有哪些字符,而最终决定采用哪些字符,每一 个字符用多少字节表示等问题,则是由编码来决定的。计算机要 准确的处理各种字符集文字,需要进行字符编码,以便计算机能 够识别和存储各种文字。 二.常见字符集的编码介绍: 常见的字符集有:ASCII 字符集,GB2312 字符集,BIG5 字符集,GB18030 字符集,Unicode 字符集,下面一一介绍: 1. ASCII 字符集: 定义: 美国信息互换标准代码,是基于罗马字母表的一套电脑编码系统,主要显示 英语和一些西欧语言,是现今最通用的单字节编码系统。 包含内容: 控制字符(回车键,退格,换行键等) 可显示字符(英文大小写,阿拉伯数字,西文符号) 扩展字符集(表格符号,计算符号,希腊字母,拉丁符号) 编码方式: 第0-31 号及127 号是控制字符或通讯专用字符; 第32-126 号是字符,其中48-57 号为0-9 十个阿拉伯数字,65-90 号为26 个 大写英文字母,97-122 号为26 个英文小写字母,其余为一些标点符号,运 算符号等。 在计算机存储单元中,一个ASCII 码值占一个字节(8 个二进制位),最高位 是用作奇偶检验位。【奇偶校验是指:在代码传送的过程中,用来检验是否 出错的一种方法。】奇偶校验分为奇校验和偶校验。奇校验规定:正确的代 码一个字节中1 的个数必须是奇数,若非奇数,则在最高位添1;偶校验规 定:正确的代码一个字节中 1 的个数必须是奇数,若非奇数,则在最高位添 1。

字符编码方式介绍及编码方式测试

第一部分编码方式介绍 一、编码: 美国标准信息交换标准码( , ) 在计算机内部,所有地信息最终都表示为一个二进制地字符串.每一个二进制位()有和两种状态.一个字节()共由八个二进制位来组成,共有种状态,从到. 阿拉伯数字、英文字母、标点符号等这些字符,怎么定义才能让计算机识别呢?因为计算机只识别二进制位和,所以以上这些字符就必须与二进制位(和)建立关系,才能让计算机识别. 年代初,计算机界制定了一套统一地字符编码,来表示字符与二进制位之间地关系.这种统一地字符编码就叫做编码.码一共规定了个字符地编码,比如空格是(二进制),大写地字母是(二进制).这个符号(包括个不能打印出来地控制符号),只占用了一个字节地后面位,最前面地位统一规定为. 在英语国家,个编码足以表达所有字符,但其它非英语国家,字符不是由英文字符组成,这样就需要增加编码以表达这些字符,对于超过个字符地编码被称为非编码.比如:在中国,我们用简体中文,字符编码方式为.个人收集整理勿做商业用途 二、编码: 看到上面地介绍后,我们了解了最早编码是码.它只用个二进制位来表示,由于那个时期生产地大多数计算机使用位大小地字节,因此用户不仅可以存放所有可能地字符,而且有整整一位空余下来.如果你技艺高超,可以将该位用做自己离奇地目地:中那个发暗地灯泡实际上设置这个高位,以指示一个单词中地最后一个字母,同时这也宣示了只能用于英语文本. 由于字节有多达位地空间,因此许多人在想:“呀!我们可以把之间地编码用做个人地应用目地.”问题在于,同时产生这种想法地人相当多,而且在之间地各个位置上应该存放什么这一问题上,真是仁者见仁智者见智.事实上,只要人们开始在美国以外地地方购买计算机,那么各种各样地不同字符集都会进入规划设计行列,并且各人都会根据自己地需要使用高位地个字符.如此一来,甚至在同语种地文档之间就不容易实现互换. 可被扩展,最优秀地扩展方案是,通常称之为.包括了足够地附加字符集来写基本地西欧语言. 最后,这个人参与地终于以标准地形式形成文件.在标准中,每个人都认同如何使用低端地个编码,这与相当一致.不过,根据所在国籍地不同,处理编码以上地字符有许多不同地方式.这些不同地系统称为代码页. 同时,甚至更为令人头疼地事情正在逐步上演,亚洲国家地字符表有成千上万个字符,这样地字符表是用位二进制无法表示地.该问题地解决通常有赖于称为(,双字节字符集)地繁杂字符系统. 不过,仍然需要指出一点,多数人还是姑且认为一个字节就是一个字符,以及一个字符就是个二进制位,并且只要确保不将字符串从一台计算机移植到另一台计算机,或者说一种以上地语言,那么这几乎总是可以凑合.当然,只要一进入,从一台计算机向另一台计算机移植字符串就成为家常便饭了,而各种复杂状况也随之呈现出来.令人欣慰地是,随即问世了.个人收集整理勿做商业用途 字符集(简称为),国际标准组织于年月成立工作组,针对各国文字、符号进行统一性编码.年美国跨国公司成立,并于年月与达成协议,采用同一编码字集.目前是采用位编码体系,其字符集内容与地()相同.于年月通过(),目前版本于公布,内容包含符号个,汉字个,韩文拼音个,造字区个,保留个,共计个.编码后地大小是一样地.例如一个英文字母"" 和一个汉字"好",编码后都是占用地空间大小是一样地,都是两个字节!个人收集整理勿做商业用途 可以用来表示所有语言地字符,而且是定长双字节(也有四字节地)编码,包括英文字

常用字符集介绍和编码转换原理

常用字符集介绍和编码转换原理 目录 1. GB2312编码介绍 (2) 1.1 基本信息 (2) 1.2 GB标准 (2) 1.3 分区表示 (2) 1.4 字节结构 (2) 2. 通用字符集UCS (3) 2.1 定义 (3) 2.2 概要 (3) 2.3 实现级别 (3) 2.4 与UNICODE的兼容关系 (3) 3. unicode编码介绍 (3) 3.1 基本简介 (4) 3.2 编码实现 (4) 3.2.1 编码方式 (4) 3.2.2 实现方式 (5) 4. UTF-8介绍 (5) 4.1 基本介绍 (5) 4.2 编码原理 (5) 4. 转换原理 (7)

1. GB2312编码介绍 1.1 基本信息 1.2 GB标准 GB2312或GB2312-80是一个简体中文字符集的中国国家标准,全称为《信息交换用汉字编码字符集·基本集》,又称为GB0,由中国国家标准总局发布,1981年5月1日实施。GB2312编码通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB2312。 GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。 GB2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆99.75%的使用频率。 对于人名、古汉语等方面出现的罕用字,GB2312不能处理,这导致了后来GBK及GB18030汉字字符集的出现。 1.3 分区表示 GB 2312中对所收汉字进行了―分区‖处理,每区含有94个汉字/符号。这种表示方式也称为区位码。 01-09区为特殊符号。 16-55区为一级汉字,按拼音排序。 56-87区为二级汉字,按部首/笔画排序。 10-15区及88-94区则未有编码。 举例来说,―啊‖字是GB2312之中的第一个汉字,它的区位码就是1601。 1.4 字节结构

常用解码芯片介绍

解码芯片介绍:(排名不分先后) 很多烧友在苦苦寻找哪款解码器最适合自己,那么下面就我一些所知作一下介绍,以便于大家选择,当然也期望高手光临指导,我也在探索研究中。以排名第一的PCM1794/PCM1794,为100分,对解码芯片进行打分。 比较常见的高端解码器芯片有下面那一些: 以下几款只要能设计好,调音好,做好,都可以出最好的声音,效果难分难解,各有特色,各有所长所好。芯片的指标并不代表声音的好坏,关键看周围其他电路设计,决定了最后输出声音的品质。下面的声音解说,都是按照“音乐剑神”的设计调音能力能达到的最高水平。不包括也不保证,其他品牌用同样的芯片,能达到同样效果。我觉得听了及格的没几款。如果发现和我们类同介绍,必是盗版。 多片DAC芯片并联能提高多少效果: 很多客户问,那2片并联或4片并联到底能提高多少效果呢?拿4片16BIT的并联,和1片24BIT的,区别多少? 并联使用DAC可提高等效比特数,提高转换精度,还原音乐的厚度感和力度感增强。当DAC并联使用时,信噪比、动态范围都会提高,而失真度将会减小,各种误差也被平均化而降低。并联的方法有很多种,风格稍有不同。

大体上说:2个18 bit DAC并联后的转换精度相当于19 bit,4个20 bit DAC并联后转换精度相当于23 bit ,而8个20 bit DAC并联后转换精度相当于24 bit,等等。PCM1704等24 bit DAC出现之前,高档数字音响的24 bit转换精度就是利用多个DAC并联方法得到的。所以4个16 bit的并联,相当于19 bit效果。 从人耳声音听感上来说,区别不可能象技术指标数字上的差距那么大。24BIT的技术指标要比20BIT高16倍,即2的4次方,24BIT的技术指标要比16BIT的高1024倍。所以2并联从技术指标上来,20BIT的就相当于21BIT的了,提高100%,但声音效果是提高10%左右。同理4并联可以提高约20%。所以多片DAC并联,实际听感,并不如很多人想象的可以提高那么多,很多还是商业广告需求。 1,TDA1541:16BIT芯片。飞利浦顶级CD机王,大量采用。虽然是16BIT的,但效果15年前算是一流,中音温暖迷人,音乐味道浓郁。属于温暖甜美类型,适合古典,听人声,是这几款里面最好的。缺点是,解稀力和动态由于是16BIT的限制,稍有不足,但也不差了。制作容易做成功。属于老黄忠了。有的人觉得很好,很喜欢那味道。我估计是他周围器材设备不是最好,声音比较硬,那松暖声音风格,对硬声的器材,有很好的调和作用。但配于更高档的,比如我们音乐剑神的器材,1541的缺陷就暴露无疑问。我个人觉得高音解析力不足,那种高档器材产生的透明度,空灵感,余音绕梁感很缺。中音是温暖,但缺中气,

各种文字编码简介常见的编码都有介绍

各种文字编码简介 ASCII ASCII码是7位编码,编码范围是0×00-0×7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0×00-0×20和0×7F共33个控制字符。 只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE64或者其他编码方式。 GB2312 GB2312是基于区位码设计的,区位码把编码表分为94个区,每个区对应94个位,每个字符的区号和位号组合起来就是该汉字的区位码。区位码一般用10进制数来表示,如1601就表示16区1位,对应的字符是“啊”。在区位码的区号和位号上分别加上0xA0就得到了GB2312编码。 区位码中01-09区是符号、数字区,16-87区是汉字区,10-15和88-94是未定义的空白区。 它将收录的汉字分成两级: 第一级是常用汉字计3755个,置于16-55区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字计3008个,置于56-87区,按部首/笔画顺序排列。一级汉字是按照拼音排序的,这个就可以得到某个拼音在一级汉字区位中的范围,很多根据汉字可以得到拼音的程序就是根据这个原理编写的。 GB2312字符集中除常用简体汉字字符外还包括希腊字母、日文平假名及片假名字母、俄语西里尔字母等字符,未收录繁体中文汉字和一些生僻字。可以用繁体汉字测试某些系统是不是只支持GB2312编码。GB2312的编码范围是 0xA1-0×7E,去掉未定义的区域之后可以理解为实际编码范围是0xA1-0xF7FE。 EUC-CN可以理解为GB2312的别名,和GB2312完全相同。

国内常用编码器种类及品牌

国内常用编码器种类及品牌 编码器(欧美高端): 海德汉Heidenhain(德国),编码器第一品牌。 倍加福P+F(德国),各类常用编码器,占有一定中国场。 霍勒Hohner(德国,西班牙),编码器第二大生产厂商。RESATRON(德国),脉冲可达100000PPR,多圈至29BIT。 亨士乐Hengstler(德国),钢铁行业,化工行业等。 霍普纳Hubner-berlin(德国),中高端级应用,价格较高。 霍普纳Hubner-giessen(德国),重工行业,适用恶劣环境。 施克STEGMANN(德国),主要用于机床、电机回馈系统等方面。梅尔MEYER(德国),主要应用:造纸机械。 库柏KUBLER(德国),品种齐全,应用广泛。 希科SIKO(德国),磁性设计,耐潮湿,耐油污。 帝尔T+R(德国)。 LENORD+LINDE(德国)。 兰宝LENORD+BAUER(德国)。 FRABA(德国)。

ELTRA(德国)。 图尔克TURCK(德国)。 莱卡LIKA(意大利),获得ESA认证,适用航空、烟机等。 艾西斯ELCIS(意大利)。 SCANCON(丹麦),微型高精度编码器及防爆编码器。 堡盟Baumer(瑞士),高精度,高安全性,所占空间少。 莱纳林德LEINELINDE(瑞典)。 丹纳赫Danaher(美国),供应ACURO系列编码器。 艾迪克BEIIDEACOD(法国)。 日韩品牌(中低端): 欧姆龙OMRON(日本)以小型编码器居多,价格低廉。 内密控NEMICON(日本)小型编码器,产品稳定。 多摩川TAMAGAVA(日本)伺服电机,电梯应用较多 光洋KOYO(日本)同上,主要为TRD系列。 奥托尼克斯Autonics(韩国)市场以E40系列较多。MTL(日本)以位置测量见长。

编码品目介绍

1、地黄 1211.9026 地黄为玄参科多年生草本植物,主要为栽培,赤野生于海拔50-1100m的山坡及路旁荒地等处。因其地下块根为黄白色而得名地黄,其根部为传统中药之一,最早出典于《神农本草经》。依照炮制方法在药材上分为:鲜地黄、干地黄与熟地黄,同时其药性和功效也有较大的差异,按照《中华本草》功效分类:鲜地黄为清热凉血药;熟地黄则为补益药。此外,地黄初夏开花,花大数朵,淡红紫色,具有较好的观赏性。 【药理作用】 1. 降血糖:怀庆地黄的有效部分(R-BP-F)腹腔注射, 对四氧嘧啶所致小鼠实验性糖尿病有降低血糖作用. 2. 止血:生地、熟地煎剂、生地炭、熟地炭灌胃, 对小鼠均可缩短血液凝固时间(毛细管法). 3. 抗弥漫性血管内凝血:地黄70%甲醇提取物抑制ADP引起的大鼠血小板聚集, 并有抗凝血酶作用, 对内毒素引起的大鼠弥漫性血管内凝血有对抗作用. 另外尚有抗炎免疫、抗肝损害等作用. )。 一类含有两个双键的六元环状二酮(含两个羰基)结构的有机化合物。是芳香族母核的两个氢原子各由一个氧原子所代替而成的化合物 按母核的结构分为单蒽核及双蒽核两大类. 醌类对皮肤、黏膜有刺激作用。有抑菌、杀菌作用。用做防腐剂。有机合成试剂,制作医药和染料。 三,生物活性 醌类化合物的生物活性是多方面的.

1,致泻作用(番泻叶中的番泻苷类化合物) 2,抗菌作用(大黄中游离的羟基蒽醌类化合物) 3,止血作用(茜草中的茜草素类成分) 4,扩张冠状动脉的作用,用于治疗冠心病,心肌梗死等 ( 丹参中丹参醌类) 5,其他作用(驱虫,解痉,利尿,利胆,镇咳,平喘等 3、马来酐 英文名Polymaleic anhydride 简称PMA; 物化性质 马来酐是由马来酸酐聚合而成.又称聚顺丁烯酸酐,聚失水苹果酸酐,分子量2310。相对密度1.19~1.20。PH 1~2。乳白色至浅黄色。易溶于水、稀碱、丙酮、乙腈、低级醇、酯和硝基烷。马来酸酐容易水解成为聚马来酸。均聚物在水中离解时,生成稳定的环状结构,它是分子内氢键作用的结果。无毒。LD50>3000mg/kg。 用途用作增稠剂、防腐剂、阻垢剂、分散剂等。 4、乐杀螨 2-仲丁基-4,6-二硝基苯基-3,3-二甲基丙烯酸酯 非内吸性杀螨剂,对螨类有速效作用,对卵、幼虫、陈虫的各个阶段均有效,对蜜蜂等采花昆虫和天敌无害,有持效性,对抗性螨类也有效。作为杀菌剂,对白粉病有效,主要用于防治苹果、梨、感受和棉花上的螨类和白粉病,使用浓度0.025%~0.05%(有效成分)。对幼小的番茄、葡萄和玫瑰有一些药害。收获前禁用期为60天。 主要用途:用作农用杀虫剂、杀螨剂。 【性状】 带有轻微芳香气味的白色结晶。 【溶解情况】 几乎不溶于水,但溶于大多数有机溶剂。 危险性类别: 侵入途径: 健康危害:本品为中等毒杀虫剂。吸入、摄入或皮肤吸收均可中毒。对眼睛有轻微刺激性。对胆碱酯酶有抑制作用。 环境危害:对环境有危害,对水体可造成污染。 燃爆危险:本品可燃,有毒,具弱刺激性。 第四部分:急救措施回目录 皮肤接触:立即脱去污染的衣着,用大量流动清水冲洗。就医。

主流视频编解码格式介绍

前言 2009年,随着“高清MP4”浪潮在市场上的风生水起,令原本略感寒意的MP4市场重获温暖。依靠10M码流解码、支持1280×720分辨率视频直播,以及播放没有色块这三大要素,为用户打造更清晰的画质、更纯粹的音质、更完美的媒介,从而搭建起一座多媒体视听娱乐的金字塔,丰富璀璨的多媒体视听娱乐。 高清MP4标准 对于新生出的高清MP4,很多消费者的了解都比较有限,会存在着或多或少的疑惑,为此,笔者特别整理出相关的信息,为你依次扫除心中的迷雾,探究神秘面纱下的真实面目,帮助你畅享娱乐时尚、享受高清视听。

高清《变形金刚2》视频 高清的定义 高清,英文为“High Definition”,即指“高分辨率”。高清电视(HDTV),是由美国电影电视工程师协会确定的高清晰度电视标准格式。现在的大屏幕液晶电视机,一般都支持1080i和720P,而一些俗称的“全高清”(Full HD),则是指支持1080P输出的电视机。

而现在很多的朋友都想通过电脑或MP4来观看高清电视,那什么样的电影才是真正的高清电影呢?下面就给大家介绍几个高清电影常用的分辨率: 720p格式,750条垂直扫描线,720条可见垂直扫描线,16:9,分辨率为1280×720,逐行/60Hz,行频为45KHz。 1080i格式,1125条垂直扫描线,1080条可见垂直扫描线,16:9,分辨率为1920×1080,隔行/60Hz,行频为33.75KHz。 1080p格式,1125条垂直扫描线,1080条可见垂直扫描线,16:9,分辨率为1920×1080逐行扫描,专业格式。 其中i和p分别是interlace scan(隔行扫描)和progressive scan(逐行扫描)的缩写。 分辨率对比 任何事情都不可能是完美的,同样1080i和720p两个规格也有着各自的优点和缺点。隔行扫描的方式在显示静止画面时存在缺陷,有轻微的闪烁和爬行现象,720p的逐行扫描解决了闪烁现象,但是720p的图像有效利用率低,因为它在行场消隐期间消耗了过多的像素,而1080i则有更多像素用来表现图像。在表现普通电视节目、电影等慢速运行的视频时,1080i优势明显;而在表现体育节目等快速运动的视频时,720p则更适合。 高清解码格式 由于高清视频分辨率高,像素量大,导致了视频原始文件大小都拥有着恐怖的数据,一部未经压缩,普通格式1080P高清影片就会占用几百GB乃至上千GB的存储空间,所以要通过编码技术来缩减视频文件的体积。目前的高清视频编码格式主要有H.264、VC-1、MPEG-2、MPEG-4、DivX、XviD、WMA-HD以及X264。事实上,现在网络上流传的高清视频主要以两类

条码简介及编码的区分和规则

条码简介及编码的区分和规则 编码的区分 --------------------------------------------------- 条码的简介和应用领域: EAN码是国际物品编码协会制定的一种商品用条码,通用于全世界。EAN码符号有标准版(EAN-13)和缩短版(EAN-8)两种,我国的通用商品条码与其等效。我们日常购买的商品包装上所印的条码一般就是EAN码。 UPC码美国统一代码委员会制定的一种商品用条码,主要用于美国和加拿大地区,我们在美国进口的商品上可以看到。 39码一种可表示数字、字母等信息的条码,主要用于工业、图书及票证的自动化管理,目前应用极为广泛。 库德巴(Codebar)码表示数字和字母信息,主要用于医疗卫生、图书情报、物资等领域的自动识别。 二维条码一维条码所携带的信息量有限,如商品上的条码仅能容纳13位(EAN-13码)阿拉伯数字,更多的信息只能依赖商品数据库的支持,离开了预先建立的数据库,这种条码就没有意义了,因此在一定程度上也限制了条码的应用范围。基于这个原因,在90年代发明了二维条码。二维条码除了具有一维条码的优点外,同时还有信息量大、可靠性高,保密、防伪性强等优点。 目前二维条码主要有PDF417码、Code49码、Code 16K码、Data Matrix码、MaxiCode码等,主要分为堆积或层排式和棋盘或矩阵式两大类。 二维条码作为一种新的信息存储和传递技术,从诞生之时就受到了国际社会的广泛关注。经过几年的努力,现已应用在国防、公共安全、交通运输、医疗保健、工业、商业、金融、海关及政府管理等多个领域。 二维条码依靠其庞大的信息携带量,能够把过去应用一维条码时存储于后台数据库中的信息包含在条码中,可以直接通过阅读条码得到相应的信息,并且二维条码还有错误修正技术及防伪功能,增加了数据的安全性。 二维条码可把照片、指纹编制于其中,可有效地解决证件的可机读和防伪问题。因此,可广泛应用于护照、身份证、行车证、军人证、健康证、保险卡等。在海关报关单、长途货运单、税务报表、保险登记表上也都有应用二维条码技术来解决数据输入及防止伪造、删改表格的例子。 --------------------------------------------------- 条码编码方式介绍 条码种类很多包括:Code39码(标准39码)、Codabar码(库德巴码)、Code25码(标准25码)、ITF25码(交叉25码)、Matrix25码(矩阵25码)、UPC-A码、UPC-E码、EAN-13码(EAN-13国际商品条码)、EAN-8码(EAN-8国际商品条码)、中国邮政码(矩阵25码的一种变体)、Code-B码、MSI码、、Code11码、Code93码、ISBN码、ISSN码、Code128

常见编码的含义

常见编码的含义 车牌号的意义 代表该车所在地的地市一级代码,规律一般是这样的,A是省会,B是该省第二大城市,C是该省第三大城市,依此类推。 车牌号的第一个是汉字:代表该车户口所在省的简称:如四川就是川,北京就是京,重庆就是渝,上海就是沪......,第二个是英文:代表该车所在地的地市一级代码,规律一般是这样的,A是省会,B是该省第二大城市,C是该省第三大城市,依此类推。然后就是后五位啦,这后五位是这样的规律,如果你是第一个在该省该地区上的第一个车牌,从理论上讲你车牌后五位就是00001,如果你是第8965位车主,你的车牌的后五位理论上就应该是08965,如果车牌超过了数字的容量就是第100000万位时,就从第一位开始用字母A,后面用0001至9999,用完后第一位改成B再跟0001至9999,依此类推,也就是说如果车牌号越大说明车越新,前面的英文字母越靠后,说明车越新,这就是一般规律。黄色牌号代表大车,兰牌代表小车,黑牌代表外资企业或者是大使馆的车,军车的牌号是按军队的编法编的,与地方车不一样,但是都是白底红字,警车与地方车编法基本相同,只是最后位数字不是数字而是改成了红色的警字。 手机号的意义 大家都知道以前电信移动邮政还没有分家阿,邮电资源是邮电部(现信息产业部)统一调度的。 在分配号段的时候,做了一些细致的规划,大体是这样: 10开头,电信服务号码,如103国际半自动挂号,108国际对方付费电话,1000电信服务中心,1001联通服务中心等等。 11开头,赋予特种服务号码,如110匪警,111电信内部测试,112报修,113、115国内人工长途挂号,114查号台,116国内人工长途查询,117报时,119火警等, 12开头,赋予民用特殊号码,如120(医院),121(天气预报),122交通事故告警,126、127、128、129寻呼台(BP机时代)。 所以分配到手机用户时,以13开始做号段。后来分配130~133为联通,134~139为移动。 其他的特殊号段号码有: 16,声讯类,如160中国电信工人信息服务接入码,166语音信箱业务,167 吉通计算机互联网业务接入码,168声讯服务,中国电信公众多媒体网接入码等17,长途电话服务,如170国内长途全自动话费查询台,173国内立接制长途半自动挂号台,176国内长途半自动查询台,177国内长途半自动班长台,179IP 语音服务接入码等 18,部分服务台,如180邮政服务,184邮政编码查询接入码,185国家邮政局电话信息服务接入码,186移动服务中心,188固定电话交费台,189中国电信业务受理特服台等。 19,寻呼接入,191联通无线电人工寻呼接入码,192联通无线电自动寻呼接入码等等

相关主题
相关文档 最新文档