0%

Audio

听觉享受。

Why

H.266 突破的「喜」与「忧」

下一代视频技术实现重大突破,视频编码标准H.266出炉。

近日,Fraunhofer宣布最新的视频编解码标准 H.266/VVC制定完成。同等画质下将节省近50%传输流量,清晰度越高,码率节省越多。这项耗时3年的标准,主要面向未来的4K和8K。

H.266由MPEG和ITU联合开发,全球范围内包括高通、HHI、华为、三星、索尼、英特尔、诺基亚、爱立信、华为、腾讯、阿里等企业均有参与其中。

其中不少企业正在设计新芯片,以启用/加速H.266。并且提供支持H.266编码器和解码器的软件也将在今年秋季发布。

1

什么是视频编解码技术?

视频是由一张张图片连接起来形成的动态图像序列,若直接将每张图片的每一个像素点数据都加以存储,视频码流所占用的带宽将不可估量。

视频编解码的作用,是在摄像头采集画面前后,将图像进行压缩和数字编码,获取更加优化、抗干扰能力强的码流,以用于传输。本质上,就是用尽可能小的带宽传送高质量的视音频数据。

从MPEG-1到MPEG-2,从H.263、H.264到H.265(HEVC),以及现在的H.266等一系列标准,都是为了让码流更优化、压缩效率更高、稳定性更强。

2013年推出的H.265是在H.264编解码结构基础上,提高了压缩率、编码质量,并且仍然采用混合编解码。

超高清视频时代,帧率逐渐从30fps向60fps、120fps甚至240fps进发。高度密集的数据给带宽和存储带来巨大挑战,当前主流的H.264的编解码技术已经不能满足未来4K、8K的需求,H.266应运而生。

H.266/VVC的压缩视频方式与H.265/HEVC相似,但是在分区、预测和熵编码等方面都有所改进。

与H.265相比,H.266进一步优化了压缩性能,在保证视频清晰度不变的情况下,H.266存储体积减小一半、宽带流量节省一半,画质更细腻。

比如,下载一部基于H.265编解码的电影需要2GB,画质、清晰度、播放速度不变的情况下,基于H.266编解码技术耗费的流量只要1GB。

简单来说,可以极大地提升用户体验,降低企业成本。

2

如果H.266得到普及,所有与超高清视频相关的行业将迎来巨大变革,说视频编解码技术H.265/H.266是4K/8K超高清视频发展的基石也不为过。

但,技术迭代的狂欢背后,隐藏着巨大的隐患:专利费收取混乱。这也是H.265至今7年未能普及的原因。

一个视频编解码技术标准的形成来自近千个专利的支撑,而这些专利权分散在大量不同的企业手中。

H.265标准推出时,原来H.264的老牌专利池MPEG LA提高了H.265的收费标准,一些企业另起炉灶,成立新的专利收费组织,还有不少的专利持有者没有加入组织,提出单独收取专利费诉求。

“目前至少有四家组织或公司在收取H.265的许可费用:老牌的专利池MPEG LA,新兴的专利池HEVC Advance和Velos Media,以及Technicolor公司。”某业内人士感慨到:

“H.265从2013年定稿的第一天起,各组织和公司就开始收取专利费,每台终端设备的专利费最高可达1.2美元。”

收费标准太高,且收费主体不清晰,不仅极大地侵占产品利润、带来高昂的成本,还给企业带来严重的知识产权风险。

如今H.265还没被捧热乎,H.266就来了。但H.265存在的问题,H.266一个也逃不掉。

“VVC不是免费的开源编解码器。”Fraunhofer 表示,H.266 / VVC已获得专利,只有合作伙伴可通过基于FRAND原则(即公平,合理和非歧视)的统一且透明的许可模式使用它。

业界有专家曾表示,传统国际标准组织需要具备打破困境的意识,主导建立一个相对干净权属的技术平台,建立不过多依赖H.265的新标准,才能走出目前的困境。

但现在看来,以H.265为基础演进的H.266,仍会延续H.265的专利许可乱局和危机,H.266产业应用将无法快速享受到技术发展带来的福利,消费者也将因此承受更多的代价。

专利权的本意是保护创新,促进技术的革新与产业发展,现在却因为各种因素成为阻碍行业发展的最大障碍。

行业的发展需要各界、各级共同的努力,期望视频编解码技术与应用的困局能被打破,迎来视频产业应有的辉煌。

