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

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


相关推荐

  • cockpit二次开发_laravel api

    cockpit二次开发_laravel api背景:最近公司要基于cockpit,来定制自己的一个服务器管理web应用。嗯。。cockpit是啥?能干嘛?我要拿它干嘛?如你所见,我此刻是懵逼的。cockpit了解我熟练的打开了百度又打开了bing哦吼,二度懵逼。经过几番了解,大概是知道了LinuxCockpit是一个基于Web界面的应用,它提供了对系统的图形化管理。因为功能集成,对服务器管理来说,可以称得上是神器,深受linux开发者的喜爱。(呵呵。。)最后我大概是知道了,公司就是想让我在人..

    2025年7月27日
    4
  • QT5编程入门教程(非常详细)「建议收藏」

    QT5编程入门教程(非常详细)「建议收藏」Qt是一个跨平台的C++框架(C++库),目前最新的版本是Qt5。Qt5还包含了很多小版本,其中推荐Qt5.6或Qt5.9,这两个版本是LTS版本(即长期支持版本),Bug较少,相对稳定。Qt除了支持界面设计(GUI编程),还封装了与网络编程、多线程、数据库连接、视频音频等相关的功能。这套Qt教程以Qt5.9为基础来介绍Qt开发,配有精美的图片以及完整的示例程序,几乎涉及Qt编程的所有模块。注意,本教程不再对C++语法进行介绍,没有C++基础的读者…

    2022年5月16日
    41
  • 0x7ffffffff什么意思(y9000x)

    运行之后发现:0x7FFFFFFF对应int.MaxValue即21474836470xFFFFFFFF对应uint.MaxValue即42949672950x7FFF对应short.MaxValue即327670xFFFF对应ushort.MaxValue即655350x7F对应sbyte.MaxValue即1270xFF对应byt…

    2022年4月12日
    76
  • monkeybuddy插件_v8引擎是什么意思

    monkeybuddy插件_v8引擎是什么意思介绍   SpiderMonkey是Firefox使用的脚本引擎,V8是GoogleChrome使用的脚本引擎。这篇文章介绍了怎样在自己的C++程序中嵌入这两种脚本引擎,以及简单做了一些横向的对比。 编译SpiderMonkey

    2022年10月16日
    4
  • ss端口1080不能用_端口被占用

    ss端口1080不能用_端口被占用问题解决:SSR的1080端口被占用在我的博客故障解决:端口已被占用1080中已经讨论了一些方法,但也不是每次都能成功。对于SSR,我们完全可以换一种思路:既然1080被占用了,那我就换个端口。找到配置文件gui-config.json找到”localPort”:1080,你完全可以换一个端口号,比如”localPort”:12345,保存后重启…

    2022年9月6日
    5
  • 有什么优质的计算机专业书籍?操作系统、计算机网络、计算机组成、数据结构、数据库…..「建议收藏」

    有什么优质的计算机专业书籍?操作系统、计算机网络、计算机组成、数据结构、数据库…..「建议收藏」大家好,我是小林哥。平日里,大家都喊程序员加班多很辛苦,动不动就掉头发,但干的还是很香的,毕竟大多数公司钱还是给的很到位的,今年毕业应届生的我见到好多动不动就月薪20K~30K的,真让人两眼泪酸酸,当然这离不开他们大学期间的努力。讲真,没什么家庭背景的人,选择当程序员确实是比较好的选择了,原因有二:首先,当今互联网、AI人工智能、大数据等都是高速发展的行业,自然人才需求很多,薪资也相对其他传统行业高;第二,纯粹看你技术能力,只要自己愿意付出努力,技术能力肯定会慢慢提高上来,而且现在比起几十年

    2022年5月2日
    49

发表回复

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

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