内容自适应编码中的不同粒度

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/82754374 ...
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/82754374

640?wx_fmt=jpeg


根据不同粒度的CAE,可以实现从粗犷和精确的内容感知编码,从而提升带宽利用率,为用户提供更好的观看体验。


文 / Dane Kottke

译 / 王月美

审校 / Ant

原文:

http://euclidiq.com/2017/10/03/modeling-levels-content-adaptive-encoding/


640?wx_fmt=png


在之前的博文中,我们描述了自适应比特率(ABR)流的挑战,其中OTT视频内容提供商必须以多帧分辨率和比特率来编码和存储每个源视频,其中帧分辨率和比特率的集合称为编码阶梯。我们注意到标准ABR编码阶梯的一个常见问题是它们过于呆板,要么编码比特率太高的简单视频而导致带宽浪费,要么编码比特率太低的较复杂视频而导致重播时视觉效果不佳。


接下来,我们解释了内容自适应编码(CAE)如何通过将ABR编码阶梯调整为每个视频的内容来提高ABR流媒体的体验质量,从而允许观众在相同的带宽条件下用更高的帧分辨率播放视频,或在带宽消耗较低的情况下以相同的帧分辨率播放视频。我们还区分了应用CAE的两种不同的方法:在编码器内部,通过基于感知考虑调整编码器内的编码决策;以及在编码器外部,通过基于视频数据的特性来调整编码参数(例如编码比特率)。


在这篇后续博客文章中,我们将观察到CAE可以应用于多个级别,其具体取决于视频内容的建模精确程度。下面,我们将阐述几个不同级别的CAE。


内容自适应编码(CAE)算法的类型


图1描绘了基于如何精确地对视频内容进行建模(以及因此编码的精确程度)的CAE的多种可能实现。在图1中,CAE的外部应用(涉及不太精确的自适应)是朝向底部的,而CAE的内部应用(涉及更精确的自适应)是朝向顶部的。图1显示了四种一般自适应水平,但实际上可能会有更多。 图1中的四个级别可以描述如下。


按类别自适应编码。在此版本的CAE中,为各种类别的视频导出了不同的比特率梯形图。类别可以是语义类别,例如视频质量专家组定义的八个语义类别 - 包括视频会议,电影,体育,音乐视频等。或者,类别可以是电影类型:戏剧,动作片,动画等。在任何情况下,以这种方式对视频进行广泛分类不需要太费力,并且可以想象使用更具激进的比特率阶梯(较低比特率)来用于通常“要求不高”的类别(例如动画)和使用更保守的比特率阶梯(更高比特率)来用于可能“要求更高”的类别(如动作片,音乐视频)。


这种方法的问题在于,在复杂性方面类别的不同质(例如,考虑两部动作片之间复杂动作场景频率的相对差异,如“星球大战:新希望与复仇者”)。因此,单个编码阶梯不太可能适用于某个类别中的所有视频。


640?wx_fmt=png


图1:内容自适应编码(CAE)变体


Per-title自适应编码。在这个版本的CAE中,Netflix提出了早期版本,通过测量不同比特率和帧分辨率的视频的平均质量,为每个特定视频导出不同的编码梯。在最初的实施中,Netflix使用PSNR测量质量,并在多帧分辨率下计算出速率-质量曲线。从这组速率-质量曲线中,他们确定了每个视频的最佳工作点(比特率和分辨率)—最佳比特率阶梯。


这种方法的问题在于,诸如电影之类的长格式视频包含混合内容(有简单的和复杂的),因此来自每个条编码阶梯的编码比特率可能仍然过于死板,导致视频某些部分(较复杂的场景)的质量较差,以及某些部分(更简单的场景)比特浪费。


Per-segment自适应编码。此版本的CAE涉及使用类似于上述按条CAE的方法。将视频分成段并确定每段的最佳比特率。可以以视频的规则来间隔定义片段,或者可以通过场景剪切检测算法确定的场景边界来定义片段。在任何情况下,按段CAE方法的目标是测量每个段的复杂性,然后确定实现该段的可接受质量的最佳编码比特率。


按段CAE解决方案在衡量复杂性的指标、视频质量的指标以及将编码比特率与质量相关联的方法上有所不同。与按条CAE一样,按场景CAE仍然遇到了混合内容的问题,因为视频的任一给定片段可能包含简单和复杂的帧。


