HEVC/H.265
HEVC即高效率视频编码(High Efficiency Video Coding,简称HEVC),是一种视频压缩标准,被视为是ITU-T H.264/MPEG-4 AVC标准的继任者。2004年开始由ISO/IEC Moving Picture Experts Group(MPEG)和ITU-T Video Coding Experts Group(VCEG)作为ISO/IEC 23008-2 MPEG-H Part 2或称作ITU-T H.265开始制定。第一版的HEVC/H.265视频压缩标准在2013年4月13日被接受为国际电信联盟(ITU-T)的正式标准。HEVC被认为不仅提升视频质量,同时也能达到H.264/MPEG-4 AVC两倍之压缩率(等同于同样画面质量下比特率减少了50%),可支持4K分辨率甚至到超高清电视(UHDTV),最高分辨率可达到8192×4320(8K分辨率)。数个基于HEVC延伸的编码标准正在进行中,包含range extensions(支持高级的视频格式)、可调式编码和3D视频编码标准。 - Wikipedia
实现技术
HEVC与H.264/AVC和许多其他视频压缩编码一样,都是采用Hybrid Video Coding的架构,但在各部分加入了一些新技术或者提升了原本编码工具的效率。
HEVC/H.265的应用与未来
除了在编解码效率上的提升外,在对网络的适应性方面H.265也有显著提升,可很好运行在Internet等复杂网络条件下。
目前看来,对于H.265/HEVC标准,我们仍需持谨慎乐观态度。但有一点是肯定的:H.265标准在同等的内容质量上会显著减少带宽消耗,有了H.265,高清1080P电视广播和4K视频的网络播放将不再困难。
H.265必将促进网络视频高清时代的发展。
硬解与软解
- 硬解
硬解是硬件解码的简称。简单而言,硬件解码就是通过显卡的视频加速功能对高清视频进行解码。
- 软解
软解即软件解码,常规地直接用CPU解码会极大地消耗CPU的运算能力。
硬解能够将CPU从繁重的视频解码运算中释放出来,使电脑具备流畅播放高清视频的能力。显卡的GPU/VPU要比CPU更适合这类大数据量的、低难度的重复工作。视频解码工作从处理器那里分离出来,交给显卡去做,这就叫做“硬解码”,例如NVIDIA的PureVideo、AMD的UVD技术等等。与之对应的,以前那种纯粹依靠CPU来的方式则是“软解码”。不过受到技术条件的限制,纯粹的“硬解码”在现阶段是不存在的,CPU依然在发挥一部分作用,只不过硬解码时GPU/VPU已经成为运算的主力。
相关文档
Apple 官方:https://developer.apple.com/library/content/technotes/tn2236/_index.html
雷大神的研究:http://blog.csdn.net/leixiaohua1020/article/details/15811977
H.265软解码和硬解码区别:http://www.tvapk.net/thread-206237-1-1.html
H.265开源项目
X265
有两个版本,一个是国内人搞的,是国外公司搞的
国外公司版本
只是一个编码器,目前没有支持解码
开发语言: c++
web url: www.x265.org
source url: https://bitbucket.org/multicoreware/x265
description:
x265 is an open-source project and free application library for encoding video streams into the H.265/High Efficiency Video Coding (HEVC) format, and is released under the terms of the GNU GPL.
MulticoreWare公司发布x265预览版。x265是HEVC/H.265标准的开源编码器。根据相关网站作出的基准测试,和x264相比,x265的CPU占用率更高,相同比特率时画质质量更高,视频体积缩小近一半。
国内x265开源项目
code url: http://code.google.com/p/x265/
blog url: http://chenm003.blog.163.com/
openHevc
只是一个解码库,目前没有支持编码
开发语言: C
基于框架:ffmpeg/libav
source url: https://github.com/OpenHEVC/openHEVC
GPAC url: http://gpac.wp.mines-telecom.fr
description:
openHEVC is a fork from smarter’s libav git (smarter.free.fr) with only required files from libav to decode HEVC content. openHEVC in combination with GPAC is used into 3 research projects:
4EVER
H2B2VS
AUSTRAL
libde265
source url: https://github.com/strukturag/libde265
德国公司 Stuttgarter Struktur AG发布了H.265编解码器的开源实现——libde265,代码发布在Github上,采用LGPL许可证授权。
出于简化和效率的考虑,libde265采用C语言编写,其API很容易整合到其它软件中。libde265还在开发之中,功能还不完整,只支持解码帧内编码帧。