本文来自VCIP2020论文《Adaptive Resolution Change for Versatile Video Coding》

自适应分辨率改变(Adaptive Resolution Change ,ARC)是允许视频序列根据网络状态传输不同分辨率视频,当网络带宽低时传输低分辨率视频,带宽高时传输原始分辨率视频。

在H.265和H.264中,当编码器在传输视频过程中想改变分辨率时需要插入一个满足新分辨率的IDR帧或IRAP帧。但是传输IDR帧或IRAP帧需要比较多的码率,对视频会议类的应用会引入延迟。

如上图所示,视频序列在编码的过程中两次改变分辨率。通常情况是在分辨率改变时插入IDR帧或IRAP帧,然后后续序列按新的分辨率继续编码,但这样延迟较高。如果不插入IDR帧或IRAP帧则在帧间预测时当前帧和参考帧分辨率不同会带来问题。

VP9通过参考图像重采样( reference picture resampling,RPR)来解决这个问题,使得不同分辨率直接的图像可以进行帧间预测。对于VVC,在第13次JVET会议中提出这个问题,在第15次会议中将其加入草案。

参考图像重采样RPR

当视频序列的分辨率改变时,为了能够进行运动补偿需要对参考图像进行重采样,有两种重采样方式,分别是基于图像的RPR和基于块的RPR。

基于图像的RPR

基于图像的RPR需要将重采样前和重采样后的参考图像都放入DPB内,当运动补偿时在DPB中找对应分辨率的参考图像进行预测。但是当所有参考图像的各个分辨率版本都存入DPB时会加重存储负担。

基于块的RPR

基于块的RPR只需要在DPB中存入重采样前的参考图像。当当前图像和参考图像分辨率不一样时通过下面三个步骤生成预测块:(1)计算参考图像和当前图像分辨率的缩放因子。(2)在参考图像中找到基于缩放因子的MV指向的位置。(3)通过插值滤波器计算目标像素。

其中步骤(2)在参考图像中找到基于缩放因子的MV指向的位置的过程如上图所示。其中蓝色圆圈表示参考块中整像素位置,右边图像中红色十字叉表示当前块的整像素位置。假设当前块左上角相对于当前图像左上角的坐标为(xSb,ySb),当前待处理的像素为右边图像中的红色实心十字叉其坐标为(xSb+xL,ySb+yL)。则其参考像素在参考块中的坐标(refxL,refyL)由下面方式生成,

其中(refMvLX[0],refMvLX[1])是当前块的MV,hori_scale_fp 和vert_scale_fp分别是水平和垂直方向的缩放因子。例如如果参考图像分辨率是1920x1080,当前图像分辨率是960x540,则hori_scale_fp 和vert_scale_fp都等于2。

基于图像的RPR和基于块的RPR的对比

基于图像的RPR和基于块的RPR的对比需要考虑存储空间和计算复杂度两个方面。

基于图像的RPR的计算复杂度比较低,因为无论参考图像被参考几次都只需要做一次重采样。但是由于其将重采样前和重采样后的参考图像都放入DPB内,使用占用存储空间比较多。

基于块的RPR只需要将重采样前的图像存入RPR所以不需要额外的空间。但是参考块每被参考一次都需要进行计算,所以计算复杂度比较高。

上表是两种算法在VTM5.0上的对比,anchor是基于图像的RPR。视频序列都在第3秒水平和垂直方向各降采样一半,在第7秒恢复原始分辨率。可以看到两种算法效果差不多,但是基于块的RPR占用空间更低,所以集成进VVC。

ARC和其他编码工具的交互

  • 当CU使用ARC时,则不允许使用DMVR。

  • 当CU使用ARC时,则不允许使用BDOF。

  • 当CU使用ARC时,则使用TMVP时需要对时域MV根据分辨率进行缩放。其对YUV的BD-Rate的增益分别为0.16%、0.07%、0.23%。

  • 当相邻块中某个块的参考图像的分辨率小于当前图像时容易出现块效应。此时将去方块滤波中的边界强度设为1可以去除块效应。如下图所示,这种改变主要带来主观效果的提升,对BD-Rate影响较小,YUV BD-Rate分别为-0.05%、0.13%、-0.04%。

实验结果

比特波动率分析

首先不使用ARC,当分辨率改变时插入IDR帧,在VTM4.0.1平台上LD配置下实验。视频序列都在第3秒水平和垂直方向各降采样一半,在第7秒恢复原始分辨率。结果如下图所示,可以看到当分辨率变化时波动比较大,尤其是第91和211帧处波动剧烈,这是由于插入IDR帧码率比较高。

下图是使用ARC的结果,码率波动相对平缓。

ARC编码效果分析

使用基于块的RPR,实验平台为VTM6.1,分辨率每0.5秒改变一次,缩放因子为2.0x/0.5x,如上图所示。上表是实验结果,YUV的BD-Rate增益分别为17.67%, 20.72%和20.75%。

感兴趣的请关注微信公众号Video Coding