按帧和按块CAE。通过在逐帧的基础上调整编码器的编码决策,CAE的最终级别使编码器内部的调整非常严格。例如,速率控制算法基于正被编码的当前帧的内容来调整帧量化。在更精细的粒度级别,按块CAE在编码发生时调整每个编码块的编码决策,可能基于该帧中当前块、周围块或所有块中的内容,调整每个块的编码模式选择或量化操作。由于按块CAE技术以非常精细的粒度运行,因此它们没有足够的时间信息来为ABR编码阶梯选择最佳比特率。但是,它们可以显着提高编码效率,既可以提高给定比特率的质量,也可以在保持质量的同时降低比特率。



640?wx_fmt=jpeg

相关文章
|
6月前
|
机器学习/深度学习 缓存 人工智能
大语言模型中常用的旋转位置编码RoPE详解:为什么它比绝对或相对位置编码更好?
Transformer的基石自2017年后历经变革,2022年RoPE引领NLP新方向,现已被顶级模型如Llama、Llama2等采纳。RoPE融合绝对与相对位置编码优点,解决传统方法的序列长度限制和相对位置表示问题。它通过旋转矩阵对词向量应用角度与位置成正比的旋转,保持向量稳定,保留相对位置信息,适用于长序列处理,提升了模型效率和性能。RoPE的引入开启了Transformer的新篇章,推动了NLP的进展。[[1](https://avoid.overfit.cn/post/9e0d8e7687a94d1ead9aeea65bb2a129)]
959 0
|
3天前
|
缓存 前端开发 JavaScript
利用代码分割优化前端性能:策略与实践
在现代Web开发中,代码分割是提升页面加载性能的有效手段。本文介绍代码分割的概念、重要性及其实现策略,包括动态导入、路由分割等方法,并探讨在React、Vue、Angular等前端框架中的具体应用。
|
21天前
|
编解码 人工智能 开发者
长短大小样样精通!原始分辨率、超长视频输入:更灵活的全开源多模态架构Oryx
【10月更文挑战第23天】Oryx 是一种新型多模态架构,能够灵活处理各种分辨率的图像和视频数据。其核心创新在于能够对图像和视频进行任意分辨率编码,并通过动态压缩器模块提高处理效率。Oryx 在处理长视觉上下文(如视频)时表现出色,同时在图像、视频和3D多模态理解方面也展现了强大能力。该模型的开源性质为多模态研究社区提供了宝贵资源,但同时也面临一些挑战,如选择合适的分辨率和压缩率以及计算资源的需求。
28 3
|
1月前
|
自然语言处理 资源调度 前端开发
前端大模型入门(四):不同文本分割器对比和效果展示-教你如何根据场景选择合适的长文本分割方式
本文详细介绍了五种Langchain文本分割器:`CharacterTextSplitter`、`RecursiveCharacterTextSplitter`、`TokenTextSplitter`、`MarkdownTextSplitter` 和 `LatexTextSplitter`,从原理、优缺点及适用场景等方面进行了对比分析,旨在帮助开发者选择最适合当前需求的文本分割工具,提高大模型应用的处理效率和效果。
|
5月前
|
人工智能 自然语言处理 机器人
字节打造大模型TTS:不仅能高保真合成,而且支持调整编辑
【6月更文挑战第26天】字节跳动的Seed-TTS是先进的文本转语音系统,生成与人类语音难辨别的声音,并允许编辑。模型通过语音、文本编码器、解码器和声码器实现高保真、可控及多样化的语音生成。应用于智能客服、有声读物、导航,提升用户体验。虽在多模态任务、长文本生成、实时应用及隐私问题上面临挑战[[arxiv.org/pdf/2406.02430](https://arxiv.org/pdf/2406.02430)]。
117 7
|
6月前
|
算法 索引
**无损压缩**方式对图像质量的影响最小
【4月更文挑战第26天】**无损压缩**方式对图像质量的影响最小
73 2
|
6月前
|
机器学习/深度学习 JSON 物联网
ORPO偏好优化:性能和DPO一样好并且更简单的对齐方法
ORPO是另一种新的LLM对齐方法,这种方法甚至不需要SFT模型。通过ORPO,LLM可以同时学习回答指令和满足人类偏好。
317 0
|
6月前
|
算法
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
|
算法 前端开发
检索项目中冗余的图片
检索项目中冗余的图片
42 0
|
PyTorch 算法框架/工具
语义分割数据增强——图像和标注同步增强
其中常见的数据增强方式包括:旋转、垂直翻转、水平翻转、放缩、剪裁、归一化等。
700 0