前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >音视频技术助力政府采购之音视频编码采集

音视频技术助力政府采购之音视频编码采集

作者头像
政采云前端团队
发布2023-09-01 17:19:39
1780
发布2023-09-01 17:19:39
举报
文章被收录于专栏:采云轩采云轩

前言

2020 年出现新冠疫情,面对复杂严峻的新冠肺炎疫情防控形势,为做好新型冠状病毒感染肺炎的疫情防控工作,有效减少人员聚集,保障相关人员的生命安全和身体健康,财政部印发了《关于疫情防控期间开展政府采购活动有关事项的通知》(财办库〔2020〕29 号),明确在疫情期间应尽量通过电子化方式实施采购。

在这个特殊时期,政采云运用科技手段开启“非接触式线上服务”,规避面对面交流存在的病毒传播风险。

政采云基于音视频能力平台,有效整合实时音视频、AI 等技术,助力政府、企业开展远程线上采购,将供应商获取招标文件、编制投标文件、投标、开标、专家评标的业务迁移到线上,全流程电子化、无纸化,并通过实时音视频技术手段做到采购人员远程实时交互以及全程业务留痕。

要打造一个成功的音视频产品,始终离不开对音视频频技术的娴熟应用。而对任何一门技术,其基础知识都是非常重要的,这篇文章,以初学者的角度,聊聊音视频技术的一些基础概念。

实时音视频应用技术包括采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。每一个细分环节,还有更细分的技术模块。我们先来聊聊音视频采集。

音视频技术助力政府采购之(一)音视频采集

音视频原始数据采集,比如从客户端的摄像头、麦克风等,获得基础的音视频数据,又称为“数据裸流”。

1、音频采集

声音是由物体振动产生的声波。是通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。从我们耳朵听见的声音,到我们用手机、电脑所处理的音频数据,怎样对声音进行数字化?对声音进行数字化,首先要使用特定的设备对声音进行采集。

音频的采集过程主要通过设备将环境中的模拟信号采集成 PCM 编码的原始数据。

1.1、音频采样

当声波传递到话筒时,话筒里的碳膜振动时会触碰电极,接触时间的长短跟声音响度有关,这样就完成了声音信号到电压信号的转换。后面经过电路放大后,就得到了模拟音频信号。计算机不能直接处理连续的模拟信号,所以需要进行 A/D 转换,以一定的频率对模拟信号进行采样,然后再进行量化和存储,就得到了数字音频。最常见的 A/D 转换是通过脉冲编码调制 PCM(Pulse Code Modulation)。

1.2、音频量化

要将这样的信号转为 PCM 时,需要将声音量化,我们一般从如下几个维度描述一段声音:

采样频率:即取样频率,指每秒钟取得声音样本的次数。采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多。由于人耳的分辨率很有限,太高的频率并不能分辨出来,人类听觉范围是 20~20k Hz 内的音频,那么数字音频的采样率需要在 40k Hz 以上。在 16 位声卡中有 22KHz、44KHz 等几级,其中,22KHz 相当于普通 FM 广播的音质,44KHz 已相当于 CD 音质。

CD 音频使用 44100 Hz 的采样率,为什么是 44100 这个数字,这个是历史原因:最早的数字录音是使用一台录像机加上一部 PCM 编码器,当时使用的是 PAL 录像制式,场频 50 Hz,可用扫描线数 294 条,一条视频扫描线的磁迹中记录 3 个音频数据块,把它们相乘,就得到了 44100 这个数字。

采样位数:即采样值或取样值,指的是在音频采集量化过程中,每个采样点幅度值的取值精度,一般使用 bit 作为单位。它是用来衡量声音波动变化的一个参数,也可以说是声卡的分辨率。位深影响声音的解析精度、细腻程度,它的数值越大,分辨率也就越高,所发出声音的能力越强,音色也越真实、生动。

声道数:很好理解,一般指声音采集录制时的音源数量或播放时的扬声器数量。单声道的声音只能使用一个喇叭发声(有的也处理成两个喇叭输出同一个声道的声音),立体声的 PCM 通过一般左右声道有分工可以使两个喇叭都发声,更能感受到空间效果。除了常见的声道数 1、2,PC 上还有 4,6,8 等声道的扩展。一般来说声道数越多,声音的方向感、空间感越丰富,听感也就越好。

时长:采样的时长。

1.3、音频编码存储

PCM 存储方式(数据格式)

