信源作业

1.视频,音频,语音,图像的源数据表示方法分别是什么?

答:视频:RGB&YUV,RGB是最早用在彩色显示器上的表示色彩空间的方法,运用了RGB三原色的原理来产生色光。

            YUV又称为YCbCr,实际上是一种数据压缩的色彩空间存储方式,其中Y是亮度,Cb和Cr是色度信息。如果只传输Y信息的话实际上就是我们的黑白图像。

       音频:PCM(Pulse-code modulation),说穿了就是将模拟信号的数据经过数字采样,量化以后的声音。

       语音:PCM

       图像:RGB&YUV


2.RGB,YUV的取值范围?

答:R:0~255   G:0~255   B:0~255

       Y = 0.299R + 0.587G + 0.114B   U = -0.147R - 0.289G + 0.436B  V = 0.615R - 0.515G - 0.100B

      Y:0~255   U:0~255   V:0~255


3.WAV音频文件提取PCM源数据

说明:wav文件就是在pcm数据的基础上加了一文件头。文件头的大小为44个字节(没有附件字段的情况,如果有附加字段问46个字节),剔除文件头,就是纯pcm采样过来的数据。
 pcm构成要素:采样率 ,声道个数,数据符号特性(一般8位都是无符号的)
********************************************************************************************************/
#include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *infile, *outfile;
char *buf = NULL;
long length;


   if((infile = fopen ("e:\\1.wav", "rb+"))==NULL)
{
printf("Open the 1.wav failed\n");
return ;
}
else
{
printf("Open the 1.wav success\n");
}
if((outfile = fopen ("e:\\2.pcm", "wb"))==NULL)
{
printf("Open the 2.pcm failed\n");
return ;
}
else
{
printf("Open the 2.pcm success\n");
}
/*获取文件的长度*/
fseek(infile,0,SEEK_END);
length=ftell(infile);


buf = (char*)malloc(length-43);/*文件数据段长度等于文件总长度-文件头长度位置*/
fwrite(buf,1,length-44,outfile);/*文件数据段长度为a-44,但指针是指向前一个指针*/
free( buf );
fclose(infile);
fclose(outfile);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值