本文来自JVET-AA0063的提案《A hybrid codec using E2E image coding combined with VVC video coding》

简介


提案提出了一种混合编码方法,对视频I帧使用端到端的图像编码器编码,P和B帧使用VVC编码,如Fig.1,其中P和B帧内的intra块还是使用VVC编码。基于神经网络的端到端图像编码器的效率已经超越传统的图像编码器,例如JPEG-AI的编码效率比VVC编码I帧高20-30%,但是视频比图像更复杂因此该提案只对I帧使用神经网络处理,P和B帧还是使用VVC。在VTM14.0上,RA配置下该方法在Y分量上的BD-Rate达到4.1%。

混合框架实现


该框架基于VTM14.0实现,VTM代码基本保持不变,对于I帧其对应的non-VCLU写入码流的方式不变,I帧对应的VCLU写入码流的方式如下:

  1. 通过python脚本调用端到端图像编码器。

  2. 图像编码器对I帧编码,并将重建图像写入临时yuv文件。

  3. VVC编码器从日志文件收集图像编码器的bit cost信息。

  4. VVC编码器读临时yuv文件并写入dpb。

  5. 通过步骤3、4,VVC能计算图像编码器生成图像的psnr和bit cost。

端到端图像编码器


这个E2E图像编码器是JPEG AI的变种,训练时损失函数使用MSE。模型输入针对420格式,而不是RGB444。模型结构如Fig.2,Y和UV独立编码,仅在处理流程的某些部分Y会作为UV的辅助信息(蓝色箭头)。绿色框内是熵编码网络。

实验结果

VTM14 RA配置的结果如表1,其中QP={32,37,42,47},选择这些QP是为了使VVC的I帧码率和JPEG AI对齐。可以看见,对class A1、A2和B增益很大,因为图像编码器训练集都是高分辨率图像所以在高分辨率序列上表现更好,这也解释了class C和D增益为什么小。由于训练集不包含屏幕序列,所以class F损失较大。

表1的结果是所有I帧都使用E2E AI编码(无条件,不需要mulit-pass),也可以根据内容自适应决定是否对I帧使用AI编码,不过这需要mulit-pass,结果如表2。

主观对比

Fig4和Fig5是序列CatRobot使用QP 42编码的POC为31的帧,可以提案的方法右下角的兔子主观质量更好,而且POC31远离第一个I帧这也说明I帧质量的提升可以传导到后面的帧。

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

端到端图像编码和VVC的结合相关推荐

  1. 端到端神经视频编码=A Better Trade-off ?

    归根结底,每一种视频压缩方法都要权衡利弊(trade-off):如果允许更大的文件大小,就可以拥有更好的图像质量:但如果想让文件非常小,那就必须要容忍错误出现的概率.但现在(以及不久的将来),人们希望 ...

  2. 大数据 端到端_端到端数据分析性能

    大数据 端到端 I came across an article from NVIDIA talking about their TPCx-BB benchmark results on A100. ...

  3. 端到端的图像压缩----《Variational Image Compression With A Scale Hyperprior》论文笔记

    Variational Image Compression With A Scale Hyperprior 一 简介 二 内容 2.2 数据流程 2.3 变分自编码器 2.4 思路介绍 三 核心代码 ...

  4. CVPR2022 MulT: 端到端的多任务学习transformer

    An End-to-End Multitask Learning Transformer 论文:https://arxiv.org/pdf/2205.08303.pdf code:https://gi ...

  5. ICASSP2021:端到端的图像编码方法

    本文来自ICASSP2021论文<Image Coding For Machines: An End-to-end Learned Approach> 基于深度学习的计算机视觉在图像领域应 ...

  6. 用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈

    用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈 深度学习已变得无处不在,不可或缺.这场革命的一部分是由可扩展的深度学习系统推动的,如滕索弗洛.MXNet.咖啡和皮托奇.大多数现有系统针对 ...

  7. 端到端TVM编译器(下)

    端到端TVM编译器(下) 4.3 Tensorization DL工作负载具有很高的运算强度,通常可以分解为张量运算符,如矩阵乘法或一维卷积.这些自然分解导致了最近的添加张量计算原语.这些新的原语带来 ...

  8. 端到端TVM编译器(上)

    端到端TVM编译器(上) 摘要 将机器学习引入到各种各样的硬件设备中.AI框架依赖于特定于供应商的算子库,针对窄范围的服务器级gpu进行优化.将工作负载部署到新平台,例如手机.嵌入式设备和加速器(例如 ...

  9. 从PyTorch到ONNX的端到端AlexNet

    从PyTorch到ONNX的端到端AlexNet 这是一个简单的脚本,可将Torchvision中定义的经过预训练的AlexNet导出到ONNX中.运行一轮推理Inference,然后将生成的跟踪模型 ...

最新文章

  1. ajax查询数据返回结果不变
  2. 杭电acm2043密码
  3. .Net开源源码查询
  4. SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用、Ribbon 负载均衡、自定义 Ribbon 配置、禁用 Eureka 实现 Ribbon 调用)...
  5. 《java学习二》jvm性能优化-----认识jvm
  6. matlab 线型、标记、颜色
  7. 祝你元宵节快乐!今朝逢元夜,花与灯依旧。众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。...
  8. 金融衍生物英语名词的对应中文解析
  9. 计算机d级是什么等级,四级口语考试D等级的评分标准是什么
  10. 软件工程大作业:自动售货机系统
  11. 由平庸到崛起:细数那些为三星打下半壁江山的经典“Galaxy”智能机型
  12. 小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析
  13. PMP在线完成续证和缴费步骤
  14. QUIC协议原理详解
  15. GIS中的坐标系问题
  16. 电源去耦的原因-和如何电源去耦
  17. 100的阶乘有多少0
  18. BLE CC2540之ADC
  19. 震撼大数据!80后年薪多少,才能摆脱中年危机?
  20. 不花一分钱,搭建一个完全免费的python3+flask+mysql服务器

热门文章

  1. 数学家苏青云不为人知的故事
  2. 初学者常见的几类编写程序问题
  3. wpscan获取免费的API及用法
  4. java utc 转换pst_关于c#:如何将UTC + 0日期转换为PST日期?
  5. 6大行数字人民币推送子钱包扩大使用范围
  6. 大数据典型的计算模式
  7. js绝对值(负值转正)
  8. 信息技术及计算机程序设计,高中信息技术《认识计算机与程序》教案
  9. Google搜索引擎的新功能
  10. elasticsearch-certutil制作自签的CA证书