HEVC码率控制提案总结

2024-01-07 07:11
文章标签 总结 控制 码率 提案 hevc

本文主要是介绍HEVC码率控制提案总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文转载自http://blog.csdn.net/guoyaoyao1990/article/details/9991687

码率控制提案:

JCTVC-M0036(K0103改进版)

JCTVC-M0037(貌似是仿真结果)

JCTVC-M0257(和帧内有关的码率控制)

JCTVC-K0103(R-lamua)

JCTVC-K0229.doc

JCTVC-H0213(和264差别不大)

HEVC白皮书:

JCTVC-L1003 

近期看提案总结:

1、在K0103中采用IBBB帧的结构,主要是为了能够进行随机接入。随机接入主要用在点播系统当中,在用户需要时,可以在视频中随意进行跳转,而不用等待之前的帧全部都解码完全。而另一种低延时结构则主要使用IPPP帧的结构,主要用在视频会议等对图像要求比较高,而又不随意进行跳转的场合中。

2、在开始编码是,我们会首先将一个GOP序列全部读入,然后开始编码,广义B帧是在list0和list1中个选取一帧作为参考帧,两帧均为前向参考帧,而严格意义B帧是在list0和list1中分别选取一帧,进行双向预测。

3、当算法中实现了和标准不一样的东西时,比如改变了码流的结构、GOP的长度等。在代码段都需要有相应的元素来进行表征和标记。否则,形成的二进制流文件将无法正常解码。

4、代码中的Framelevel 计算出了层级数,I帧Framelevel 标记为0.广义B帧标记为1,其他B帧按照正常的层数进行标记。

5、在写论文时,要用MATLAB来画矢量图(.emf   .eps),excel只能够暂时用来分析结果。但是当图片放大之后,excel做出的图形会失真,MATLAB做出的矢量图片则不会。

6、R-lamada模型由柯西分布推出,二次率失真模型由拉普拉斯分布推出。模型的准确性不仅仅依靠模型本身,更重要的是,更新模型参数迭代计算的准确。

7、在K0103中

在低延时环境情况下,我们设置GOP长度为4。

在随机接入情况下,我们设置GOP长度为8。

如果都不满足这两种情况,目前在HM12.0中则不能够处理这种特殊的编码结构。会输出如下信息。

printf( "\n hierarchical bit allocation is not support for the specified coding structure currently.\n" );

M0036相对于K0103的改进:

1、修正了参数更新的情况

2、帧级的自适应比特分配

3、重新定义基本单元层的比特分配

4、对于帧内编码图像的码率控制

K0103在HM10中实现,而M0036则在HM10.0上进行改进。

1、M0036根据lambda的权重来分配比特。


2、第二个改进没有太看明白。非常希望大家能够留言指导。

3、原来HM10.0在实现过程中通过估计预测误差来实现基本单元级的比特分配。改进之后,基本单元级的比特分配和帧级比特分配类似。

4、帧内比特分配:

扩大了参数alpha的范围

•Change one line to enable basic unitlevel rate control

•Enlarge the clip range for parameteralpha
–Original[0.05, 20]
–Modified[0.05, 500]
•Parameter updating
–Largerbppfor intra pictures, quicker updating
•Basic unit level bit allocation (fromJCTVC-M0257)
–Allremaining LCUs smooth ènext four LCUs smooth
–Helpfulto improve coding efficiency
•RDOQ lambda setting bug fix (fromJCTVC-M0257)
•No pre-analysis process is introduced fornormal intra coding structure

这篇关于HEVC码率控制提案总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/579115

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

python之流程控制语句match-case详解

《python之流程控制语句match-case详解》:本文主要介绍python之流程控制语句match-case使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录match-case 语法详解与实战一、基础值匹配(类似 switch-case)二、数据结构解构匹

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用