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

相关文章

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

用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.