音视频编码过程比解码过程慢的原因:1、压缩算法的复杂性;2、实时编码的需求;3、不同设备的处理能力不同。压缩算法的复杂性是指为了达到更高的压缩比,音视频压缩算法通常使用了多种复杂的压缩技术。
一、音视频编码过程比解码过程慢的原因
1、压缩算法的复杂性
为了达到更高的压缩比,音视频压缩算法通常使用了多种复杂的压缩技术,如空间域和频域的变换、运动估计、熵编码等,这些算法需要大量的计算和存储资源。
2、实时编码的需求
在实时音视频传输的场景中,编码过程需要在较短的时间内完成,因此需要使用快速算法来提高编码速度。但这也会进一步增加编码过程的复杂度和计算量。
3、不同设备的处理能力不同
不同设备的CPU、GPU等处理能力不同,导致同样的编码算法在不同设备上的表现也会有所差异。
二、编码概述
1、编码定义
数据编码是计算机处理的关键。不同的信息记录应当采用不同的编码,一个码点可以代表一条信息记录。由于计算机要处理的数据信息十分庞杂,有些数据库所代表的含义又使人难以记忆。为了便于使用,容易记忆,常常要对加工处理的对象进行编码,用一个编码符合代表一条信息或一串数据。对数据进行编码在计算机的管理中非常重要,可以方便地进行信息分类、校核、合计、检索等操作。人们可以利用编码来识别每一个记录,区别处理方法,进行分类和校核,从而克服项目参差不齐的缺点,节省存储空间,提高处理速度。
2、编码要求
在进行数据编码时应遵循:
- 系统性
- 标准性
- 实用性
- 扩充性
- 效率性
数据编码数据通过编码可建立数据间的内在联系,便于计算机识别和管理。地理信息系统中主要的数据编码是服务于空间信息分析的地理编码。即为识别图形点、线、面或格网位置及属性而建立的编码方法,包括拓扑编码和坐标编码。前者是表示空间数据位置相邻逻辑关系的编码方法;后者是表示空间数据位置在某一坐标系统下的量度,可以是隐式的(对格网数据)或显式的。
3、编码目的
编码的主要目的是减少信息量,因为数据影响处理效率和精度,效率低主要是由于大量字符用于名称或描述,许多时间用于报告、录入、辨认及理解。更重要的是必须有足够空间存放那些字符及数字。这种低效率对手工操作及计算机处理都有很大影响。另一方面,要提高计算机处理精度,必须实现数据项定义标准化。设计好的编码结构可以解决上述问题。例如一个三位数编码000-999,少数并简洁标识1000个不同条目,明显比每一条用语言描述占用空间少。
运用编码除提高处理效率及精度之外,编码结构可用表示特定意思。例如一个人的身份证号码可以表示所在省市区、出生年月、性别等。关于这个人的数据就可以根据规定算法,用计算机进行排序、总结、统计、分析等。编码在离线批处理及在线查询系统中都是必要的,编码的结构可能非常复杂,但它对实现现代化的信息处理系统是非常重要。
三、解码概述
1、解码定义
解码(Decoding)是指受传者将接受到的符号或代码还原为信息的过程,与编码过程相对应。解码活动要受到受众的社会地位和文化背景的影响,体现社会的多样性,受众的解码还具有同向性、对抗性、妥协性三种形态。编码和解码的连通过程实质上就是简单的传播过程。如果说符号具或符号的表现层面是由编码者决定的,那么符号义或符号的内容层面则是由解码者决定的。
在计算机网络中,网络通过通信网将计算机互联以实现资源共享和数据传输的。当使用的通信网信号形式和传输设备的信号形式不一样时,就必须进行信号形式的转换。一般将在发送方进行的信号形式转换称为编码,接收方进行的信号形式的转换成为解码。
2、视频解码
视频编解码,是指一个能够对数字视频进行压缩或者解压缩的程序或者设备。通常这种压缩属于有损数据压缩。历史上,视频信号是以模拟形式存储在磁带上的。随着Compact Disc的出现并进入市场,音频信号以数字化方式进行存储,视频信号也开始使用数字化格式,一些相关技术也开始随之发展起来。一个复杂的平衡关系存在于以下因素之间:视频的质量、用来表示视频所需要的数据量(通常称之为码率)、编码算法和解码算法的复杂度、针对数据丢失和错误的鲁棒性(Robustness)、编辑的方便性、随机访问、编码算法设计的完美性、端到端的延时以及其它一些因素。
在日常生活中,视频编解码器的应用非常广泛。例如在DVD(MPEG-2)中,在VCD(MPEG-1)中,在各种卫星和陆上电视广播系统中,在互联网上。在线的视频素材通常是使用很多种不同的解码器进行压缩的,为了能够正确地浏览这些素材,用户需要下载并安装编解码器包–一种为PC准备的编译好的解码组件。由用户自己来进行视频的压缩已经随着DVD刻录机的出现而越来越风行。由于商店中贩卖的DVD通常容量比较大(双层)而当前双层DVD刻录机还不太普及,所以用户有时候会对DVD的素材进行二次压缩使其能够在一张单面DVD上完整地存储。
3、频域滤波算法
- 首先对信号分帧,考虑到频谱泄露等截断效应,用汉宁窗可得到更好的频谱特性。然后根据序列加窗后的频谱,从频域上滤波,即对带外频谱置零,得到输入序列理想化低通滤波后的频谱。
- 由于此时带外频谱已置零,信号带宽减小,可直接将带内频谱进行拼接, 做傅里叶逆变换恢复时域波形,相当于抽取。
- 最后除以汉宁窗系数,得到了解码后的序列。
在滤波中除去汉宁窗系数时, 会放大序列两端的绝对误差。 对长序列分段解码时,需要采用重叠保留法,即分段时需要与前后少量重叠, 解码后丢弃前后重叠的部分, 保留中间绝对误差小的部分作为解码结果。此算法使用 DFT进行解码,分段的大小对解码效果也有重要的影响。对不同频率输入信号,采用频域滤波解码算法计算出来的信噪比,在分段较小时,信噪比随着频率的升高而下降。因为频谱分析时产生频谱泄露,在理想化滤波时被去除,导致由此恢复出的带内频谱失真。并且频率越高,泄露到带外的越多,从而失真越大,信噪比下降。 随着分段长度的增加,信噪比的损失逐渐减小。分段长度为 512×64,就可做到基本不损失信噪比,这是因为较大的分段可获得更细致的频谱, 减少频谱泄露到带外而引起的信噪比下降。
延伸阅读1:常见编码方案
- 单极性码
- 极性码
- 双极性码
- 归零码
- 双相码
- 不归零码
- 曼彻斯特编码
- 差分曼彻斯特编码
- 多电平编码
- 4B/5B编码