What

音频基本概念

2018.12.04 14:15:45

声音的本质

音调:频率
音量:振幅
音色:与材质有关,谐波(不规则的正玄波)

采样-量化-编码

采样大小:
一个采样用多少bit存放,目前常用16bit

采样率:
每秒采样多少次, 单位k,常见采样频率:8k、16k、32k、44k、48k;

声道数:
单声道、双声道、多声道

码率:
采样率 X 采样大小 X 声道数

压缩

消除冗余数据

人耳听觉范围外的音频信号: 20hz-20000hz

频域遮蔽效应

  • 去除人耳听觉频率范围临界附近的值
  • 大声音附近如果有小的声音可以去除

时域屏蔽效应

  • 高声附近50ms内如果声音比较小可以去掉

无损压缩

常见的音频编码器

OPUS、AAC、Vorbis、Speex、iLBC、AMR、G.711等

OPUS:
目前性能最好、质量最高,但是由于时间短,暂时还没有普及,rtmp协议还不支持它。

AAC:
有损压缩算法,目的取缔mp3,压缩率很高、但还能接近原始的质量;

MPEG-4标准出现后,加入了SBR技术和PS技术,目前常用规格有AAC LC、AAC HE V1、AAC HE V2;
AAC LV:低复杂度,码流128k
AAC HE V1:AAC+SBR 分频编码,低频(减少采样率)和高频(增加采样率)分开编码
AAC HE V2:AAC+SBR+PS 由于声道间相同的性质很大,所以对于其它声道只要存储一些差异性的特征
AAC格式: ADIF-只能从头开始解码,常用于磁盘文件中;ADTS 每帧都有一个头信息,可以在音频流的任何位置解码,但是占用比较大。
AAC编码库:Libfdk_AAC > ffmpeg AAC > libfaac > libvo_aacenc

音频基本概念

2018-09-08

声音的原理

声音是振动产生的声波,通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。当物体振动时,同时伴随声音的产生。当振动体不再振动时,声音也随之停止。所以从生活的观察中可以归纳出:声音是由物体的振动所引起。

声音的频率一般会以赫兹表示,记为Hz,指每秒周期性震动的次数。

频率

音调越高,频率越大;音调越低,频率越小。(弦乐器中,越细的弦振动的频率越高,音调越高)

波长

音调越高,波长越短;音调越低,波长越长。(频率高波长短)

振幅

音量(响度)越大,振幅越大;音量越小,振幅越小。

人耳可以感知到的声音,其频率范围为20 Hz至20,000 Hz,在标准状况下的空气中,上述音波对应的波长从17 m至17 mm之间。

基本概念

PCM

PCM是脉冲编码调制,简单的说就是在录制音频时对连续音频信号抽样,以0和1的数字形式记录,所以PCM不是连续音频;

Sample

In signal processing, sampling is the reduction of a continuous-time signal to a discrete-time signal.
译文: 在信号处理中,采样就是将连续时间的信号减少成离散时间的信号。


数码音频系统是通过将声波波形转换成一连串的二进制数据来再现原始声音,和我们的视频一样,视频其实就是用图片不断的采样组合而成。

Sample Rate

Sample Rate is the number of samples of audio carried per second.

译文: 采样率就是每秒中对音频采样的次数。

采样率表示音频信号每秒的数字快照数。该速率决定了音频文件的频率范围。采样率越高,数字波形的形状越接近原始模拟波形。低采样率会限制可录制的频率范围,这可导致录音表现原始声音的效果不佳。

Channel

即声道数(1-8个),声道的个数可以理解为有多少个采样点采样,采样点越多表示越多的表达方式。

单声道在声音处理过程中只有单数据流,而立体声则需要左、右声道的两个数据流。显然,立体声的效果要好,但相应的数据量要比单声道的数据量加倍。

Audio bit depth

In digital audio using pulse-code modulation (PCM), bit depth is the number of bits of information in each sample, and it directly corresponds to the resolution of each sample.
译文 : 在使用脉冲编码调制(PCM)的数字音频中,bit depth是每个Sample(采样)点占用的位数,并且它直接对应于每个采样的分辨率。

Audio bit depth一般为16位,即采样时用16位来表示一个音频采样点.

Bit Rate

比特率是指每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送数据速度越快。声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。

