
视频编码
文章平均质量分 72
ITRonnie
专注视频行业,一直在路上
展开
-
x265线程池机制和并行编码机制分析
本文主要介绍x265中的线程池机制,及WPP多线程编码的具体调度过程。原创 2022-07-20 17:58:40 · 2209 阅读 · 1 评论 -
AVS3中Intra预测过程 - HPM代码分析
视频编码中,帧内预测需要获取相邻块的参考像素才能获得重建,在AVS3参考软件平台HPM中,这个过程是如何实现的呢?原创 2021-04-01 16:17:40 · 1453 阅读 · 0 评论 -
AVS3中的patch(片)
对比AVS3和AVS2标准,我们发现AVS2中的slice语法结构在AVS3中被替换为patch。原创 2021-03-29 13:21:51 · 949 阅读 · 2 评论 -
AVS3码流结构分析
AVS3码流由一组视频序列(video Sequence)组成 Video Sequence首先包含了Sequence Header,这相当于HEVC中的SPS信息。接着是Extension_and_user_data(0),这个是序列级别的扩展数据或者用户数据。然后就是一组图像数据,包括帧内图像数据和帧间图像数据。 AVS3码流结构示意图如下所示,不同语法结构采用起始码来分割,起始码值在图1中采用红色字体表示。图1、AVS3码流结构 在AVS3中不再有Slice的概念,...原创 2021-03-29 11:30:50 · 1256 阅读 · 0 评论 -
x264、x265中cuTree原理分析
mbtree是x264中引入的一项创新性技术,可以有效提高主客观质量(参考文章最后的表格1)。x265继承了这一算法,改名为cuTree,算法本身实现较为复杂,下面探讨一下cutree原理,结合代码来分析实现细节。 cutree和mbtree都是根据当前块被参考的程度调整qpOffset,要知道当前块被参考的程度,很显然需要一个编码的反推过程。 对于帧间参考,参考帧的质...原创 2019-11-27 11:23:05 · 5311 阅读 · 1 评论 -
ffmpeg计算psnr与x264,x265不一致
用ffmpeg可以方便的计算两个视频文件之间的psnr,命令格式如下ffmpeg -i reference.ts -i encode.ts -lavfi psnr -f null - YUV的对比命令如下: ffmpeg -pix_fmt yuv420p -s 1920x1080 -i input.yuv-pix_fmt yuv420p -s 1920x108...原创 2019-11-25 20:54:45 · 2121 阅读 · 0 评论 -
视频主观质量对比工具(Visual comparision tool based on ffplay)
************************************************************************************ffplay系列博客: **ffplay播放器原理...原创 2017-12-15 09:53:09 · 13521 阅读 · 62 评论 -
HEVC如何计算Cu_Qp_Delta
研究HEVC标准发现,HEVC对cu_qp_delta的处理虽然有点晦涩难懂,但还是挺科学合理的。 HEVC中计算CuQpDelta的公式如下: CuQpDelta = (qp - qp_pred + 78 + qpBdOffsetY + (qpBdOffsetY / 2)) % (52 + qpBdOffsetY) - 26 - (qpBdOffsetY / 2) ----...原创 2019-10-25 16:17:30 · 2708 阅读 · 0 评论 -
开发一个HEVC码率分析工具
在开发编解码器时,经常需要分析码率波动情况,分析缓冲区是否有上下溢情况,所以用python开发一个简单的工具。它可以分析HM编码器的输出log,提取每一帧的比特数,结合视频帧率,就可以绘制码率波动图和VBV缓冲区状态的图像了。工具的UI如图1图2所示:plot type选项有两种选择:选项1"bitrate viewer"用于绘制每秒钟的码率情况;选项2"vbvbuffer view"用于绘制...原创 2019-10-14 17:12:21 · 1850 阅读 · 4 评论 -
实现一个avs2码流分析工具
最近在做avs2编码器项目,但是却没有成熟的码流分析工具,于是抽空学习了QT,业余时间写了一个avs2码流分析工具。 软件的界面如下:图1、avs2码流分析仪界面 UI的左边框为NAL列表或者语法元素列表: 默认情况显示的是NAL列表,NAL列表显示了每一个NAL的类型,如果是picture的NAL,则Picture的类型(I帧,P帧,B帧,F帧等),POC, COI也都可以...原创 2019-09-12 21:36:18 · 2196 阅读 · 15 评论 -
visual studio如何开发基于ffmpeg的程序
如何用visual studio来开发基于ffmpeg的程序呢? 开发环境: Win10 + visual studio 2010 首先需要下载windows版的ffmpeg的库: 下载地址 https://ffmpeg.zeranoe.com/builds/。其中Dev包含的是开发ffmpeg程序所需要的头文件和链接库,在编译时会用到;Shared包含的是运行程序时调用到的...原创 2018-06-02 19:16:22 · 1605 阅读 · 0 评论 -
理解视频编码中的熵编码
首先理解算术编码的原理: 假设比特0、1概率分别为0.8和0.2。信源流为00100,对此信源进行算术编码,过程如下: 每输入一个新比特,都会缩小概率区间,当输入00100后,得到的概率区间为(0.512, 0.59392),解码过程与编码过程相反,给定最终概率区间可以解码出原始比特流:(1)、初始概率区间为(0, 1.0)。(2)、(0.512, 0.59392)落在(0, 0.8)之间,...原创 2018-04-10 11:09:25 · 1305 阅读 · 0 评论