- 博客(61)
- 资源 (1)
- 收藏
- 关注
原创 流媒体传输基本原理-RTSP
RTSP 基于TCP协议进行传输,负责流媒体通道参数的协商,以及具体的控制信息包括流媒体的播放、暂停、停止、快进、倒退等。注意:在流式传输中,使用 RTP/UDP 和 RTSP/TCP 两种不同的通信协议与 A/V Sever建立联系,是为了能够把服务器的输出重定向到一个不同于运行 A/V Player 程序所在客户机的目的地址。4、A/V Sever使用 RTP/UDP 协议将 A/V 数据传输给 A/V Player ,一旦 A/V 数据抵达客户端,A/V Player 即可播放输出。
2024-06-11 13:11:11 1024
原创 影响视频视觉质量的因素——各类视觉伪影
对于体育题材的视频内容,运动模糊会引起不适,导致运动员在慢动作的场景下,无法确认其准确位置,对比赛场景中不友好。振铃是由于众所周知的吉布斯(Gibb‘s)现象引起的,即滤波器在不连续点附近的脉冲响应的振荡行为,其中输出的比相应的输入值高(overshoots, higher value)或小(undershoots, lower value),并且幅度(magnitude)不断减小直到达到稳态为止,输出信号以渐弱的频率振荡。图像块边界的不连续性通常是可见的,尤其是在天空,人脸等平坦的颜色区域中。
2024-05-09 14:47:22 2175 3
原创 压缩损失来源-量化噪声
通常将颜色量化技术(最近邻颜色算法)与抖动(Dithering,量化误差的随机化技术)组合以产生比实际可用颜色更多的颜色,以及避免色带伪影(color banding artifacts)的现象。真实传感器也是非线性的,但也可能存在一些区域,在传感器的这些区域的两端是非线性区域,而该区域内部或多或少是线性的。以这种方式设计的量化矩阵,可以从信号中去除人眼视觉系统中不太敏感的高频分量,从而在视觉感知没有明显降低的情况下,提升视频信号的压缩率。通常,系数的量化取决于其相邻系数的量化方式。
2024-05-08 09:56:03 511
原创 FFmpeg计算图像的SSIM的原理
SSIM算法基于HVS更擅长从图像中提取结构信息的事实,并且利用结构相似度来计算图像的感知质量。),该sums也就是overlapped 8x8 block sums中的sums的概念。的块存在重合像素,这就是注释中的overlapped 8x8 block的真正含义。从代码注释中看到:为提升算法性能,没采用论文中的高斯加权方式计算每个patch的。行块的每一个块,并利用sum1和sum0中计算的结果来计算每一块的。如上公式就是源码的函数ssim_end1()中最终的计算方式。
2024-04-29 13:59:13 1105
原创 视频编码芯片软硬件实现一些总结(2)
需要用到编码软件的公司,投入的力量主要是如何把X264用好,包括根据自身应用场景调参,也可能去改进码率控制,及改进自适应量化来获取更好主观效果。此时,同一个标准的不同编码器,工具裁剪和取舍、算法设计、代码的极致优化等各方面的不同,压缩效率上会有显著的差别。从算法层面看,硬件设计自身的特点,需要设计特定的算法,且RDO较难实现,会导致条件受限的硬件编码器在压缩率方面有所损失。1、开发流程上,硬件设计工作量大,周期长,包含的步骤多,与软件完全不同,每个步骤都需要很多人力和资源,这里不一一列举。
2024-04-22 15:11:17 539
原创 视频编码芯片软硬件实现的一些总结(1)
除此之外,C-Model算法模型为了与硬件架构的数据依赖关系保持一致,需要遵循并行编码逻辑,这样不仅能提高压缩效率,更重要是能导出硬件设计相关数据,确保软件和硬件数据一致,这在后续编码芯片的验证中起到关键性作用。基于这些的工具编写C-Model的基础框架,且需要和软件做数据对比迭代,保证C-Model编码的数据正确性。标准部分需要完全满足标准的语义,语法,例如REC、E_C、ILF都是标准规定的,需要和标准完全一致,可以自己探索的就是非标部分了,包括RMD、ME、RDO。
2024-04-22 15:11:10 379
原创 视频编码基础问题合集
从 H.264 到 H.265 再到 H.266,编码单元划分技术有什么改进?从 H.264 到 H.265 再到 H.266,帧内预测技术有什么改进?从 H.264 到 H.265 再到 H.266,帧间预测技术有什么改进?ITU-R BT.601、BT.709、BT.2020 是什么?H.266 针对 360 度视频有什么编码工具?H.265 相比 H.264 有特色编码技术?I 帧、B 帧与 P 帧有什么区别?H.266 在环路滤波上有什么改进?H.266 在熵编码上有什么改进?
2024-04-18 14:29:01 340
原创 几个常用的视频编码质量评价的指标介绍
对于不同特征视频源、编码失真及失真程度,各个评价指标各有优劣,奈飞使用机器学习算法,为每个基本指标分配一定权重,最终“融合”为一个指标,这样不仅保留每个基本指标的评价优势,还能得到更精确的评价分数,这是vmaf的核心理念。PSNR计算公式中,将方差作为分母后取对数,这样MSE越小,PSNR值越高,图像质量越好。视频编码评价包括主观评价和客观评价,主观评价需要设计相应的实验,组织人员观看视频图像,打出分数,最后综合分数,给出最终的主观评价分数,而视频的客观评价主要利用统计学的概念来评判视频的质量。
2024-04-18 14:28:36 1645
原创 硬编码 和 软编码
举例,Android手机上,常见的高通、MTK、海思等芯片平台,都会有专门编码模块,比如dsp模块等。软编码,是指通过软件让CPU来进行编码处理。比如广泛应用的ffmpeg,就是用来进行软编码的。1、相比硬解码,软解码需要消耗更多的 CPU 资源,可能导致设备过热、电池寿命降低等问题。2、软解码依赖于 CPU 的性能,因此对于某些高清视频或低端设备,2)可以在普通的计算设备上进行解码,不需要专门的硬件支持。硬编码,就是指有专门的硬件模块编码来负责编码。1、快,这个快是相对于软编码而言;
2024-04-10 14:50:25 372
原创 视频图像的两种表示方式YUV与RGB(2)
例如第一行取U,第二行取V,并且每行的U或者V都是Y的一半,也就是YUV420的YUV是关系是4个Y一个U和一个V。这样YUV420的UV比YUV422的UV少一半,是YUV444的1/4。常见YUV有很多规格,例如YUV444,YUV422和YUV420,后面的数字是表示采样的比例。前一篇文章具体介绍了视频图像的两种表示方式,此篇详细介绍下YUV的采样格式及其对图像视频的表示方式。上面只是举了例子,实际YUV420有很多种采样方法,只要符合下图的规律,即为YUV420。
2024-04-09 15:22:08 448
原创 视频图像的两种表示方式YUV与RGB(1)
前面提到,人眼对亮度更敏感,对色度敏感度稍差,所以我们可以用完整亮度和更少色度表示一张图像,即采样。了解过计算机图形图像学的该知道,可用RGB和YUV两种方式表示图像像素,视频由一帧一帧的图像组成,每一张图片是一个一个的像素点组成,既然有两种表示像素的方法,那就一起解一下两种表示方式的异同及优缺点。下面图片例子来源https://zh.wikipedia.org/wiki/YCbCr,很能说明YUV的特性,第一张是原图,第二张Y分量的表示图,第三张是U分量的表示图,第四张是V分量的表示图。
2024-04-09 14:55:11 371
原创 谈到视频编码标准时,实际指什么?
没必要,每代视频编码标准会相应提供开源代码参考软件(包括编码器和解码器),如H.264有C语言实现的JM,H.265有C++语言实现的HM,H.266有C++语言实现的VTM,按照参考软件重构或改写即可。解码器只能按照标准实现,而编码器的编码模式选择,运动估计MV搜索,码率控制QP计算,都可采用不同算法实现和优化,只需将模式类型,MV值,QP值写进码流里,符合标准要求即可。从而保证任意一个符合此标准的解码器,对符合这个标准的压缩码流都能进行解码,且解码后都能得到相同的结果(语法值和YUV)。
2024-03-28 16:22:51 839
原创 vvenc wins编译及运行
在VVENC根目录里建立一个build文件夹,把要测试的序列和序列CFG都放进去。设置的是命令是, -i D:\BlowingBubbles_416x240_50.yuv -s 416x240 -c yuv420 --preset faster -p -1 -f 10 -o out.266。然后build下面会出现如下选项,选择工程打卡。
2024-03-15 13:42:22 575
原创 H266开源视频编码器VVENC现状
VVenC几乎与H.266视频标准同时发布,2020年6月发布了0.1版本(H.266视频标准发布于2020年的7月),在H.266参考软件VTM10.0修改实现,在VTM基础上重新设计编码器架构,增加了SIMD指令集优化和多线程的支持等,具体描述如下,VVenC对于H266的VTM,就像x265与HM。
2024-03-15 13:42:04 1032
原创 wins10安装ffmpeg
ffmpeg的上述配置完成后,通过windows+R组合键,打开窗口,输入cmd,调用命令行窗口,输入“ffmpeg –version”,如果出现如下说明配置成功。
2024-03-11 13:37:27 543
原创 windows环境下编译调试x265工程
D:\软件\cmake-3.29.0-rc3-windows-x86_64\cmake-3.29.0-rc3-windows-x86_64\bin下,第一个路径是源码路径,第二个是build路径,点击Configure,再点击Gernerate。下载x265源码:https://github.com/videolan/x265。这边生成 的2017.sln,不过电脑只要安装高于这个版本的vs,都可以打开工程。3、生成成功后,先x265的工程目录下会多x265.sln的项目,打开就可。4、x265项目调试。
2024-03-07 16:37:06 536
原创 H.266参考软件VTM各版本的性能差异
如上,截止2024年1月,下一代视频编码标准参考软件最新版本ECM11.0的压缩性能,相比VTM12.0版本,在RA配置平均有14.05%,LD下平均有10.27%,AI配置下平均有9.73%。结论是VTM20.0,VTM21.0和VTM22.0这三个版本编码器得到的码流是相同的,即这三个版本BDBR是相同的,而其他版本之间的压缩性能存在差异。VTM各个版本发布时间的统计情况如下表,每年大概会有4个版本,目前最新版本是2024年2月发布的VTM23.1。
2024-03-01 16:58:53 670
原创 H.266的现状(2024年2月19号)
在目前现有开源的VVC软件编码器和解码器项目中,除了VTM参考软件,影响力最大的是Fraunhofer HHI的VVenC编码器和VVdeC解码器。至于H.266码流的软件解码器和播放器,在这个提案里提到了腾讯的O266dec,阿里的Ali266 decoder,快手的K266Dec,字节的BVC Decoder等,不过提案里目前提供的相关数据,基本是2022年1月之前的。其中第5个项目对应源码在下面的地址,不过看它的提交日志,大约有一年没更新了,估计是黄了。以上是提案的基本包含的内容。
2024-03-01 16:30:07 952
原创 国际视频编解码标准提案下载地址
提案下载地址:https://www.itu.int/wftp3/av-arch/jvt-site/标准文档下载地址:http://www.itu.int/rec/T-REC-H.264/en。相关提案下载地址:http://phenix.it-sudparis.eu/jvet/标准文档下载地址:http://www.itu.int/rec/T-REC-H.265。提案下载地址:http://phenix.int-evry.fr/jct/更新的地址:https://jvet-experts.org/
2024-03-01 16:16:44 624
原创 视频质量评价指标PSNR/SSIM/VMAF
经微帧多次测试表明,相较于 PSNR avg.MSE,PSNR avg.log 具有一定不合理性,其太过“照顾”质量更高的帧,比如 PSNR=99dB 和 PSNR=50dB 的单帧,往往在主观上看不出区别,但通过 PSNR avg.log 的公式计算后,PSNR=99dB 的一帧就会大大拉高最终平均分,在特定序列上容易被 trick。VMAF 虽然有令人担忧的硬伤,但是确实有其独到的一面。单纯为了提高 VMAF 值,而增强对比度,实际是不合理的,虽 VMAF 值提高了,但画质却并没有真正提升,本末倒置。
2024-02-28 14:22:14 2960
原创 视频编码面试基础题
与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。我一般称它为immediate refresh ,立刻刷新,IDR帧必须是一个I帧,但是I帧不一定是IDR帧,这个帧出现的时候,是告诉解码器,可以清除掉所有的参考帧,这是一个全新的序列,新的GOP已经开始。B帧又称双向预测编码帧,也就是B帧记录的是本帧与前后帧的差别。
2024-02-28 13:55:39 1075
原创 x265的码率控制原理
2、λ域码率控制模型在2012年的k0103提案,x264那时已经开源很多年,经过时间和业务的证明,x264的码控算法是可以的,所以x265继续沿用x264的基于帧SATD作为复杂度经验的码控模型。QP式中的分子部分,右边一项下标是i-1,表示它需要前一帧的编码信息,包括前一帧的实际bit数bit即biti-1,实际qscale即qscalei-1,实际rceq即rceqi-1。1、帧级QP计算公式中的SATD cost值是图像半像素精度的残差STAD之和,是在码率控制模块之前的预处理模块中计算的。
2023-12-08 14:22:16 509
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人