VCIP 2020:面向VVC的自适应分辨率改变相关推荐

  1. 自适应分辨率可扩展二层JS下拉菜单

    1. S下拉菜单原理 下拉菜单实际上就是在开始的时候显示一级或者说是主菜单(图一).当触发条件(例如:鼠标移动到上面时)显示次级菜单(图二). 图一 图二 那么如何实现这样的效果呢.其实很简单.所有的 ...

  2. WinForm窗体自适应分辨率

    我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观.实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置和大小,当窗体改变比例时,其控件的位置和大小也按此比例变化即可.因 ...

  3. 面向全局搜索的自适应领导者樽海鞘群算法-附代码

    面向全局搜索的自适应领导者樽海鞘群算法 文章目录 面向全局搜索的自适应领导者樽海鞘群算法 1.樽海鞘群算法 2.改进樽海鞘群算法 2.1 改进领导者位置更新公式 2.2 引入领导者-跟随者自适应调整策 ...

  4. flash自适应屏幕 html,flash自适应分辨率方法大集合

    flash自适应分辨率方法大集合 1.thisin的办法在flash中写: 程序代码 if (System.capabilities.screenResolutionX>=1024) { Sta ...

  5. C#——WinForm窗体自适应分辨率

    我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观.实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置和大小,当窗体改变比例时,其控件的位置和大小也按此比例变化即可.因 ...

  6. qt不规则按钮样式在自适应分辨率时应该注意的图片缩放模式

    提要 qt设置不规则按钮的样式,并要求不规则按钮能够适应不同的分辨率,分为同比例的分辨率,如16:9,也可以为不同比例的的分辨率,如之前为16:9,同时适应16:5的分辨率.在设置不规则按钮时背景图片 ...

  7. matlab代码:面向全局搜索的自适应领导者樽海鞘群算法

    matlab代码:面向全局搜索的自适应领导者樽海鞘群算法 面向全局搜索的自适应领导者樽海鞘群算法. 首先, 在领导者位置更新公式中引入上一代樽海鞘群位置,增强全局搜索的充分性,有效避免算法陷入局部极值 ...

  8. C#开发WINCE系统的PDA程序,GetSystemMetrics获取屏幕长宽以达到自适应分辨率

    一.问题描述 采用C#开发在WINCE环境下运行的PDA程序,不同的RF手持设备有不同的分辨率,现在根据RF设备的分辨率自动调整界面大小,做到自适应分辨率.主要调用C# API的GetSystemMe ...

  9. pyqt5标签中的字设置不同字体_PyQt5 实现字体大小自适应分辨率的方法

    最近遇到一个现象,将做好的软件放在更高分辨率的电脑上运行,会导致字体显示不完全,出现被控件遮挡的情况.具体原因可以上网查询,在这里将记录下解决方法. 这里记录两种方法,如果使用的Qt版本在5.6.0之 ...

最新文章

  1. 盘点热门的目标检测开源方案(附论文+代码下载)
  2. python输出文字加数字_python变量、输入、输出、数字、字符串
  3. Triangular Pastures (二维01背包)
  4. 斐波那契数列矩阵快速幂
  5. TSVD截断奇异值分解
  6. Windows Azure系列公开课 - 第二课:为什么选择Windows Azure(下)
  7. BIM平台 http://gzcd.bim001.cn
  8. Atitit zip压缩过滤器 的模块功能语实现attilax总结 1.1. 一般可以使用webserver自带的实现,。如果实现的不好或者不好配置的,或者需要精细化控制的,可以自己使用过滤器实现。
  9. java版我的世界MITE怎么下_MITE极限生存模组
  10. Quartus17.0 + ModelSim - IntelFpga安装及破解
  11. iView的表格做一个带斜线的表头
  12. ET和LT的原理和区别
  13. 利用for循环生成由ABCDEFG...XYZ,26个大写字母与26个小写字母组成的数组
  14. 计算机科学与技术研究机构名称,计算机科学与技术学院研究生团队获得SemEval-2021国际语义评测比赛Task 5第一名...
  15. C语言编程——随机排座位+指定座位
  16. 迅为iTOP6818开发板QtE5.7应用例程源码
  17. ResNet+cifar10总结-由浅入深
  18. python爬楼梯问题_用Python解决经典的爬楼梯问题
  19. Python数据处理035:结构化数据分析工具Pandas之Pandas概览
  20. jQuery仿QQ空间图片查看特效(全屏,放大,缩小,旋转,镜像,鼠标滚轮缩放)

热门文章

  1. Web中实现Flash播放器点播视频(Web向Flash中传递参数)
  2. 《人人都是项目经理》之立项与启动(二)
  3. 大金融业务系统的技术架构演进方向
  4. 鸿蒙 ros,ROS多线路负载均衡
  5. 常用交换机的配置命令
  6. NRS1800 芯片使用技巧(三)
  7. 华为S9300交换机看acl命中数:acl counter
  8. 来自GitHub的系列渗透测试工具
  9. 基于javaweb图书借阅管理系统
  10. RuntimeError: unsupported operation: more than one element of the written-to tensor refers to a sing