音视频的数字化原理「建议收藏」

今天本写了篇dicom医学图像解析的文章,后面听人谈到了音视频,今天我就再从中学物理写下我理解的音视频数字化原理。**音频:**物理上说声音三要素音调,响度,音色,响度直观理解就是声音的大小,声音的高低(高音、低音),音色,又称音品这两个其实都跟频率有关。声音的数字化呢,其实来源于原理的,物理上人能听到声音频率的范围是20hz到20khz,数字化采集声音时一般时按44.1khz采集的,就是1s中采集44100次,然后用16byte2个字节来存,一个采样能存的层级就是-2的8次方到2的8次方-1层,总的就是

大家好,又见面了,我是你们的朋友全栈君。

音频:物理上说声音三要素音调,响度,音色,响度直观理解就是声音的大小,声音的高低(高音、低音),音色,又称音品这两个其实都跟频率有关。声音的数字化呢,其实来源于原理的,物理上人能听到声音频率的范围是20hz到20khz,数字化采集声音时一般时按44.1khz采集的,就是1s中采集44100次,然后用16比特2个字节来存,一个采样能存的层级就是-2的8次方到2的8次方-1层,总的就是65536层,一般一个音频的裸数据格式是pcm(脉冲编码调制),p量化格式,s采样率,m声道数,按一个双声道的音频,1s内占用的大小就是44100x16x2=1378.125kbps,kbps又称比特率,就是1s内比特数目的大小,那么双声道1分钟的大小就是1378.125×60/8/1024=10.98mb,注意除8是因为8个比特为1个字节。音频的压缩原理呢,因为我们采集频率是44.1khz,而我们能听到的只有20hz-20khz,压缩就可以简单的理解为去除掉在我们听觉之外的那部分,其实这是无损压缩,还有有损的压缩。有了这些我们就可以编码了,声音的编码有很多比如WAV,MP3,AAC,LC-AAC,HE-AAC,HE-AAC v2,Ogg等。
视频:同样来自中学物理,我们知道光学的三原色是红®,绿(G)蓝(B)构成,而手机呢是由一个个像素点构成,一个像素点能产生这三种光,一个像素也是由这三个构成,以RGBA_8888格式的图举例表视一个像素的R(红,8个比特)G(绿,8个比特)B(蓝,8个比特)A(透明度,8个比特),8个比特取值范围是0-255,比如一个手机屏幕是1080×1920,对应一个1080x1920RGBA图的话就是1080x1920x8x4/8=8.294400MB同样除以8是因为8个比特为1个字节。这只是一种编码,编码还有RGB_565,RGBA_4444等,这就是图,视频就是一张张图片构成。但传输种这样的图太大了,需要压缩,视频压缩有时间压缩,空间压缩,空间压缩简单理解就是把一张图按像素点比例的缩小,时间压缩简单理解就是上一张还有一部分其实是不动的下一张图还可以继续用,比如你拍视频人在动,山没动,下一张就可以保留山,把你填上就是了,大概是这么个意思,除了这个还有种YUV格式的视频数据格式的视频,可以跟RGB转换。有了这些再谈下视频的编码,视频的编码有Mpeg1,Mpeg2,Mpeg3,Mpeg4,H.261,H.262,H.263,H.264等。
一下想吹牛,粗虐谈下原理写下文章,后续有时间再写一下我掌握的视频技术。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127197.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • wireshark流量分析实战

    wireshark流量分析实战wiresharkWireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。下面是在网上找的数据包资源,来自2018的铁人三项流量分析题目,一共有二十题,共有六个数据包,本人习惯一题一题来,不过可能是个很不好的习惯1.黑客的IP是多少…

    2022年4月29日
  • 【19】进大厂必须掌握的面试题-50个React面试

    【19】进大厂必须掌握的面试题-50个React面试

    2020年11月13日
  • varchar与char的转换_character with byte sequence

    varchar与char的转换_character with byte sequence储存不区分大小写的字符数据TINYTEXT最大长度是255(2^8–1)个字符。TEXT最大长度是65535(2^16–1)个字符。MEDIUMTEXT最大长度是16777215(2^24–1)个字符。LONGTEXT最大长度是4294967295(2^32–1)个字符Varchar对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个…

    2022年8月13日
  • ffmpeg从入门到精通 下载_从入门到精通nginx——Nginx的下载和环境安装

    ffmpeg从入门到精通 下载_从入门到精通nginx——Nginx的下载和环境安装Nginx的下载  nginx的官网:http://nginx.org/  百度云盘地址https://pan.baidu.com/s/1kjQST_x1Sf_thg3XDmqx6w密码:18sc将nginx上传至linux环境搭建安装C语言环境  因为nginx是C语言写的,而且是源码安装,安装前需安装C语言环境。安装依赖库  基本的Nginx功能依赖于一些基本的库,在安装Nginx之前需要提…

    2022年6月26日
  • Linux查看物理CPU个数、核数、逻辑CPU个数

    Linux查看物理CPU个数、核数、逻辑CPU个数

    2022年3月7日
  • getdate()方法_formatdatetime函数

    getdate()方法_formatdatetime函数今天看博客看到了一个关于字符串处理的方法,突然就想到可以用来格式化数据,相比之前我是用判断然后用字符串拼接的方法,比较繁琐,感觉这样做会更加好些。1.str0.padStart(length,str1),将指定字符串str1按照长度填充到字符串str0的头部2.关于月份month和日day为个位数的处理如下:varnowTime=newDate()varnowMonth=String(nowTime.getMonth()+1).padStart(2,’0′)…

    2022年9月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号