《H.264/AVC视频编解码技术详解》视频教程已经在“CSDN学院”上线,视频中详述了H.264的背景、标准协议和实现,并通过一个实战工程的形式对H.264的标准进行解析和实现,欢迎观看!“纸上得来...
分类:
编程语言 时间:
2017-01-24 11:14:34
阅读次数:
324
x264代码剖析(十七):核心算法之熵编码(Entropy Encoding)
熵编码是无损压缩编码方法,它生产的码流可以经解码无失真地恢复出原始数据。熵编码是建立在随机过程的统计特性基础上的。本文对熵编码中的CAVLC(基于上下文自适应的可变长编码)和CABAC(基于上下文的自适应二进制算术熵编码)进行简单介绍,并给出x264中熵编码对应的代码分析。
在H.264的CAV...
分类:
编程语言 时间:
2016-04-01 18:46:08
阅读次数:
248
在H.264标准中,CAVLC(Context-based Adaptive Variable Length Coding)被用于亮度和色度残差数据编码。在标准的码流结构中,CAVLC编码方式描述为ce(v)。如果在编码时采用CAVLC,那么尽管在DCT时是以8x8块为单位进行的,在进行CAVLC时
分类:
其他好文 时间:
2016-03-08 19:32:19
阅读次数:
357
本文记录x264的 x264_slice_write()函数中调用的x264_macroblock_write_cavlc()的源代码。x264_macroblock_write_cavlc()对应着x264中的熵编码模块。熵编码模块主要完成了编码数据输出的功能。...
分类:
其他好文 时间:
2015-05-24 23:40:45
阅读次数:
304
本文分析FFmpeg的H.264解码器的熵解码(Entropy Decoding)部分的源代码。FFmpeg的H.264解码器调用decode_slice()函数完成了解码工作。这些解码工作可以大体上分为3个步骤:熵解码,宏块解码以及环路滤波。本文分析这3个步骤中的第1个步骤。...
分类:
其他好文 时间:
2015-04-18 17:43:54
阅读次数:
322
H.264中,4x4的像素块经过变换和量化之后,低频信号集中在左上角,大量高频信号集中在右下角。左边的低频信号相对数值较大,而右下角的大量高频信号都被量化成0、1和-1;变换量化后的残差信息有一定的统计特性和规律。 CAVLC(Context-based AdaptiveVariable-Le...
分类:
其他好文 时间:
2014-10-18 22:08:22
阅读次数:
282
一、H.264 的层次介绍
H.264 定义三个层次,每个层次支持一组特定的编码功能,并且依照各个层次指定所指定的功能。基础层次(baselineprofile)支持 I
帧和 P 帧【1】的帧内和帧间编码,支持自适应的可变长度的熵编码(CAVLC)。主要层次(main profile)支持隔行扫描视频,B 帧【2】的帧内编码,使用加权预测的帧内编码和使用上下文的算术编码(CABAV)。扩...
分类:
其他好文 时间:
2014-08-15 01:30:26
阅读次数:
390
提到High Profile H.264解码许多人并不了解,那么到底什么是High Profile H.264解码?其应用效果又是如何呢?作为行业标准,H.264编码体系定义了4种不同的Profile(类):Baseline(基线类)提供I/P帧,仅支持progressive(逐行扫描)和CAVLC...
分类:
其他好文 时间:
2014-06-28 15:05:07
阅读次数:
262