- 博客(66)
- 资源 (16)
- 收藏
- 关注
原创 零散记录
ffmpeg裁剪视频:ffmpeg -pix_fmt yuv420p -s 416x240 -i test.yuv -pix_fmt yuv420p -vf crop=192:192:0:0 test1.yuv获取固定帧数的视频: ffmpeg -pix_fmt yuv420p -s 416x240 -i “BasketballPass_416x240_50.yuv” -pix_fmt yuv420p -s 416x240 -frames 1 test.yuv...
2020-06-15 20:34:16 678
原创 VVC/VTM:变换量化——变换Transform
Transform1.更大的变换尺寸&舍弃高频变换系数在VTM中,允许变换的最大尺寸为64x64(原来只应用于1080p和4K)。对于长或宽等于64的大尺寸变换块,直接舍弃高频变换系数,仅保留低频变换系数。例如,对于长x宽为MxN的块,若M等于64,则只保留左边的32列,若N等于64,则只保留上方的32行。如果当前为变换跳过模式,则保留所有变换系数。2.多种变换核心(Multipl...
2019-05-13 15:35:21 2102
原创 VVC/VTM:代码学习——alfFilter()函数
25个ALF滤波器的系数存储在Slice级别,所以,先解析Slice级别的滤波器参数(filter coefficient),解析滤波器参数的主体函数为void HLSyntaxReader::alfFilter()关键点包括alfLumaCoeffDeltaPredictionFlag :亮度分量的滤波器之间的Filter Coeff可使用DPCM编码方式;alfLumaCoeffDel...
2019-05-13 09:21:47 898
原创 VVC/VTM:VTM运行编解码参数配置
根据下面的博文下载VVC参考软件:https://blog.csdn.net/baidu_28446365/article/details/80308724其中cfg文件夹中包含如下内容其中蓝色框中的分别为AI、LDP、LDB、RA模式下的配置文件,主要对不同情况下的运行参数进行规定(包括工具的开关、尺寸的大小、量化参数等);红色框中是每个视频序列的配置文件,主要对视频序列的信息进行说明,...
2019-05-12 19:52:46 5287 17
原创 VVC/VTM:代码学习——环路滤波ALF详细过程
Adaptive Loop Filter (ALF)ALF在代码实现过程主要分为以下几个部分1.1、
2019-05-12 16:38:31 6287 3
原创 C++预备知识
泛型编程:为不同类型的数据创建可实现同一种功能的函数。Typedef??IDE:集成开发环境,包含用于创建项目的菜单选项(VS),提供对项目进行编辑、编译、链接、项目管理调试等功能的环境。UNIX编译链接:CC a.C→a.o→a.out。Linux编译链接:g++ a.C→a.o→a.out。链接:将代码和库代码结合起来。DLL:动态链接库。...
2019-05-11 15:40:32 263
原创 VVC/VTM:代码学习——量化的实现(普通量化和Dependent scalar Quantization)
VVC中引进了Dependent Scalar Quantization(依赖性的标量量化),所以代码中有三种量化函数,本文分为普通量化、率失真优化量化RDOQ和Dependent Quantization(简称DQ)
2019-05-07 19:34:41 3828 4
原创 VVC/VTM:代码学习——三角划分模式TPM
主体函数为xCheckRDCostMergeTriangle2Nx2N(),进行三角划分模式预测void EncCu::xCheckRDCostMergeTriangle2Nx2N( CodingStructure *&tempCS, CodingStructure *&bestCS, Partitioner &partitioner, const EncTestMode...
2019-04-26 10:20:01 1175
原创 VVC/VTM:环路滤波——Adaptive Loop Filter (ALF)
文章目录Adaptive Loop Filter (ALF)1.滤波形状(Filter shape)2.块分类(Block classification)3.滤波系数的几何变换(Geometric transformations of filter coefficients)4.滤波参数signal(Filter parameters signalling)5.滤波过程(Filtering pro...
2019-04-25 16:06:11 6593
原创 VVC/VTM:变换量化——Quantization
HEVC中,根据8bit信号的取值范围,量化参数QP取值为0~51,为了向解码端传输量化参数,编码器会首先在PPS中传输一个起始的QP,然后再在条和CU层传送增量QP值。而在VTM中,QP取值范围扩展到0 ~ 63(相应的,init_qp_minus26的取值范围变为-(26+QpBdOffsetY ) 到37),且相应的起始QP改为在slice层传输。
2019-04-21 11:19:22 3348
原创 VVC/VTM:环路滤波——Luma mapping with chroma scaling (LMCS)
LMCS,位于环路滤波前,主要由两部分组成:1)基于自适应分段线性模型的亮度环路映射;2)基于亮度分量的色度残差伸缩。下图显示了解码端的LMCS框架,淡蓝色着色框为在映射区进行的步骤,包括反变换反量化、亮度帧内预测和亮度重建过程。非着色框为在非映射区进行的步骤,包括解码、ALF、SAO、运动补偿、色度帧内预测、色度重建过程以及缓存解码帧。淡黄色着色框则为新添加的LMCS功能框,包括亮度信号的前向映射和逆映射,以及基于亮度分量的色度伸缩。LMCS可以在序列层用SPS flag表示使用或禁止。
2019-04-21 11:18:28 1767
原创 VVC/VTM:帧间预测——Triangle partition mode(TPM)
Triangle partition mode(TPM)帧间预测中的三角划分模式,即将CU块划分为两个均等的三角形,并分别从周边继承运动信息。
2019-04-21 11:08:13 850
原创 VVC/VTM:代码学习——CIIP详细过程
位于函数void EncCu::xCheckRDCostMerge2Nx2N()中 if (isIntrainterEnabled) { int numTestIntraMode = 4; // prepare for Intra bits calculation const TempCtx ctxStart(m_CtxCac...
2019-04-21 11:02:12 1744
原创 VVC/VTM:帧间预测——Combined inter and intra prediction (CIIP)
Combined inter and intra prediction (CIIP)CIIP,顾名思义,就是说对编码块进行帧间预测Pred_inter和帧内预测Pred_intra,将两个预测块加权组合得到最终预测块。当CU用Merge模式进行编码,且至少有64个亮度样点时(W∗H>=64W*H>=64W∗H>=64),编码器用一个附加的flag标识当前...
2019-04-21 10:44:36 1984
原创 VVC/VTM:帧间预测—DMVR与FRUC中BM的区别
因为前面学习过了FRUC和DMVR,记录博客链接分别如下H266/JEM:帧间预测——Frame-Rate Up Conversion (FRUC)VVC/VTM:帧间预测——Decoder side motion vector refinement (DMVR)发现DMVR和FRUC中的BM方法有点相似,现在尝试总结一下他们的不同点如下:DMVR针对Merge模式中的双向预测候选进行M...
2019-04-20 20:24:03 1672
原创 H266/JEM:帧间预测——Decoder side motion vector refinement (DMVR)
双向预测:编解码器首先根据两个MV(list0中的MV0和list1中的MV1)从两个不同的参考帧中获取两个预测块Pred0和Pred1,然后将两者进行加权得到当前CU的预测块。DMVR:在DMVR中,双向预测中的两个MV(MV0和MV1)通过双向模板匹配(bilateral template matching)过程得到进一步的修正(简单来说就是使得MV更加精准,减小预测误差)。DMVR用于双...
2019-04-20 18:02:32 795
原创 VVC/VTM:帧间预测——Decoder side motion vector refinement (DMVR)
Decoder side motion vector refinement (DMVR)在第13次Marrakech会议之后被写入标准(初次出现在JVET-M1002文档中)为了增加merge模式中MV的准确度,VTM4.0中采用了一种基于解码端MV refinement的双边匹配(bilateral matching),基本原理是在参考帧list0和参考帧list1中的初始MV附近搜索一个...
2019-04-15 15:49:48 2765 3
原创 H266/JEM:帧间预测——Frame-Rate Up Conversion (FRUC)
文章目录Frame-Rate Up Conversion (FRUC)1、基本原理1.1、双向匹配(Bilateral matching,BM)1.2、模板匹配(Template matching,TM)2、具体过程2.1、CU级MV候选列表2.2、Sub-CU级MV候选列表2.3、插值MV场的生成(eneration of interpolated MV field)2.4、插值和匹配cost(...
2019-04-15 09:50:51 1626
原创 VVC/VTM:如何查找每次会议接收的提案
1、会议记录网址:https://www.itu.int/wftp3/av-arch/jvet-site/,里面有每次会议相关的记录,包括每个提案的大概内容、提案的讨论发言以及是否被接受,还有工作组会议报告等等。2、找到对应会议的分支;3、进入到对应会议分支,里面有很多个会议记录文档,是一直更新的,只需下载最新的文档就可以了;4、打开文档,找到标题为List of actions tak...
2019-04-14 12:14:45 1037
原创 C++:高精度运行时间测量
1、常规测量#include <ctime>//需包含的头文件long ibegin = 0;double iend = 0.0;ibegin = clock();//运行代码块iend += (double)(clock() - ibegin) / CLOCKS_PER_SEC;//运行时间cout << "iend:" << iend ...
2019-04-14 09:38:56 1591
转载 “电脑播放暂停后再播放声音突然增大”的解决办法
转载于https://www.jb51.net/diannaojichu/543552.html很多朋友用电脑看视频暂停后再播放声音变很大,遇到这种情况怎么办呢?打开"声音"——“扬声器”右键——属性——增强—勾选禁用所有声音效果。...
2019-04-10 10:49:10 4896
原创 C++:迭代器Iterator详解
介绍用处:指针可以用来遍历存储空间连续的数据结构,但是对于存储空间非连续的,就需要寻找一个行为类似指针的类,来对非数组的数据结构进行遍历。定义:迭代器是一种检查容器内元素并遍历元素的数据类型,提供了对一个容器中对象的访问方法(每种容器类型都定义了自己的迭代器类型,如vector:vector< int>:: iterator iter;),并且定义了容器中对象的范围。迭...
2019-04-09 09:57:18 3796
转载 C++:各个容器中迭代器的用法
迭代器(Iterator)详解见博客:C++:迭代器Iterator详解以下内容转载自https://blog.csdn.net/qq_23100787/article/details/51388163下面列举了些例子说明各个容器的用法:1、Vector#include <iostream>#include <vector>int main(){ s...
2019-04-09 09:56:52 932
转载 C++:模板详解(函数模板+类模板)
模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector 或 vector 。可以使用模板来定义函数和类,函数模板template <class type> re...
2019-04-08 15:17:48 435
转载 C++:异常处理基本语法——throw和 try...catch
转载于http://c.biancheng.net/view/422.htmlC++ 通过 throw 语句和 try…catch 语句实现对异常的处理。throw 语句的语法如下:throw 表达式;该语句拋出一个异常。异常是一个表达式,其值的类型可以是基本类型,也可以是类。try…catch 语句的语法如下:try { try块}catch(异常类型) { “...
2019-04-08 14:38:37 1198 1
原创 C++:标准错误流Cerr
大家平时用到的输出有三个:cout、cerr、clog。cout:写到标准输出的ostream对象;cerr:输出到标准错误的ostream对象,通常用来输出警告和错误信息给程序的使用者;clog:也是输出标准错误流(和cerr是一样的),用于产生程序执行的一般信息,很少用到。区别cout经过缓冲后输出,默认情况下是显示器。这是一个被缓冲的输出,是标准输出;它在内存中对应开辟了一个...
2019-04-08 14:37:51 11022
原创 C++:重定向输入输出freopen
重定向输入输出可以把原本只是输出在控制台的字符,输出到你指定的路径文件中(输入类似,就是从指定的文件中读取,而不是读取在控制台中的输入)重定向函数可以在任何时候开启、关闭。函数名:freopen以指定模式重新指定到另一个文件。模式用于指定新文件的访问方式。...
2019-04-08 14:37:13 650
原创 C++:容器类Vector——动态数组
动态数组#include <iostream>int main() { // 1. initialize vector<int> v0; vector<int> v1(5, 0); // 2. make a copy vector<int> v2(v1.begin(), v1.end()); ve...
2019-04-07 11:01:11 1160
原创 C++:标准模板库STL
C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数(提供了一组表示容器、迭代器、函数对象和算法的模板),这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。容器:一个与数组类似的单元,可以存储若干值。STL容器是同质的,即存储的值的类型相同。用来管理某一类对象的集合。C++ 提供了各种不同类型的容器,比如 deque、list、...
2019-04-07 11:00:32 217
转载 如何去除Clover广告
在Clover.exe所在文件夹中新建文件绿化.bat双击运行。绿化.bat@ECHO OFF&PUSHD %~DP0 &TITLE 绿化mode con cols=36 lines=20>NUL 2>&1 REG.exe query "HKU\S-1-5-19" || ( ECHO SET UAC = CreateObject^("She...
2019-04-01 09:29:11 19419 6
原创 “word另存为PDF时,参考文献的上标都变为正常文本“的解决办法
word中的域链接可以是任何形式,因此上标也OK。PDF中的域链接只能是正常文本。所以WORD另存为PDF时参考文献的上标都变为正常文本(但是可以直接点击跳转),解决办法是需要取消域链接。Ctrl+A,全选文本按下“CTRL+SHIFT+F9”,解除域链接另存为PDF。注意:此时PDF中参考文献标号无法直接点击跳转到对应文献。...
2019-03-31 19:12:19 33148 9
原创 cmder 添加到右键菜单,提示"拒绝访问, ShellMenu, line494...."解决办法
以管理员身份运行cmd切换到cmd.exe所在文件夹输入Cmder.exe /REGISTER ALL
2019-03-30 10:35:33 6187
原创 VVC/VTM:帧间预测—Extended merge prediction
扩展的Merge模式VTM中的Merge模式在HEVC的基础上进行了扩展。现有的候选列表构建方式如下Spatial MVP from spatial neighbour CUsTemporal MVP from collocated CUsHistory-based MVP from an FIFO tablePairwise average MVPZero MVs.前两项与...
2019-03-27 20:17:18 734
原创 VVC/VTM:帧内预测——Intra Sub-Partitions (ISP)
Intra Sub-Partitions (ISP)根据块的大小将帧内的亮度预测块垂直或水平的划分为2或4个子区域。下图显示了两种可能性的例子。
2019-03-27 20:07:16 1799
原创 VVC/VTM:第14次会议接收提案汇总
JVET-N0671:Support of 4:4:4 and 4:2:2 chroma formats in VVC为了支持4:4:4 和 4:2:2 格式对CCLM和Affine进行修改。JVET-N0266 test 2:CE2-related: Disabling bi-prediction or inter-prediction for small blocks-test2...
2019-03-27 10:55:49 1853
原创 VVC/VTM:JVET-N0671—Support of 4:4:4 and 4:2:2 chroma formats in VVC
JVET-N0671: Support of 4:4:4 and 4:2:2 chroma formats in VVC主要对VTM标准软件和VVC标准文档进行修改,以便支持YUV4:4:4, RGB4:4:4, and YUV4:2:2格式(现有的VTM仅仅支持420格式)。因此,主要的改动在于CCLM模式和Affine模式原有CCLMCCLM利用当前块重建的亮度像素预测色度像素,因此...
2019-03-27 10:01:07 783
原创 VVC/VTM:虚拟流水数据单元(VPDUs)
Virtual pipeline data units (VPDUs)定义为图像中的非重叠单元。硬件解码过程中,连续的VPDU由多个流水线并行处理。VPDU大小与大多数流水线中的缓冲区大小大致成比例,因此其尺寸不能太大。一般设置为变换块TB的大小。VTM4.0中VPDU大小被设置为64x64,为了保证VPDU的独立性,编码器不允许下图所示的划分情况(虚线框为VPDU边界,红色为CU边界)...
2019-03-26 20:28:21 1506 1
原创 C++:自动存储、静态存储和动态存储
自动存储函数内部定义的变量静态存储整个程序执行期间都存在的变量,分为两种,一种是函数外部定义的变量,另一种是static动态存储使用new和delete运算符操作的内存,更具有灵活性。...
2019-03-26 16:30:34 533
合并Excel所有sheet内容
2020-06-01
ug1118-vivado-creating-packaging-custom-ip.pdf
2020-05-19
Dolby_Vision_Professional_Tools_User_Manual.pdf
2020-05-14
ug871-design-files.zip
2020-05-13
Dolby Vision Whitepaper_An Introduction to Dolby Vision_0916.pdf
2020-05-11
HEVCH265-标准文档-022018.pdf.pdf
2020-05-11
Recommendation ITU-R-BT.2020.pdf
2020-05-11
SMPTE 2086-2018 - Mastering Display Color Volume Metadata Supporting High Lumina
2020-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人