精华内容
下载资源
问答
  • H.265视频编码标准简介.doc
  • HEVC/h.265视频编码解码

    2017-12-09 10:51:31
    最新的HEVC视频编码,可直接使用VS打开运行,自带配置文件
  • H.264&H.265视频压缩编码参考码率表,可用与编码压缩H.264和H.265视频是参考压缩编码的参考码率和质量高低对应目标压缩视频文件大小的测算
  • 本书系统全面地介绍了新一代视频编码标准H.265/HEVC,深入讲解了相关编码原理和实现方法。全书分为12章。第1章概述了视频编码国际标准和H.265/HEVC的发展历程,介绍了H.265/HEVC的特色技术。第2章讨论了数字视频格式...
  • H.265视频编码与技术全析(上)

    万次阅读 2020-05-01 10:42:45
    H.265视频编码与技术全析(上) 一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用。不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是简单地增大了屏幕,其采用了...

    H.265视频编码与技术全析(上)

    一. 概述

    作为新一代视频编解码格式,H.265得到越来越广泛的应用。不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是简单地增大了屏幕,其采用了H.265视频编码解码技术,可达到在有限带宽下传输更高质量的网络视频。虽然对于大部分人来讲,H.265还有点陌生,然而早在两年前,爱立信就已经推出了首款H.265编解码器。使用H.265编解码的一个巨大优势是仅需目前主流编码视频H.264一半的比特率,就可提供同等质量的视频。

    接下来,为大家详细介绍H.265视频编码技术究竟有什么样的优势。

    新一代视频压缩标准:H.265

    视频编解码标准主要来源于国际电联ITU-T和国际标准化组织ISO,ITU的H.26×系列视频压缩标准经过了H.261、H.263,H.263+这样一个演进过程。而ISO的视频压缩标准是MPEG系列,从MPEG1、MEPG2到MPEG4,之后两个标准化组合走向合作,成立了JVT,推出了在当前最有效的视频压缩标准:H.264/AVC。

    随后,H.264的应用范围不断扩展,成熟度也不断提高,于2013年定稿发布了下一代视频压缩标准,命名为HEVC(High EfficiencyVideoCoding),分别被ITU-T和ISO/IEC采纳成为国际标准,即H.265视频压缩标准。H.265在现有的视频编码标准H.264基础上,进一步提高压缩效率、提高鲁棒性(Robustness抗变换性)和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度,以达到最优化设置。

    高清晰,低码率

    如今,4K超高清技术大行其道,传统的H.264已面临瓶颈限制。以编码单位来说,H.264中每个宏块(marcoblock,MB)大小都是固定的16x16像素。然而,在更高分辨率下,单个宏块所表示的图像内容信息大大减少,H.264所采用的宏块经过整数变换后,低频系数相似程度也大大提高,出现大量冗余,导致H.264编码对高清视频的压缩效率明显降低;其次,H.264算法宏块个数的爆发式增长,会导致每个编码宏块的预测模式、运动矢量、参考帧索引和量化级等宏块级参数信息占用更多码流资源,也降低了编码压缩率。

    相比H.264,H.265提供了更多不同的工具来降低码率。H.265的编码单位可以选择从最小的8x8到最大的64x64。信息量不多的区域划分的宏块较大,编码后的码字较少,而细节多的地方划分的宏块就相应的小和多一些,编码后的码字较多,这样就相当于对图像进行了有重点的编码,针对重要的更多关键细节的部分进行增强划块,从而降低了整体的码率,编码效率就相应得到了提高。这个过程在H.265上,可以通过系统自行适应识别实现。

    最新H.265标准基本继承了H.264的框架,H264由于算法优化,只能低于1Mbps的速度实现标清数字图像传送;H265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。这意味着,旨在有限带宽下H.265能够传输更高质量的网络视频,同时,仅需原先的一半带宽即可播放相同质量的视频。

    H.265技术的应用

    编码技术主要运用于视频播放设备、软件应用以及拍摄、录制视频的设备。人们最熟悉的莫过于PPS网络视频播放器。在PC屏客户端产品上面,PPS已经于2013年初推出了基于H.265标准的高清视频,并命名“臻高清”为自己的高清品牌。同时 PPS不断加大了在H.265技术应用方面的研究,把H.265推向手机客户端,且在性能上不断优化提升。

    在视频播放设备上,4K超清电视的推出,也与H.265编码技术息息相关。索尼于今年9月份发布的国内首台提供高品质4K内容的媒体播放器新品FMP-X10以及索尼在国外已发布的S900B系列和S990B系列,它们都采用了H.265编码格式,在编码技术上更胜从前。对于蓝光来说,H.265的HEVC编码技术足以将巨大的4K电影压缩进一张蓝光光盘,节省更大的内存空间。

    在摄像设备上,索尼、海康威视、中兴等厂商陆续发布了该类摄像设备,不仅用于日常的拍照摄影,更用于区域监控安防上。采用了H.265编码技术的超高清监控所能监控的区域更大,不仅减少了安装数量,最主要的是提高了监控的画面质量。避免了一个路口安装多台摄像机而造成庞大的冗余数据的情况。

    当然,H.265的应用不仅仅局限于此,据悉,马上入华的索尼PS4也将支持H.265编解码技术。另外,伴随着4G网络的到来,H.265将可能逐渐大规模投入移动客户端,让高清无处不在,使得更多的人们感受并享受这一技术所带来的影响。

    这里需要指出的是,虽然H.265带来了远高于H.264的压缩效率,但同时也带来了高于H.264数倍的解码难度,运算量飙升到400~500GOPS,目前还没有广泛的H.265硬解支持。而且,在面对硬件支持度欠缺、标准确立太晚等问题的同时,谷歌VP9也是H.265摆在面前的挑战,毕竟和需要缴纳授权费的H.265相比,VP9使用自由的BSD版权协议对业界的吸引力无疑是巨大的。

    二、名词

    CTU: 编码树单元

    CU: 编码单元

    PU: 以CU为根,对CU进行划分,一个预测单元PU包含一个亮度预测块PB和两个色度预测块PB.

    TU: 以CU为根,变换单元TU是在CU的基础上划分的,跟PU没有关系,采用四叉树划分方式,具体划分有率失真代价决定,下图给出了某个CU划分成TU的结构。

    1. H265-NALU-Type介绍

    NAL_TRAIL_N
    = 0, NAL_TRAIL_R = 1, NAL_TSA_N = 2, NAL_TSA_R = 3, NAL_STSA_N = 4, NAL_STSA_R
    = 5, NAL_RADL_N = 6, NAL_RADL_R = 7, NAL_RASL_N = 8, NAL_RASL_R = 9,
    NAL_BLA_W_LP = 16, NAL_BLA_W_RADL = 17, NAL_BLA_N_LP = 18, NAL_IDR_W_RADL = 19,
    NAL_IDR_N_LP = 20, NAL_CRA_NUT = 21, NAL_VPS = 32, NAL_SPS = 33, NAL_PPS = 34,
    NAL_AUD = 35, NAL_EOS_NUT = 36, NAL_EOB_NUT = 37, NAL_FD_NUT = 38,
    NAL_SEI_PREFIX = 39, NAL_SEI_SUFFIX = 40,

    1. H264和H265获取帧类型/NALU类型的区别

    H264获取方式为 code&0x1f 取低5位,如00 00 00 01 65 则65&0x1f=5表示IDR帧

    H265获取方式为 (code & 0x7E)>>1 , 如00 00 00 01
    40 则(40&0x7e)>>1 = 32–vps

    1. H265中帧类型的介绍GOP等

    H265和H264的不同有H265引入了多种方式的帧编码方式,其次H265的GOP不像H264那种为封闭式,H265是封闭和开放式都支持;H264封闭式GOP: H264中单个GOP内部帧解码不会依赖其它GOP,即每个GOP都可独立解码,关键点就是IDR帧的强制刷新起了阻隔作用,避免错误帧相互影响,所以H264中GOP开始的第一帧必须为IDR关键帧,IDR为I帧的一种采用帧内编码无参考方式,但I帧不一定是IDR帧,普通I帧会参考前边的IDR,在RTC中,用的最多的就是IDR关键帧。

    关于GOP。

     这是图像组(Group of Pictures)的意思,表示编码的视频序列分成了一组一组的有序的帧的集合进行编码。每个GOP一定是以一个I帧开始的,但是却不一定指代的是两个I帧之间的距离。因为一个GOP内可能包含几个I帧,只有第一个I帧(也就是第一帧)才是关键帧。在程序cfg中,GOP的长度和两个I帧的距离也是两个不同参数指定的(如IntraPeriod和GOP Size或者类似的参数)。所以,两个I帧的间距不可能大于GOP的长度,一般情况是更小的。
    

    关于IDR。

    这个词儿的全称是Instantaneous Decoding Refresh,是在H.264中定义的结构。在H.264中,IDR帧一定是I帧,而且一定是GOP的开始,也是H.264 GOP的关键帧。但是反过来却不成立,I帧不一定是IDR帧。GOP的长度不是定死不变的,在H.264的编码器中,如果判定场景发生变化,那么及时不到原定GOP的末尾,也会在这个位置加入一个IDR,作为新一个GOP的开始。此时这个GOP的长度就被缩小了。
    

    闭合GOP和开放GOP(closed GOP/open GOP),CRA

    闭合GOP是H.264中GOP的格式。在H.264的GOP中,所有的GOP都是独立解码的,与其他GOP无关,即它们都是“封闭”的。但是在HEVC中,GOP的结构发生了变化,采用了“开放”的结构,在解码过程过可能会参考其他GOP的数据。这时,一个GOP的起始帧命名为CRA, clean random access,同样采用帧内编码,但是这个GOP内的帧间编码帧可以越过CRA参考前一个GOP的数据,这便是GOP的open。
    

    关于BLA

    BLA只是CRA在视频流切换情况下的一种特例。视频流在某个RAP上要求切换到另一个视频流继续解码,则直接将该CRA同另一个视频流中的接入CRA连接,后者便是BLA。由于BLA之前解码到缓存的视频流与当前视频流无关,因此其特性类似于直接从该点进行随机存取后的CRA。
    

    RASL和RADL

     这是两种GOP间的图像类型。如果解码器从某个CRA随机接入,则按照显示顺序的后面几帧数据由于缺少参考帧而不能解码,这些图像将被解码器抛弃,即skip leading。而对于没有从当前CRA接入的数据,这些图像可以被正常解码显示,因此称为decodable leading。由于这些数据是有可能舍弃的,因此其他图像(trailing
    

    pictures)不能参考这些数据,否则万一这些图像被舍弃,将会有更多的图像受其影响而不能正常解码。

    三、基础结构

    HEVC Encoder整体框架:

    在这里插入图片描述

    CU是用作帧间和帧内编码的基础模块,它的特点是方块,它的大小从8×8到最小64×64,LCU是64x64,可以使用递归分割的四分树的方法来得到,大的CU适用于图像中比较平滑部分,而小的部分则适用于边缘和纹理较丰富的区域。CU采用四叉树的分割方式,具体的分割过程通过两个变量来标记:分割深度(Depth)和分割标记符(Split_flag)。

    在设置CTU大小为64X64的情况下,一个亮度CB最大为64X64即一个CTB直接作为一个CB,最小为8X8,则色度CB最大为32X32,最小为4X4。每个CU包含着与之相关联的预测单元(PU)和我变换单元(TU).

    在这里插入图片描述

    Z扫描顺序:

    在这里插入图片描述

    Z扫描

    PU是预测的最基本的单元,是从CU中分割出来的,HEVC中对于skip模式、帧内模式和帧间模式。

    帧内预测有2种划分模式,只有在CU尺寸为8x8时,才能用PART_NxN。

    帧间有8种划分模式,PU可以使方形也可以使矩形,但是其分割不是递归的,与CU的分割还是有区别的。尺寸最大为64×64到最小4×4。

    在这里插入图片描述

    TU也是采用四叉树划分,以CU为根,TU可以大于PU,但是却不可以大于CU的大小。

    在帧内编码过程中,TU 的尺寸严格小于
    PU 的尺寸;

    在帧间编码过程中,TU 的尺寸不一定小于PU
    的尺寸,但一定小于其对应 CU 的尺寸。

    在这里插入图片描述

    Slice可以包含一个独立的Slice Segment(SS)和多个非独立的SS,一个Slice中的SS可以互相依赖,但不能依赖其它Slice。图中,虚线是SS分隔线,实线是Slice分隔线。

    在这里插入图片描述

    Tile是一个矩形块,Slice是一个条带。

    Tile、Slice需要满足以下两个条件之一:

    1. 任一Slice中的所有CTU属于同一个Tile:

    在这里插入图片描述

    1. 任一Tile中的所有CTU属于同一个Slice:

    在这里插入图片描述

    举例说明:

    假设视频序列的显示顺序为①,这是一个完整的GOP,解码顺序为②

    ①I B B P B B P B B P

    ②I P B B P B B P B B

    在H.264中,第一个I帧为IDR,GOP为闭合结构,因此两个GOP组成视频的结构为

    I B B P B B P B B PI B B P B B P B B P(显示顺序)

    I P B B P B B P B BI P B B P B B P B B(解码顺序)

    而在HEVC中,两个I帧为CRA,GOP为开放结构,因此GOP的结构为:

    I B B P B B P B B PB B I B B P B B P B(显示顺序)

    I P B B P B B P B B I B B P B B P B B…(解码顺序)

    两个红色的B帧表示的是按照解码顺序在CRA之后,该GOP内参考的前一个GOP进行编码的图像。这样便很容易得知,如果选择在第二个CRA进行随机接入,这两个红色的B帧将会由于没有参考帧无法解码而被舍弃。这两个红色的B帧即RASP。如果没有选择这个CRA进行随机接入,这两个红色B帧将可以顺利解码,即成为RADP。
    
    对于BLA,情况也是类似的。由于出现码流拼接,第二段码流的CRA之后的B也会因为没有参考帧无法解码而丢弃。很容易理解,此时缓存中的参考帧数据还来自上一段码流,跟当前码流没关系,当然不能用作B的参考了。
    

    至于HEVC这么设计的目的,应该是为了编码效率考虑的。因为B帧的压缩比相对是最高的,引入这种设计可以在不影响随机存取性能的前提下,尽可能增大B帧的比重,提高整体压缩编码的性能。

    H265中引入的新结构:

    Random
    access point picture

    IDR(instantaneous decoder refresh)
    
    BLA(broken link access)
    
    CRA(clean random access)
    

    Leading
    picture RASL和RADL的总称

    RADL(random access decodable leading)在随机接入点后,可以按顺序解码的图像
    
    RASL(random access skipped leading)因为包含帧间信息而不能解码的图像--会被丢弃
    

    Temporal sub-layer
    access picture随机接入点后按解码和输出顺序的图像。

    TSA(temporal sublayer access)
    
    STSA(stepwise temporal sublayer access)
    
    因此可以说随机接入点的图像一定是I帧,则H265中I帧的类型有以下几种IDR/BLA/CRA,也就是NALU中的16~21均为I帧,代码可参考ffmpeg相关判断代码:
    

    switch (type) {

    case
    NAL_VPS:

    vps++;

    break;

    case
    NAL_SPS:

    sps++;

    break;

    case
    NAL_PPS:

    pps++;

    break;

    case
    NAL_BLA_N_LP:

    case
    NAL_BLA_W_LP:

    case
    NAL_BLA_W_RADL:

    case
    NAL_CRA_NUT:

    case
    NAL_IDR_N_LP:

    case
    NAL_IDR_W_RADL: irap++; break;

    }

    展开全文
  • 新一代高效视频编码H.265_HEVC
  • HEVC、H265协议文档,介绍编解/HEVC编解码的各模块的关键技术原理标准及实现。HEVC编码视频格式、编码结构、码率控制
  • 支持 H.265视频重新编码工具ShanaEncoder【亲测效果很好】
  • 新一代高效视频编码H.265/HEVC原理、标准与实现【万帅,杨付正 编著】,带目录版电子书。本书系统全面地介绍了新一代视频编码标准H.265/HEVC,深入讲解了相关编码原理和实现方法。
  • H.265/HEVC视频编码标准总结

    千次阅读 2019-07-21 20:08:45
    H.254/AVC相比,H.265/HEVC采用了许多新的编码方法,如下表所示:    HEVC/H.265 AVC/H.264 Year Other Name Resolutions ...

    目录

    1.HEVC的Profiles(档次),Levels(级别),Tier(层)

    1.1 HEVC的Profiles(档次)

    1.2 HEVC Levels(级别)和Tiers(层)

     2.HEVC的分层结构

    2.1 分层结构概述

    2.2 VCL

    2.2 NAL 

    2.2.1 NAL unit 头包含的信息:

    2.2.2 VCL-NALU和non VCL-NALU具体类型如下:

    2.2.3 NALU Payload


    1.HEVC的Profiles(档次),Levels(级别),Tier(层)

    1.1 HEVC的Profiles(档次)

    Profile(档次)规定了编码器可采用哪些编码工具(coding tools)或算法,共三个档次如下:
     (1)"Main" profile: 每像素8bit的位深,是最常见的档次。
     (2)"Main Still Picture" profile:
           支持单个静态图像,按照Main档次的规定进行编码,Bitstream contains only a single(intra) picture
    Includes all(intra) coding features of Main profile
     (3)"Main 10" profile:
           除了8bit位深,也可扩展支持10bit位深。支持Main 10的解码器必须同时可解码Main档次的码流。

    HEVC Profile

    1.2 HEVC Levels(级别)和Tiers(层)

    level(级别)是对解码端的负载和内存占用影响较大的一系列编码约束的组合,如最大采样率,最大图像尺寸,最小压缩率,最大比特率,DPB容量和CPB(解码缓冲区)大小等。

    Tier()是为了不同应用需要的最高比特率的不同做出区分,有main和high两种。

    标准规定HEVC有13个level(级别)和2个Tier(层):

    HEVC Levels and Tiers

     2.HEVC的分层结构

    2.1 分层结构概述

    与H.264/AVC类似,H.265/HEVC采用了视频编码层(Video Code Layer,VCL)和网络适配层(Network Abstract Layer,NAL),VCL层包含了视频数据的内容,NAL主要负责对视频压缩后的数据进行划分和封装,保证数据能在不同的网络环境中传输。通过NAL,视频压缩数据将被根据其内容特性分割成具有不同特性的NAL单元(NAL Unit,NALU),并对NALU的内容特性进行标识。因此,传输网络根据NALU的标识就可以优化视频传输的性能,而不需再分析视频的内容特征。NALU可以直接作为载体进行传输,而由于不同网络支持的最大传输单元(Maximum Transmission Unit,MTU)是不一样的,因此存在一个网络分组包含一个或者多个NALU,或者多个网络分组包含一个NALU。

    H.264 Layer
    Caption

    上图中的Network Abstraction Layer属于其他协议定义的内容。VCL可认为是视频编码后的裸码流,NAL是将VCL裸码流进行打包后进行网络传输的码流。

    NAL in network
    Bitstream是有NAL units组成

    2.2 VCL

    VCL采用了把图片内静态压缩、图片间的动态压缩、2D变换,以及码流层的熵压缩等压缩技术组合在一起的混合编码技术,其编码框架如下图所示:

    hevc encoder
    典型的HEVC编码器结构

    和H.254/AVC相比,H.265/HEVC采用了许多新的编码方法,如下表所示: 

     

    HEVC/H.265

    AVC/H.264

    Year

    Other Name

    Resolutions

    2013

    MPEG-H

    Up to 8K

    2003

    MPEG-4 Part 10

    Up to 4K

    Profiles

    3 profiles; 13 levels; 2 tiers

    21 profiles; 17 levels

    Block size

    Tree structure

    8x8,16x16,32x32,64x64

    Square, sym./asym. rect.

    Macroblock

    16x16(4x4)

    Square, sym. rect.

    Transforms

    Integer-DCT

    (4x4,8x8,16x16,32x32)

    Integer-DST

    (4x4 Intra)

    Integer-DCT

    (4x4,8x8)

    Hadamard

    (2x3,4x4 )

    Intra-prediction

    Up to 33 angular modes

    (+DC+planar mode)

    Up to 9 modes

    Motion prediction

    Motion-copy mode

    MV precision

    Advanced MV prediction

    (spatial+temp. co-located)

    Merge, Skip

    1/4 pixel 7/8 tap

    Spatial mediam

    +temp. co-located

    Direct, Skip

    1/2 pixel 6-tap +

    1/4 pixel bilinear

    In-loop filtering

    Deblocking, SAO

    deblocking

    Quantization

    Entropy Coding

    URQ

    CABAC

    URQ

    CAVLC, CABAC

    2.2 NAL 

    HEVC码流是由一系列NAL unit(NALU)组成,每个NAL包含整数字节的数据,头两个字节为NAL unit Header(1 byte in H.264),剩余的为负载数据(原始字节序列负荷RBSP)。不同的NAL单元分为VCL NAL和non VCL NAL单元,前者携带编码过的图像数据,后者包含多帧共享的控制参数信息。

    HEVC UAL Structure
    HEVC NAL 结构​​​​​

    2.2.1 NAL unit 头包含的信息:

    1. 第一bit‘F’为forbidden−zero位,固定为0
    2. 6-bits NALType确定NAL的类型,其中VCL NAL和non-VCL NAL各有32类
    3. LayerID表示NAL所在的Access unit所属的层,该字段是为了HEVC的继续扩展设置
    4. TID(temporal identifier),确定了NAL所在的unit的时域上的层次,如下图:对于a、b而言,虚线下TID都是0,虚线上TID都是1。同一picture内的NAL,TID字段内容相同,作用:TID小的NAL不能依赖TID大的NAL,还可用于控制视频选择部分帧播放。

    2.2.2 VCL-NALU和non VCL-NALU具体类型如下:

    NAL Type
    NAL 类型

    2.2.3 NALU Payload

    • NALU负载长度为整数字节,承载视频压缩后的原始字节序列载荷(Raw Byte Sequence Payload,RBSP)。
    • RBSP是对视频编码后的原始比特流片段SODB(STring OF Data Bits)进行添加尾部(添加结尾比特1,以凑足整字节)的包装。
    • RBSP可以包含一个SS的压缩数据,VPS、SPS、PPS、补充增强信息等,也可以为定界、序列结束、比特流结束、填充数据等。
    • 在字节流环境中,如果NALU对应的Slice为一帧的开始,则其开始码为0x00000001,若对应的Slice不是一帧的开始,则为0x000001。
    • 为避免NALU载荷中的字节流片段与的NALU的起始码及结束码发生冲突,需要对RBSP字节流做避免冲突处理,经过处理后的RBSP才可以直接作为NALU的载荷信息。同时注意到在解码的时候,这些处理是会被逆处理恢复的。

    下面是H.264/AVC的NALU sequence的一个示意图:

    H.264 NALU Sequence
    H.264 NALU Sequence

     

     

    本博客所有文章均同步发表于www.mx1980.cn/blog

     

    展开全文
  • 新一代高效视频编码H.265HEVC原理、标准与实现 [万帅,杨付正 编著] 2014年版pdf版本,积分最低哦!
  • 新一代高效视频编码H.265HEVC原理、标准与实现 [万帅,杨付正 编著] 2014年版
  • 图像是视频信号的基本单位。为了静止与静止图像相区别,视频中完整图像通常被称为帧,由许多帧按照时间顺序组成的视频被称为视频序列。 视频序列中的每幅图像,都是由N * M个像素组成的,每个像素都有具体的数值。...

    图像是视频信号的基本单位。为了静止与静止图像相区别,视频中完整图像通常被称为帧,由许多帧按照时间顺序组成的视频被称为视频序列。

    视频序列中的每幅图像,都是由N * M个像素组成的,每个像素都有具体的数值。因此视频序列可以表示为三维矩阵,其中N * M这两个维度表示每幅图像的像素值,行成视频的空间域;另一个维度则代表时间域。

    码率:
    视频码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件。
    为什么进行编码:
    每秒播放的帧的数目称为帧率,单位fps(使人眼有平滑连续的感受,帧率需要达到25~30fps以上)
    原始视频的数据量是非常巨大的。以常见的视频格式(720P)为例,假设3个色彩分量的每个像素均以8比特表示,帧率为30fps,这样一秒的视频数据量就达到1280 * 720 * 3 * 8 * 30 = 6.64*10^8比特。再大的硬盘也存储不了几部电影,更无法在网络上传输。因此视频应用的一项重要技术就是视频编码,也称视频压缩,其目的就是去除视频数据中的冗余成分,减少压缩或编码后的数据量。

    视频压缩与编码:

    数据是信息载体,对于定量的信息,设法减少表达这些信息所用的数据量称为数据压缩。
    无损压缩和有损压缩:
    无损压缩是指数据经过压缩后,所携带的信息并没有损失、通过重建可完全恢复原来的数据。无损压缩适用于数据需要严格完全重建的情形,常用于对文本文件、程序文件等进行压缩。
    有损压缩:
    有损压缩以引入一定失真为代价,换取跟高的压缩比。能够应用有损压缩的条件是人们对于引入的失真“无法察觉”或者“可以接受”。有损压缩常应用于人类认知的音频、图像、视频。
    为了获取较高的压缩率,视频通常采用有损压缩,即以损失一定质量的的代价获取更高的压缩比。此时衡量压缩算法性能优劣与两个参数有关:码率和失真。有损压缩追求的是,在质量损失一定下获得更高的压缩比(最低的码率);或者在一定码率下视频质量最好。
    无论是视频压缩还是视频编码,通常都采用预测、变换、量化和熵编码等方式,尽可能减少数据中的冗余,使用尽可能少的数据来表征视频。(视频压缩是目的,视频编码则强调的是方法和手段)。

    编码框架
    H.265仍采用的是混合编码框架,包括变换、量化、熵编码、帧内预测、帧间预测以及环路滤波等模块,但每个模块都引用了新的编码技术。

    帧内预测:
    该模块主要用于去除图像的空间相关性。通过编码后的重构块信息来预测当前像素以去除空间冗余信息,提高图像的压缩速率。H.265/HEVC支持更多的帧内预测模式。
    帧间预测:
    该模块主要用于去除图像的时间相关性。帧间预测通过将已编码的图像作为当前帧的参考图像,来获取各个块的运动信息,从未去除时间冗余,提高压缩率。H.265/HEVC中,帧间预测可采用单向和双向的参考图像来进行预测,包括类似H.264/AVC中分层B帧的预测结构。
    变换量化:
    该模块通过对残差数据进行变换量化去除频域相关性,对数据进行有损压缩。变换编码将图像从时域信号变换至频域,将能量集中至低频区域。量化模块可以减少图像编码的动态范围。变换编码和量化模块从原理上属于两个相互独立的过程,在H.265/HEVC中减少了计算的复杂度。
    去方块滤波:
    在基于块的视频编码中,形成的重构图像会出现方块效应,采用去方块滤波可达到削弱甚至消除方块效应的目的。提高图像的主观质量和压缩效率。H.265/HEVC仍是基于块的视频编码,因此延续了环内去方块滤波的思路。
    样点自适应补偿:
    样点自适应补偿滤波处于去方块滤波之后,通过解析去方块滤波后的像素的统计特性,为像素添加相应的偏移值,可以在一定程度上削弱振铃效应,提高图像的主观质量和压缩速率。H.265/HEVC新增的一项编码技术。
    熵编码:
    将编码控制数据、量化变换系数、帧内预测数据以及运动数据等编码为二进制流进行存储或传输。熵编码模块的输出数据即原始数据压缩后的码流。H.265/HEVC中采用先进的基于上下文的自适应二进制算数编码(CABAC)进行编码,引入了并行处理框架,在速度、压缩率和内存占用等方面均得到了大幅改善。

    H.265/HEVC技术的主要特性
    1、加大编码单元提高编码效率:
    在H.265/HEVC中,将一个亮度样本编码树块(CTB)和两个响应色度样本编码树块(CTB)的组合定义为编码树单元(CTU);将一个亮度样本编码块(CB)、两个相应色度样本编码块(CB)和关联语句元素的组合定义为编码单元(CU)。
    编码图像时,将一幅图像分成许多编码树单元(CTU),其大小通常是64 * 64。编码单元(CU)的大小以亮度编码单元(CU)为准,可以是64 * 64,、32 * 32、16 * 16、8 * 8的编码单元,最小的编码单元(CU)是8 * 8亮度编码块(CB)和相应的两个4 * 4色度编码块(CB)组成。使用大的样本编码单元(CU)可以获得比较高的压缩率。
    在这里插入图片描述

    2、改进的帧间预测技术:
    在H.264/AVC中,基于4 * 4大小的编码块采用9中预测模式,基于16 * 16大小的编码块采用四种预测模式。考虑高清视频纹理的多样性,为了更准确地反映纹理特性,降低预测误差,H.265/HEVC提出了更为精确的帧内预测技术。对于亮度信号,H.265/HEVC共提供了35中帧内预测模式,包括33种角度预测以及DC预测模式和Planar预测模式。增加的预测模式可以更好地匹配视频中的复杂纹理,更好的预测效果,更加有效的去除空间冗余。
    3、先进的帧内预测技术:
    为了提升帧间预测性能,在H.265/HEVC中引入了 新的帧间预测技术,包括运动信息融合技术(Merge),先进的运动矢量预测技术(Advanced Motion Vector Predictor, AMVP)以及基于Merge的Skip模式。Merge技术利用空域相关性和时域相关性来减少相邻块之间的运动参数冗余,具体来说,就是取其相邻PU的运动参数作为当前PU的运动参数。AMVP技术的作用与Merge技术类似,也是利用空域相关性和时域相关性来减少运动参数的冗余。AMVP技术得到的运动矢量一方面为运动估计提供搜索起点,另-方面作为预测运动矢量使用。
    4. RQT技术:
    RQT (Residual Quad-tree Transform)技术是一种基于四叉树结构的自适应变换技术,它为最优TU模式选择提供了很高的灵活性。大块的TU模式能够将能量更好地集中,小块的TU模式能够保存更多的图像细节。根据当前CU内残差特性,自适应选择变换块大小,可以在能量集中和细节保留两者做最优的折中。与传统的固定块大小变换相比,RQT对编码效率贡献更大。
    5. ACS技术:
    ACS (Adaptive Cofficient Scanning)包括三类:对角扫描、水平扫描和垂直扫描。ACS技术是基于4x4块单元进行的,将一个TU划分为多个4x4块单元,每个4x4块单元内部以及各个4x4块单元之间都按照相同的扫描顺序进行扫描。对于帧内预测区域的4x4和8x8尺寸的TU,其根据所采用的帧内预测方向来选择扫描方法:当预测方向接近水平方向时就选用垂直扫描,当预测方向接近垂直方向时就选用水平扫描,对于其他预测方向使用对角扫描。对于帧间预测区域,无论TU尺寸多大都使用对角扫描方式。
    6. SAO技术:
    图像经过编码后,重构图像的失真不仅存在方块效应,还存在振铃效应。H.265/HEVC引入了 一种新的滤波方法:像素自适应补偿技术(SAO) . SAO位于去块效率滤波器之后,用于补偿重构像素值,达到减少振铃效应失真目的。SAO分为边缘补偿(EO) 和带状补偿(BO) 两种方式。
    7. IBDI技术
    IBDI (Intemal Bit Depth Increase)技术是指在编码器的输入端将未压缩图像像素深度由P比特增加到Q比特(Q>P),在解码器的输出端又将解压缩图像像素深度从Q比特恢复到P比特。IBDI技术提高了编码器的编码精度,降低了帧内/帧间预测误差。但由于要建立参考队列,像素深度为Q比特的重构图像须占较大的内存空间。此外,在进行帧间运动估计和补偿时,需要较多的内存访问带宽,这样会给内存受限的系统带来不便。解决的办法是引入参考帧压缩算法,来减小重构图像的数据量。

    参考:
    《新一代高效视频编码H.265/HEVC:原理、标准与实现》
    《多媒体技术基础》

    展开全文
  • 一个可支持HEVC/H.265编码播放360P、480P、540P、720P、1080P的HEVC播放器 DEMO: h265web.js mpeg.js (解析ts) h265web.js 底层265解码器SDK LICENSE Remind! 因为使用软解码能力(浏览器上无法做硬解码加速 与 汇编...
  • NVIDIA显卡H.264/H.265硬编解码参考文档,包括API接口和相关参数结构的详细描述,以及相应的问题处理方法,值得相关人员参考。
  • 本书系统全面地介绍了新一代视频编码标准H.265/HEVC,深入讲解了相关编码原理和实现方法。全书分为12章。第1章概述了视频编码国际标准和H.265/HEVC的发展历程,介绍了H.265/HEVC的特色技术。第2章讨论了数字视频格式...
  • H.265技术编码解析.pdf

    2019-09-05 23:34:15
    H.265是ITU-TVCEG继H.264之后所制定的新的视频编码标准。目前世界上的视频编解码标准主要来源于国际电联ITU-T和国际标准化组织IS
  • 新一代高效视频编码H.265HEVC+原理,系统全面的介绍了新一代视频编码标准HEVC深入讲解了相关编码原理和实现方法
  • 更多精彩内容,请微信搜索“FPGAer俱乐部”关注我们面向 Zynq UltraScale+ MPSoC 器件的 Xilinx® LogiCORE™ IP H.264/H.265 视频编解码器单元 (VCU) 内核能够以 60Hz 的像素对分辨率高达 4k 的视频进行同步压缩...

    更多精彩内容,请微信搜索“FPGAer俱乐部”关注我们

    面向 Zynq UltraScale+ MPSoC 器件的 Xilinx® LogiCORE™ IP H.264/H.265 视频编解码器单元 (VCU) 内核能够以 60Hz 的像素对分辨率高达 4k 的视频进行同步压缩和解压缩。分辨率高出 4K 时,支持较低的帧速率。H.264/H.265 功能性可按嵌入式硬 IP 在 Zynq UltraScale+ MPSoC 器件系列内部实现。VCU 是众多应用的理想选择,其中包括视频监控、视频会议、嵌入式视觉以及视频流媒体等。



    点击“http://xilinx.eetrend.com/download/12867”免费注册下载《H.264/H.265 视频编码解码器单元产品指南》


    本文转载自http://xilinx.eetrend.com/download/12867,如涉及侵权,请私信小编删除。

    ============华 丽 的 分 割 线============


    想加入我们FPGA学习交流群吗?可以长按或扫描以下二维码,审核通过后我们邀请您加入

    这些微信群旨在打造一个提供给FPGA工程开发人员及兴趣爱好者(统称“FPGAer”)进行技术交流、答疑解惑和学习的平台。而且我们也将会通过网络举办FPGA技术讲座,分享相关研究文献 



    了解更多FPGA知识可以长按或扫描以下二维码关注FPGAer俱乐部


    
    展开全文
  • 作为一个视频网站,随着B站的视频种类的增多,网站的成本压力增加,考虑到降低成本,就要选择一个超低码率的编码器。本文来自B站视频云技术部的技术专家叶天晓在LiveVideoStackCon...
  • H.265/HEVC的源代码

    2018-12-24 20:36:23
    H.265/HEVC的C语言源代码,版本10。内涵H.265编码器和解码器及其编码的主函数。
  • H.265编码H.264编码的区别

    万次阅读 2019-09-17 14:50:00
    目前很多摄像机采用了H.265的编码标准,H....H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。 新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的...
  • 新一代高效视频编码H.265HEVC原理、标准与实现 [万帅,杨付正 编著] 2014年版 。 目录如下: 第一章 著论 第二章 数字视频格式 第三章 编码结构 第四章 预测编码 第五章 变换编码 第六章 量化 第七章 环路后处理 第...
  • H.264与H.265视频压缩编码参考码率

    千次阅读 2019-09-28 05:55:29
    转载于:https://www.cnblogs.com/guanghe/p/11340220.html
  • 新一代高效视频编码H.265 HEVC原理、标准和实现,书籍,讲的很清晰。
  • 一、H.265(HEVC)编码过程 和H.264一样,H.265编码由帧内预测、帧间预测、量化、线性变换等步骤。过程大致如下; 1、分块 一帧画面首先被切分成多个互不重叠的块状区域,称为编码单元(H.264称为宏块),分别传输给...
  • 一、H.264宏块 1、什么是宏块? 先看下面两张图,就能大体知道宏块指的是哪了。 将连续几帧图像分为一组(GOP)在H264中称为一个序列(sequence); 将每帧图像(Frame)划拉几道分成片...H.264编码时主要以4×4块为单
  • H.265屏幕编码技术

    千次阅读 2019-07-29 17:03:14
    腾讯无线投屏是腾讯音视频实验室为解决会议室高频场景痛点而研发的一款会议类产品。无线投屏提高了会议效率,简化了会议流程。...本文将给大家揭秘腾讯无线投屏背后的屏幕编码技术(Tencent Screen Enc...
  • 264, 265, es视频数据加密方案, 根据编码格式, 然后按照加解密标准加解密.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,678
精华内容 36,671
关键字:

h.265视频编码