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

今天本写了篇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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicat15.0.22注册激活码【在线注册码/序列号/破解码】

    navicat15.0.22注册激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    82
  • ora00904::标识符无效_ora-00911 无效字符

    ora00904::标识符无效_ora-00911 无效字符ORA:即Oracle报错。标识符无效:SQL语句中,这个字段名不在表中。解决方案:修改SQL语句中对应的字段或者修改表里面对应的列名。在这里我想说一下,因为我用的是hibernate内部封装好的save方法,咱也不能去改人家的底层方法是不是,所以我在这里用到一个注解(@Column)去指定SQL要执行的字段我第一次用的时候放在了这里↑但是没什么效果,然后我就把这个注解(@Column)放到getset方法上,问题就解决了。我的问题已经解决,也希望能帮到大家。…

    2022年10月24日
    0
  • Unity Sprite Altas「建议收藏」

    Unity Sprite Altas「建议收藏」SpriteAtlas(精灵图集)SpriteAtlas针对现有的图集打包系统SpritePacker在性能和易用性上的不足,进行了全面改善。除此之外,相比SpritePacker,SpriteAtlas将对精灵更多的控制权交还给用户。由用户来掌控图集的打包过程以及加载时机,更加利于对系统性能的控制。SpriteAtlas的主要有以下三个功能:1.创建、编辑图集以及设定图集参数2.添加图集Variant(变种)3.运行时访问图集下面将通过具体案例来分别展示以上三个功能。创建

    2022年10月24日
    0
  • Redis哨兵机制原理详解

    Redis哨兵机制原理详解

    2021年4月10日
    132
  • eclipse控制台console乱码「建议收藏」

    eclipse控制台console乱码「建议收藏」情况如下解决:run–>RunConfiguration–>common选择编码

    2022年5月9日
    40
  • TCP拥塞控制原理

    TCP拥塞控制原理TCP拥塞控制原理:TCP使用的是端到端的拥塞控制而不是网络辅助的拥塞控制,因为IP曾不想端系统提供显示的网络拥塞反馈。TCP采用的方法是让每一个发送方根据所感知到的网络拥塞的程度,来限制其能向连接发送流量的速率。这种方法有三个问题: 一个TCP发送方是如何限制向连接发送流量的速率? 一个TCP发送方是如何感知它到目的地之间的路径上存在拥塞的呢?

    2022年6月24日
    28

发表回复

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

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