视频编码
视频编码
rs勿忘初心
刻意练习,享受创造的快乐。公众号:rs勿忘初心
展开
-
HEVC里面CU与TU打印到屏幕及提取到txt文本
测试模型为HM16.5 在解决方案资源管理器里面找到项目TlibEncoder,会看到里面有个源文件TencCU.cpp (1)打印到屏幕(在TencCU.cpp的xCompressCU函数(237行)后面添加,即可提取每个CU的相关信息并将其打印到屏幕) printf("\n---------------CTUAddress(Raster Scan): %d原创 2016-12-28 22:21:40 · 1597 阅读 · 0 评论 -
HEVC---xCompressCU()函数作用及位置
xCompressCU( )作为HEVC编码器最重要的函数之一,主要是确定CU的分割深度、预测模式等参数。 (一) xCompressCU( )位置 以HM16.5版本为例进行分析,在工程“TAppEncoder”里面打开“encmain.cpp”文件。 然后依次按照下列图的顺序即可找到xCompressCU()位置。 (1) ...原创 2018-05-10 11:32:57 · 1385 阅读 · 0 评论 -
HEVC: 整个编码流程以及相关的函数介绍
本文转载自https://blog.csdn.net/qq_39348150/article/details/78422117来自网上的文档,但是最初来源不知道是哪,谢谢这个作者!整个流程可以从compressGOP函数开始着手:1、compressGOP对一整个图像组(GOP)进行编码,主要是遍历GOP中每一帧,对每一帧进行单独编码2、每一帧又会被划分成若干slice(HM15中,每一帧对应一个...转载 2018-05-10 11:06:13 · 795 阅读 · 0 评论 -
HEVC---CompressCU 函数解析
看过好几次CompressCU函数,都是一知半解。这次要做的是把模式保留下来,可以减少熵编码的比特数。这样就必须彻底的弄清楚CU的递归的划分也就是xcompressCU这个函数。这样才知道什么时候保存需要的模式,保存到哪里去,以什么形式存储,在熵编码的时候如何对PU的模式进行索引。1.xCompressCU 函数的调用在编码一个片的函数CompressSlice 函数中有这个几行代码 //...转载 2018-05-09 21:21:09 · 1182 阅读 · 0 评论 -
HEVC官方代码下载及码流分析软件使用
1,HM下载 (1) HM是利用svn来管理代码的,因此需要利用svn下载,TortoiseSVN下载地址:https://tortoisesvn.net/)。(2) 安装完毕后,找到需要下载的HEVC代码官方网址:https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/(3) 然后利用svn进行下载,在桌面空白处右键,选择Tortois ...原创 2018-04-20 11:45:27 · 3754 阅读 · 0 评论 -
纯C++代码实现将像素矩阵保存为bmp图片
用C++代码将像素矩阵保存为图片,这里以读取yuv序列视频帧为例进行分析,假设4:2:0yuv序列有300帧,则首先需要将每一视频帧保存在一个像素矩阵中,然后将每一个矩阵保存为图片,最终会有300个bmp图片。 纯C++代码如下: saveToPicture.cpp#include<iostream>#include<string>...原创 2018-03-02 16:51:53 · 9818 阅读 · 3 评论 -
将提取出的yuv三个分量序列合并成一个完整的彩色yuv序列(matlab实现)
在我的这篇博客中(点击打开原文链接)讲到如何读取4:2:0格式YUV序列的Y分量、U分量以及V分量,并分别保存为.yuv格式(matlab实现)。 现在我们将三个分量合并成一个完整的彩色yuv序列,代码比较简单,可以看里面的注释,就不废话了。Y_U_V_Merge.m%% 将Y、U和V三个分量合成一个完整的YUV序列clearclc%% Read yuv from file原创 2018-02-06 15:15:57 · 3812 阅读 · 0 评论 -
读取4:2:0格式YUV序列的Y分量、U分量以及V分量,并分别保存为.yuv格式(matlab实现)
读取4:2:0格式YUV序列的Y分量、U分量以及V分量,并分别保存为.yuv格式,不多说,具体程序如下:read_Y_U_V.m%% 读取4:2:0格式YUV的Y、U和V分量,然后将三个分量分别保存为.yuv格式clearclc%% Read yuv from filerow=144; % 长度col=176; % 宽度fnum=300;原创 2018-02-03 16:51:53 · 5404 阅读 · 1 评论 -
计算两个YUV视频序列的PSNR
/** * Calculate PSNR between 2 YUV420P file * @param url1 Location of first Input YUV file. * @param url2 Location of another Input YUV file. * @param w Width of Input YUV file. *原创 2017-06-29 15:17:00 · 3358 阅读 · 3 评论 -
YUV序列下采样以及彩色4:2:0与灰度4:0:0转换---基于matlab实现
1、YUV序列(4:2:0)下采样matlab代码:yuvDownSample.mclearclc%% Read yuv from fileyuvseq = 'kendo0.yuv'; % 输入yuv序列名称fid = fopen(yuvseq, 'r');row=1024;col=768; % 输入yuv序列尺寸fnum=300;原创 2018-01-06 21:08:02 · 2449 阅读 · 0 评论 -
视频测试序列下载:YUV文件
1、http://www.tkn.tu-berlin.de/research/vid/(此网站已经移走,正在寻找。) CIF: Akiyo、Bridge (far) 、Bridge (close) 、Bus 、Container 、Coastguard 、Flower 、Football 、Foreman 、Hall 、Highway 、Mobile & Calendar 、Mothe转载 2017-10-26 22:02:44 · 887 阅读 · 0 评论 -
视频编解码质量评价---BDBR与BD-PSNR
Bjøntegaard delta bit rate (BDBR) 表示了在同样的客观质量下,两种方法的码率节省情况(Rate/distortion curves 画一条水平线) Bjøntegaard delta peak signal-to-noise rate (BD-PSNR)表示了在给定的同等码率下,两种方法的PSNR-Y的差异(Rate/distortion curve原创 2017-10-29 19:26:04 · 9196 阅读 · 0 评论 -
分布式视频编码对比实验中H.264/AVC Intra 模式与H.264/AVC Inter Motion模式分析
分布式视频编码(Distributed Video Coding, DVC)主要的特点是编码端简单、解码端复杂、解码传输延时大以及传输鲁棒性高等,这些特点可以使其很好地满足计算能力受限的低功耗编码终端设备的应用需求。下图为较为典型的分布式视频编码结构-Discover方案。 ...原创 2018-05-20 17:20:07 · 1921 阅读 · 1 评论