例如,一个单声道、8bit、11KHz 的格式如下:

采样点

T1

T2

T3

T4

T5

T6

幅值

0x05

0x06

0x04

0x07

0x05

0x07

采样位数为是 8bit,用一个 byte 存储它每个时刻的信息。

声道为单声道,每个时刻只有一份信息,采样数据按时间的先后顺序依次存入。

频率为 11kHz,每秒钟有 11025 个时刻。

那么,对于多声道的声音,每个时刻的存储同时存了两份(LRLRLR)的方式。单声道的声音有的时候也会采用 LRLRLR 方式存储,只是另一个声道的数据为 0。

对于 16bit 的声音,又分为 little endian 和 big endian 存储方式(和数字的存储方式一样分大小端)

big-endian 模式如下图所示:

因为 PCM 没有压缩,它一定满足一个公式:capacity(bit) = time(s)*(16/8 bit/point)n(point/s)(L/R),最左边表示容量,位为单位;time 单位是音频持续时间,秒为单位;采样位数跟一个点的采样精度有关,为 1 字节 8 位,或者 2 字节 16 位;n 是采样率,即一秒钟才用多少个点;L/R 表示是立体声还是单声道,前者是 2 后者是 1。所以当我们对一段音频的采样率不太确定时,根据录制的音频文件的大小,时间,采样率和采样精度等参数,也可以反推出采样率的值。

2、视频采集

在了解了音频的基础知识后,我们对应的去介绍视频。视频其实就是按时间序列组合在一起的一组图像。多幅静止图像(图像帧)在时间轴上运动,多帧图像随时间变化而产生运动感,因此视频也被称为运动图像。图像的数字化跟声音的数字化也类似,最终都是要把模拟信号转换为数字信号。图像的采集过程主要由摄像头等设备拍摄成 YUV 编码的原始数据,然后经过编码压缩成 H.264 等格式的数据分发出去。

2.1、摄像头工作原理

图像的采集过程主要由摄像头等设备拍摄成视频原始数据。图像的采集源包含摄像头、采集卡、屏幕录制或者本地的视频文件。

摄像头采集是监控直播中最常见的采集方式。景物通过镜头(LENS)生成的光学图像投射到图像传感器(sensor)表面上,然后 sensor 感光像 素点转为电信号,经过 A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP) 中加工处理,再通过数据口传输到手机或电脑中处理,通过显示屏(DISPLAY)就可以看到图像了。

2.2、数据格式

数字信号处理(DSP)sensor 阵列输出的信号,在每个像素上都只是单色的,需要用相邻像素的色彩去猜测本像素的其他色彩。这个由传感 器直接输出的,每个像素只有单色信息的数据,叫做 Raw RGB 数据。而 DSP 的目的,就是把 Raw RGB 数据,去通过计算和后期加工,变成真正的 RGB 或 YUV 格式的数据。简而言之,DSP 的主要工作, 就是把 Raw RGB 格式转换成 RGB 格式或者是 YUV 格式。

YUV 是比较常用的原始视频数据数据格式,视频采集芯片输出的码流大部分都是 YUV 数据流形式,而视频处理(如 H264、H265 编码等),也是在原始 YUV 码流进行编码和解析。

2.2.1、YUV-模型

原始视频信源采集后的数据为 RGB 格式,每一帧图像都分成红、绿、蓝 3 个通道,RGB 三个分量分别用 8bit 来表示,其取值范围为 0–255。

