【视频编解码开发教程】
文章平均质量分 68
本专栏专注于视频编解码技术,重点分析AVC,HEVC,VVC,MPEG,SVC主流视频编解码标准。本专栏将持续更新,最终定价是99.9。
特别说明:
(1)订阅博主就能看博主全部的付费专栏和1000+篇文章;
(2)每篇文章绝对干货!有任何问题都可以咨询博主。
优惠券已抵扣
余额抵扣
还需支付
¥59.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
飞翔的鲲
一名音视频领域coder,喜欢深入钻研各种新技术(编解码、图像处理、算法优化等),擅长Matlab,Python,C编程。
CSDN明星博主,认证博客专家,视频、Matlab领域优质创作者。目前专注于音视频编解码和AI技术领域,开源分享,不忘初心,追求卓越!
欢迎订阅我的付费专栏,每篇都是博主的多年工作经验总结和呕心之作,任何问题都可以私信博主,必给您答疑解惑!希望我的博文可以帮助到你~
展开
-
【Codecs系列】面向低延迟媒体服务的Codec编码优化
DATE: 2021.6.14文章目录1、低延时编码1.1 转码方面优化1.2 低延时软件编码器的优化1.3 针对RTC的Codec实现1.4 低延迟应用2、AV1技术生态2.1 AV1与云游戏1、低延时编码低延时:(1s~5s)游戏直播,秀场直播等超低延时: <1s 连麦1.1 转码方面优化Tools for low latency encoding:1、Parellel encoding:tile(AV1 only support tile), slice, slice_原创 2021-06-14 20:26:05 · 117172 阅读 · 12 评论 -
【Codecs系列】mpeg1、mpeg2和mpeg4标准对比分析和总结
从三种标准的码流分层结构可以看出,MPEG-1和MPEG-2的码流结构非常相似,唯一区别是MPEG-2码流中的Sequence_header后面必须紧跟sequence_extension,否则就是MPEG-1的码流。由于MPEG-2标准向下兼容MPEG-1,MPEG-1和MPEG-2标准中的大部分语法和语义是相同的,但是MPEG-1标准不包括序列扩展数据、图像扩展数据和用户扩展数据。MPEG-4标准是面向对象的,其编码码流的句法和语义与MPEG-1和MPEG-2差异比较大。原创 2018-11-02 11:42:46 · 5506 阅读 · 1 评论 -
【Codecs系列】颜色空间转换CSconvert:YUV420PtoRGB24
Date: 2018.6.10文章目录1、参考2、功能3、C实现4、实验结果1、参考http://www.360doc.com/content/16/0831/17/28378250_587310305.shtmhttps://blog.csdn.net/liyuanbhu/article/details/68951683lhttps://blog.csdn.net/Alger_magic/article/details/52487582https://blog.csdn.net/MikeD原创 2018-06-10 11:26:18 · 874 阅读 · 1 评论 -
【Codecs系列】之视频编码中的块效应、振铃效应和呼吸效应分析
Date: 2018.5.281、块效应:(1)概念: 主要是由视频图像采用基于块的编码方式和量化造成相邻块之间存在明显差异的现象,在视频编码中人眼察觉到的小块边界处的不连续。(2)产生原因:1、编码过程中对残差进行DCT变换是基于块的,使得块与块之间的相关性被忽略了;2、对DCT系数进行量化,不同的图像块做了不同的处理。(3)解决方案: 在视频编码中,为...原创 2018-06-10 11:33:19 · 2795 阅读 · 0 评论 -
【FFmpeg系列】FFMPEG 命令行常用方法示例(包括yuv处理相关命令)
Date: 2018.9.20【Tag: 视频编解码】1、引言FFMPEG以其强大的功能而在音视频领域著称,更重要的是它还是开源的!音视频格式转换、裁剪、拼接、提取字幕或某音轨等等,它都能胜任,可谓一把瑞士军刀,小巧但功能强大,是音视频研究的必备利器之一。原创 2018-06-04 22:08:42 · 11623 阅读 · 2 评论 -
【Codecs系列】MPEG4解码器可以解码H.263的码流吗?
Date: 2022.12.8MPEG-4 Part 2 is H.263 compatible in the sense that basic “baseline” H.263 bitstreams are correctly decoded by an MPEG-4 Video decoder.[12][15]https://web.archive.org/web/20110122013103/http://ride.chiariglione.org/inside_MPEG-4_part_B/insid原创 2022-12-08 13:58:06 · 243 阅读 · 0 评论 -
【Codecs系列】码率控制之VBV实现原理
码率控制之VBV实现原理。原创 2022-10-24 20:15:38 · 332 阅读 · 0 评论 -
【Codecs系列】FFmpeg中的x264使用指南
直接上链接:原创 2022-09-30 09:32:45 · 295 阅读 · 0 评论 -
【Codecs系列】转载:手淘H265编解码算法与工程优化
借助H265技术我们可以实现大规模并发场景下音视频业务的有效成本控制。带宽与存储成本不容小觑,与H264相比,以典型4K场景中使用H265技术为例,可在保持画质不变的同时节省达50%的带宽,而以720P直播为例使用H265则可节省30%流量。现在的流量有90%以上都来自移动端(手机)而非传统意义的PC、服务器、Pad等;而对手机端尤其是Android设备而言,碎片化带来的计算能力受限、性能层次不齐等问题使得H265上的很多优化与功能受到限制。这里我们对视频编码标准的未来进行简单的展望。https。...转载 2022-07-29 20:32:51 · 695 阅读 · 0 评论 -
【Codecs系列】mpeg2编码器的开源实现:x262
Date: 2018.10.151、x262介绍及其源码下载项目主页:https://www.videolan.org/developers/x262.html源码下载地址:http://git.videolan.org/?p=x262.git;a=tree或者:https://github.com/kierank/x262开源协议:GNU General Public License...原创 2018-10-15 14:16:29 · 1749 阅读 · 4 评论 -
【Codecs系列】x265编码器(一):编译和运行
DATE:2018.3.10文章目录1、x265编码器简介1.1、x265介绍1.2、x265 Licenses1.3、x265 Features2、编译和运行3、x265性能初测1、x265编码器简介1.1、x265介绍项目主页:https://www.x265.org/下载地址:https://github.com/videolan/x265.gitX265是H.265/HEVC开源的视频编码库,用于编码视频或图像为H.265/HEVC码流。X265已经获得在x265中集成和适配x264原创 2021-12-21 11:18:11 · 993 阅读 · 0 评论 -
【Codecs系列】FFmpeg支持AVS+解码功能
DATE: 2021.11.14文章目录1、前言2、1、前言2、原创 2021-11-18 14:36:07 · 2922 阅读 · 6 评论 -
【Codecs系列】HEVC-SCC(一):核心技术介绍
DATE: 2020.6.4【Tags: HEVC SCC】1、参考网址2、SCC简介3、HEVC-SCC核心技术原创 2020-06-04 17:16:44 · 4157 阅读 · 5 评论 -
【Codecs系列】AVS+(AVS1 P16)解码器
DATE: 2021.9.28文章目录1、AVS+标准介绍2、AVS+解码器1、AVS+标准介绍AVS+是AVS1标准的增强版,增加了算术编码、帧级加权量化、同极性场跳过模式编码,增强场编码等技术,主要用于地面电视广播、有线电视广播、卫星电视广播等应用。2、AVS+解码器https://download.csdn.net/download/SoaringLee_fighting/25530025 THE END! ...原创 2021-09-28 17:30:00 · 3700 阅读 · 1 评论 -
【Codecs系列】BSQ-rate: 一种新的视频编码评价准则
DATE: 2021.8.31文章目录1、参考2、论文下载3、BSQ-rate计算方法1、参考BSQ-rate: a New Approach for Video-codec Performance Comparison and Drawbacks of Current Solutions2、论文下载https://sci-hub.st/10.1134/S03617688200301113、BSQ-rate计算方法...原创 2021-08-31 11:29:13 · 413 阅读 · 0 评论 -
【Codecs系列】视频格式Y4M详解
DATE: 2021.8.27文章目录1、参考2 、Y4M格式是什么?1、参考Y4M(YUV4MPEG2) 格式文件详解y4m转yuv的方法Y4M 格式详解2 、Y4M格式是什么?Y4M(YUV4MPEG2)文件格式是一种以头文件存储视频规格的未压缩视频序列。简单来说,在原始的YUV序列的起始和每一帧的头部都加入了纯文字形式的视频参数信息,包括分辨率、帧率、逐行/隔行扫描方式、高宽比,以及每一起始帧标志位。文件名:.y4m格式样例:http://samples.mplayerhq.hu原创 2021-08-31 11:23:16 · 1774 阅读 · 0 评论 -
【Codecs系列】x264编码器龙芯平台编译
DATE:2021.8.151、安装龙芯交叉编译器:https://github.com/loongson/build-tools https://github.com/loongson/build-tools/releases/download/2021.06.19/loongarch64-linux-gnu-2021-06-19.tar.gz2、配置x264编码器:./configure --host=mips64-linux-gnu --cross-prefix=loongarch64-原创 2021-08-16 19:42:33 · 511 阅读 · 0 评论 -
【Codecs系列】基于AI的编码Codec何时到来?
DATE: 2021.6.14 端午节–文章目录1、前言2、关于AI+Codec的讨论2.1 传统编解码技术当前所面临的挑战,困境是什么?2.2 AI与Codec的结合,运用的方向以及带来的提升?2.3 未来是否会建立基于AI的视频编解码标准?距离标准化还有什么障碍?3、总结1、前言进入六月,杭城进入了一年一度的梅雨季节,有时暴雨,有时淅淅沥沥,天气也闷热许多。适逢端午节,正好在家里学习充实自己,甚好。自从研究生开始学习和研究视频编解码课题开始,一直到工作,陆陆续续也学习了6年了,系统学习了H.2原创 2021-06-14 11:35:08 · 778 阅读 · 0 评论 -
【Codecs系列】H.264时域SVC(SVC-T)编码技术
DATE: 2021.1.4文章目录1、参考2、SVC-T编码2.1 SVC-T简介2.2 SVC-T新增句法和语义2.2.1 Prefix NAL头信息2.2.2 Slice header头信息相关2.3、SVC-T编码中的参考帧队列管理机制1、参考【Codecs系列】编解码基础知识–可伸缩编码SVC【Codecs系列】H.264参考帧队列管理:初始化、重排序和标记 H.264 SVC2、SVC-T编码2.1 SVC-T简介 SVC(Scalable Video Coding)由原创 2021-02-10 17:38:41 · 2593 阅读 · 0 评论 -
【Codecs系列】H.264/H.265中编码帧裁剪功能frame_crop
DATE: 2021.2.10文章目录1、参考2、frame_crop3、举例1、参考从H264/H265码流中获取宽、高及帧率2、frame_crop3、举例原创 2021-02-10 15:40:20 · 829 阅读 · 0 评论 -
【Codecs系列】H.264参考帧队列管理机制:初始化、重排序和标记
DATE: 2021.1.10文章目录1、参考2、参考帧列表和DPB3、参考帧列表RPL初始化3.1、P帧排序3.2、B帧排序4、参考帧列表重排序 Reordering4.1、为什么要重排序?4.2、重排序过程5、参考帧列表标记过程 Marking5.1、为什么要标记?5.2、标记过程1、参考H.264多参考帧管理H.264句法和语法总结(六)参考帧队列重排序(reordering)句法H264—参考列表----初始化、重排序、已解码图像的标记2、参考帧列表和DPB对于每一个P帧和B帧的解原创 2021-01-10 17:15:44 · 1320 阅读 · 4 评论 -
【Codecs系列】libpng库的安装和使用
DATE: 2020.12.6文章目录1、官网下载和介绍2、libpng安装3、使用方法1、官网下载和介绍libpng官网最新Release版本: libpng-1.6.37PNG (Portable Network Graphics):可便携网络图片2、libpng安装libpng的安装之前需要先安装zlib,网址如下:http://www.zlib.net/zlib:#解压:tar -xf zlib-1.2.11.tar.xz && cd zlib-1.2.1原创 2020-12-06 17:30:36 · 1197 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(十五):环路滤波
DATE: 2020.10.20文章目录1、简介2、ALF2.1、滤波器形状2.2、块分类2.3、滤波参数和裁剪值的几何变换3、DF3.1、亮度自适应的去块滤波强度3.2、去块tC表扩展3.3、4x4亮度去块网格3.4、子块边界的去块滤波4、SAO5、LMCS5.1、分段线性模型的亮度映射5.2、色度残差缩放1、简介VVC中有三个环路滤波器。除了去块滤波和SAO(HEVC中采用了这两种环路滤波),还采用了ALF。ALF包含了亮度ALF,色度ALF和跨分量ALF(CC-ALF)。这三个ALF过程可以原创 2020-10-20 11:45:55 · 1633 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(十四):新增merge预测技术
DATE: 2020.10.19文章目录1、扩展merge预测1.1、空域候选的获取1.2、时域候选的获取1.3、基于历史的merge候选获取HMVP1.4、成对平均merge候选获取2、几何分割模式(GPM)3、含有MVD的Merge模式(MMVD)4、解码端运动矢量细化(DMVR)5、组合帧间和帧内预测(CIIP)1、扩展merge预测在VVC中,merge模式候选列表通过下面5种类型的候选按顺序构建:1) 空域相邻CU的空域MVP2) 时域对应CU的时域MVP3) 一个FIFO表中的基原创 2020-10-19 23:17:42 · 785 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(十三):帧间仿射运动补偿预测
DATE:2020.10.19文章目录1、仿射运动补偿预测1.1、Affine merge预测1.2、Affine AMVP预测1、仿射运动补偿预测在HEVC中,运动补偿预测中只应用了平移运动模型。然而在现实世界中,存在很多不同种类的运动,比如缩放,旋转,视点运动和其他不规则的运动。在VVC中,采用了一种基于块的仿射变换运动补偿预测方法。如下图所示,编码块的仿射运动场由2个控制点(4个参数)或者3个控制点(6个参数)来描述。(a) 4 parameter affine model (b原创 2020-10-19 23:00:15 · 1027 阅读 · 2 评论 -
【Codecs系列】H.266/VVC视频编码标准(十二):基于历史的运动候选预测
DATE: 2020.10.15H.266/VVC中提出的一种新的MVP技术。HMVP候选会在空域MVP和时域MVP之后加入到merge候选列表中。在这种方法中,之前编码块的运动信息存储在表中,并且用作当前CU的MVP。多HMVP候选的表的构建是编解码过程中进行的。新的CTU行或者Tile/Slice边界时表会进行复位(清空)。HMVP表的尺寸为6,最多5个non-subblock HMVP候选会加入到表中。当插入一个新的运动候选时,表按照FIFO的方式进行,并同时会有冗余检查。...原创 2020-10-15 19:20:19 · 486 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(十一):UBC残差系数编码
DATE: 2020.10.14参考文献:Transform Coefficient Coding for Screen Content in Versatile Video Coding (VVC)Unary Bitplane Coding (UBC)在这个算法中,幅值信息使用一元码单独二值化,并且采用比特位平面表示。这种方法可以从编码比特位中获取上下文信息。该方法用于H.266/VVC中的屏幕内容的残差系数编码。...原创 2020-10-14 20:40:48 · 618 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(十):熵编码
DATE: 2020.10.13文章目录1. 句法表示2. CABAC2.1. 核心的CABAC引擎2.2. 变换系数的残差编码2.3. 变换残差的上下文模型1. 句法表示采用固定长度(FLC)和可变长编码(VLC)的句法:高层句法参数集,slice片段头SEI信息固定长度码,指数哥伦比码采用算术编码的句法:Slice层, CTU层基于上下文的自适应编码旁路编码2. CABACCABAC的处理流程:1、 二值化2、 上下文模型的选择3、 二进制算术编码与原创 2020-10-13 20:32:06 · 1210 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(九):变换与量化
1.1. 大尺寸块变换VVC中支持大尺寸块变换(64x64),主要用于大分辨率视频,比如1080p和4K。对于变换块尺寸等于64的情况下高频变换系数都为0。VVC中支持的变换尺寸: 4x4 ~ 64x641.2. 多变换核选择MTS除了HEVC中采用的DCT-II变换核,VVC中采用了多变换核选择MTS方案用于帧间和帧内编码块的残差编码。采用的多变换核有:DCT8、DST7。MTS句法在SPS和CU层中表示,只用于亮度残差,应用于宽高小于等于64的CU,通过CU级别的flag控制是否使用。当CU级原创 2020-10-13 09:32:40 · 1042 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(八):帧间预测技术
DATE: 2020.9.30除了HEVC中的帧间编码特性,VVC还包括了很多新增或修改的帧间编码工具:Extended merge predictionMerge mode with MVD (MMVD)Symmetric MVD (SMVD) signallingAffine motion compensated predictionSubblock-based temporal motion vector prediction (SbTMVP)Adaptive原创 2020-09-30 11:52:02 · 1086 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(七):帧内预测技术
DATA: 2020.9.27文章目录1、帧内预测原理2、67种帧内预测模式3、帧内预测编码4、宽角度帧内预测 WAIP5、色度跨分量线性模型预测 CCLM6、位置相关帧内预测组合PDPC7、多参考行预测MRL8、矩阵加权预测9、帧内子划分ISP1、帧内预测原理2、67种帧内预测模式相比于HEVC中33种帧内预测方向,VVC中扩展到了65种帧内预测方向,再加上DC和planar模式,一共67种预测模式。如下图所示: VVC使用更加稠密的方向预测模式,在HEVC每两个方向之间又增加了一个方向,从而原创 2020-09-29 20:48:12 · 1303 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(六):屏幕内容编码工具
DATE: 2020.9.25文章目录1、Intra block copy (IBC)1.1 帧内IBC流程1.2. 帧间IBC流程1.3. IBC的运动估计(搜索)1.4. IBC参考区域1、Intra block copy (IBC)IBC,帧内块拷贝,是一种块匹配技术,其中当前块采用当前帧中前面已经编码重建区域的参考块来预测当前块。如下图所示:1.1 帧内IBC流程xCheckRDCostIBCMode:predIBCSearch---->motionCompensation--原创 2020-09-25 17:11:37 · 1739 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(五):通用测试配置CTC
DATE: 2020.9.24文章目录1、CTC提案和测试条件2、使用注意事项1、CTC提案和测试条件JVET common test conditions and software reference configurations, JVET-J1010. 确定了H.266的通用测试配置CTC以及测试序列等条件。VVC CTC规定了4个测试条件:Intra, 10bitRandom access, 10bitLow delay, 10bitLow delay, P S原创 2020-09-24 19:50:05 · 2052 阅读 · 2 评论 -
【Codecs系列】H.266/VVC视频编码标准(四):编码框架及各模块新技术一览
DATE: 2020.9.22文章目录1、编码框架2、编码各模块简要分析2.1 块划分结构2.2 帧内预测2.3 帧间预测2.4 变换2.5 量化2.6 熵编码2.7 环路滤波3、VVC关键技术分析1、编码框架2、编码各模块简要分析2.1 块划分结构MTT2.2 帧内预测2.3 帧间预测2.4 变换(1)更灵活的变换尺寸;(2)舍弃高频变换系数;(3)多变换核选择MTS。2.5 量化2.6 熵编码2.7 环路滤波3、VVC关键技术分析参考自: https://zhuan原创 2020-09-22 21:37:00 · 1497 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(三):VTM配置和运行
DATE: 2020.9.22文章目录1.运行环境和软件版本说明2.VTM下载地址3. 配置过程3.1. 新建build目录3.2. 安装cmake3.3. cmake编译配置4. 参考1.运行环境和软件版本说明VTM: 10.0Linux和WindowsIDE: Visual Studio 2015编译器:Cmake和gcc2.VTM下载地址https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM解压缩后按照文件夹内的readme原创 2020-09-22 16:08:21 · 1611 阅读 · 0 评论 -
【Codecs系列】H.266/VVC视频编码标准(二):最新文献
DATE: 2020.9.21文章目录1、最新Draft2、综述文章overview3、VVC最新文献1、最新DraftJVET-S20012、综述文章overview帧内综述:RecentAdvances in Intra Prediction for the Emerging H.266/VVC Video Coding Standard3、VVC最新文献Linear Model-Based Intra Prediction in VVC Test ModelFast CU Part原创 2020-09-21 19:29:13 · 1057 阅读 · 0 评论 -
【Codecs系列】GDR(Gradual Decoder Refresh)帧
DATE: 2020.9.7文章目录I帧(包括IDR和CRA):整个帧都使用Intra predictionGDR帧:将一个完整的I帧分片,分别放到其前面多个连续的P帧中,如下图中的红色块所示:转载 2020-09-07 09:29:02 · 1343 阅读 · 0 评论 -
【Codecs系列】视频质量评价指标:VMAF
DATE: 2020.8.21文章目录Netflix: VMAF 视频质量评价工具简介https://blog.csdn.net/yue_huang/article/details/79503884原创 2020-08-21 10:54:06 · 636 阅读 · 0 评论 -
【Codecs系列】量化死区dead zone的理解
DATE: 2020.7.26文章目录1、参考2、量化死区3、H.264量化死区4、H.265量化死区1、参考H.264 QuantizationHEVC量化死区2、量化死区在标量量化中,会将一定区间内的信号值量化为一个代表值,对于0附近对应的区间,就被称为死区,该区间内的信号会被量化为0。一般的量化器,可用下面的公式来表示:反量化可表示为:量化步长△△决定了量化器的编码压缩率与图像精度。如果△△比较大,相应的编码长度较小,图像细节损失较多;如果△△比较小,相应的编码长度较大,图像损原创 2020-07-27 11:58:58 · 1792 阅读 · 0 评论 -
【Codecs系列】MPEG-2与MPEG-1和H.261、H.264标准技术(工具集)区别分析
Date: 2018.10.301、参考H.261标准下载:https://www.itu.int/rec/dologin_pub.asp?lang=e&amp;amp;amp;id=T-REC-H.261-198811-S!!PDF-E&amp;amp;amp;type=items或者 https://www.ic.tu-berlin.de/fileadmin/fg121/Source-Coding_WS12/sele...原创 2018-10-30 11:15:37 · 2550 阅读 · 0 评论