Bit Rate(bps) = Sample Rate × Audio bit depth × Channel
即 比特率(bps) = 采样频率 × 采样位数 × 声道数

Frame

A frame is a collection of time-coincident samples. For instance, a linear PCM stereo sound file has two samples per frame, one for the left channel and one for the right channel.

译文 : frame 是离散采样的集合,例如,一个linear PCM stereo sound 文件有中每个frame中有两个采样,分别来自左声道和右声道。

frame是最小单位时间点包含的一个或多个声音采样,最小单位时间点取决于声音采样设备,是一个时间点多个采样的集合。

Packet

A packet is a collection of one or more contiguous frames. A packet defines the smallest meaningful set of frames for a given audio data format, and is the smallest data unit for which time can be measured. In linear PCM audio, a packet holds a single frame. In compressed formats, it typically holds more; in some formats, the number of frames per packet varies.

译文: Packet是一个或者多个连续frame的集合。对于一个给定的音频数据格式,Packet定义了最小有意义的frame集合,并且是最小的可测量时间单位。

下图展示了Packet、Frame和Sample的关系。

在未压缩的音频中,一个Packet只有一个frame;
在压缩的音频中,一个Packet是不可在再分割的压缩数据块,例如在一个AAC格式的Packet中就包含了1024个采样帧;

iOS录音基本单位

在微信项目中有大量场景使用到CoreAudio,基本概念先围绕基本的数据类型介绍

AudioStreamBasicDescription是在使用AudioQueue进行语音录音时要传给AudioQueueNewInput方法的结构体。
该结构体封装了一个音频流所有的基本描述信息,该数据结构对描述一个不同声道相同且恒定bitrate的音频格式是足够的,所以在微信中我们一般使用这个结构来描述。

1
2
3
4
5
6
7
8
9
10
11
12
struct AudioStreamBasicDescription
{
Float64 mSampleRate;
AudioFormatID mFormatID;
AudioFormatFlags mFormatFlags;
UInt32 mBytesPerPacket;
UInt32 mFramesPerPacket;
UInt32 mBytesPerFrame;
UInt32 mChannelsPerFrame;
UInt32 mBitsPerChannel;
UInt32 mReserved;
};

我对其中定义的数据进行了如下注释。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mFormatID
一般用kAudioFormatLinearPCM,Linear-PCM是PCM的一种,具备比普通CD音频中的PCM数码流更高的位深和采样率,音质好很多。

mSampleRate
The number of sample frames per second of the data in the stream.

mChannelsPerFrame
The number of channels in each frame of data.

mBytesPerFrame
The number of bytes in a single sample frame of data.

mFramesPerPacket
The number of sample frames in each packet of data.

mBytesPerPacket
The number of bytes in a packet of data.

结合日常录音开发中其中使用的设置。

1
2
3
4
5
6
7
8
9
Property	Definition	Example
mSampleRate 采样率 16000
mFormatID 格式 kAudioFormatLinearPCM
mFormatFlags 标签格式 kLinearPCMFormatFlagIsSignedInteger kLinearPCMFormatFlagIsPacked
mBitsPerChannel 语音每采样点占用位数 [8/16/24/32]
mChannelsPerFrame 声道数 1:单声道;2:立体声
mBytesPerFrame 每帧的byte数 mBitsPerChannel * mChannelsPerFrame / 8
mFramesPerPacket 每个Packet的帧数量 1
mBytesPerPacket 每个Packet的Bytes数量 mBytesPerFrame * mFramesPerPacket

How

MEMS 扬声器

美国一家创业公司宣布,已经造出了世界首个 MEMS 扬声器成品,预计明年春季可以量产。MEMS 扬声器采用全新的发声原理,可能会颠覆扬声器市场。

传统的扬声器采用电磁原理,电流变化引起线圈振动发声。MEMS 扬声器采用硅材料做成的压电薄膜,通过电压变化,引起薄膜的形变,扰动周围空气,由此产生声波。这种扬声器可以做成 4mm x 4mm 的大小,能够集成到耳机、耳戴式设备和助听器中。

Experience

舒压歌单

这是一个10首音乐的 Spotify 歌单,长度为一个小时,根据这篇文章的说法,可以舒缓压力、减轻焦虑。如果时间不够,可以只听《Weightless》这一首。

Reference

  1. XAudioPro

欢迎关注我的其它发布渠道