为了将色度信号和亮度信号分开,将三基色 RGB 信号转成 YUV 信号,YUV,分为三个分量,“Y”表示明亮度(Luminance 或 Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance 或 Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。这样设计分开的主要原因是,人眼对色度的敏感程度要低于对亮度的敏感程度。转换关系如下:

代码语言:javascript
复制
Y=0.299R+0.587G+0.114B

U=-0.1678R-0.3313G+0.5B

V=0.5R-0.4187G-0.0813B

在对亮度分量信号进行 8 比特均匀量化时,共分为 256 个等间隔的量化级。在数字电视显示时,为了防止信号变动造成过载,在 256 级上端留 20 级,下端留 16 级作为信号超越动态范围的保护带。而在对该信号进行传送时,则不用预留保护带,范围直接是 0-255。

色差信号经过归一化处理后,动态范围为-0.5-0.5,让色差零电平对应码电平 128,色差信号总共占 225 个量化级。在 256 级上端留 15 级,下端留 16 级作为信号超越动态范围的保护带。另外,要表示负数不方便,所以上抬 128 电平。对该信号进行传送时,则不用预留保护带,范围直接是 0-255。

人眼对彩色细节分辨率低于对亮度细节分辨率,所以为了节约带宽,将人眼敏感的亮度信号用宽带传送,人眼不敏感的色差信号用窄带传送,来保证质量。

由于人眼对彩色信号不敏感,所以可以采用色度采样。YUV 码流的存储格式与其采样方式有密切的关系,主流的采样方式有三种:YUV4:4:4、YUV4:2:2、YUV4:2:0。

简单来说,就是:

  • YUV 4:4:4 表示完全取样,每一个 Y 对应一组 UV 分量。一个 YUV 占 8+8+8 = 24bits 3 个字节。
  • YUV 4:2:2 表示 2:1 的水平取样,垂直完全采样,每两个 Y 共用一组 UV 分量。一个 YUV 占 8+4+4 = 16bits 2 个字节。
  • YUV 4:2:0 表示 2:1 的水平取样,垂直 2:1 采样,每四个 Y 共用一组 UV 分量。一个 YUV 占 8+2+2 = 12bits 1.5 个字节。

我们最常见的 YUV420 分为两种:YUV420P 和 YUV420SP,都是基于 4:2:0 采样的,所以如果图片的宽为 width,高为 heigth,在内存中 占的空间为 widthheight3/2,其中前 widthheight 的空间存放 Y 分量,接着 widthheight/4 存放 U 分量,最后 width*height/4 存 放 V 分量。

下面三个图比较直观的显示了三种采样方式。其中黑点表示采样像素点的 Y 分量,空心圆表示采样像素点的 UV 分量。

YUV 存储方式(planar 和 packed)

  • planar 的 YUV 格式:将 Y、U、V 的三个分量分别存放在不同的矩阵中,先连续存储所有像素点的 Y,紧接着存储所有像素点的 U,随后是所有像素点的 V。平面格式(planar format)有 I420(4:2:0)、YV12、IYUV 等。
  • packed 的 YUV 格式:每个像素点的 Y,U,V 是连续交叉存储的,将 Y、U、V 值储存成 Macro Pixels 阵列,和 RGB 的存放方式类似。紧缩格式(packed format)中的 YUV 是混合在一起的,对于 YUV4:4:4 格式而言,用紧缩格式很合适的,因此就有了 UYVY、YUYV 等。
2.3、像素和分辨率

像素,上面提到很多次了。像素是画面中最小的点(单位色块)。像素的大小是没有固定长度值的,不同设备上 1 个单位像素色块的大小是不一样的。相同物理面积下,像素点越多,显示的图像就越清晰,像素点越少,显示的图像就越模糊。

一张图像里像素点的排列并非杂乱无序,而是横向成行、竖向成列的规则排列。分辨率一般描述为 M x N,M 代表水平方向即横向像素数,N 代表垂直方面即竖向像素数,两者相乘即为此图像的像素总数。例如,一张 1920 乘 1080 分辨率的图片,即代表横向有 1920 个像素点,竖向有 1080 个像素点,这张图的像素总数为 1920 x 1080 = 2073600。分辨率说白了还是在描述一张图的像素总数。

最后说一下显示器的分辨率问题,屏幕分辨率是设备屏幕的像素点,单位物理面积内,像素数越多,清晰度越高,显示的图像越细腻。同样的分辨率,对应的显示器物理尺寸却可能不同。为什么两个不同物理尺寸的显示器分辨率会是一样的呢?答案很简单,他们的每个像素点的大小不同。对不同的显示器来说,像素点的大小可能是不一样的。单位物理面积内,像素点越多,也就意味每个像素点越小。像素点越小,显示的图像也就越精细、越清晰。

3、结语

这篇文章我们从音视频数据的采集入门,介绍了音视频原始数据。后面的章节我们将介绍常见的音视频编码和协议,如何正确的选择和优化音视频协议。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 政采云技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 音视频技术助力政府采购之(一)音视频采集
    • 1、音频采集
      • 1.1、音频采样
      • 1.2、音频量化
      • 1.3、音频编码存储
    • 2、视频采集
      • 2.1、摄像头工作原理
      • 2.2、数据格式
      • 2.2.1、YUV-模型
      • 2.3、像素和分辨率
    • 3、结语
    相关产品与服务
    对象存储
    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档