0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是Per-Title编码?使用Per-Title编码哪些变量是可以改变的

LiveVideoStack 来源:OTTVerse 作者:Krishna Rao Vijayanag 2022-07-22 09:08 次阅读

Per-Title(按主题)编码是指为了节省码率、存储空间以及ABR传输带宽为每部电影(基于其独特的空间和时间属性以及复杂度)调整ABR码率阶梯(bitrate ladder)。换言之,Per-Title编码的目的就是根据电影特点(慢动作、体育、动画、卡通内容等)为每部电影生成一组不同的编码或者压缩参数。 接下来,我们将了解Per-Title编码所涉及的编码过程以及它为流媒体提供商带来的优势。

什么是Per-Title编码?从哪里开始?

最早提到Per-Title编码的地方是Netflix的博客,随后IEEE发表了名为“Complexity-based consistent-quality encoding in the cloud(《云上基于复杂度的稳定质量编码》”的论文。该论文的摘要中有一句话很有趣:

为了生产最佳质量的视频流,系统需要使编码适应每条内容(以一种自动、可扩展的方式)。在本篇论文中,我们描述了两个算法优化,用于基于云的分布式编码管道,它们分别是:(1)针对码率-分辨率选择的Per-Title复杂度分析;(2)针对稳定质量编码的Per-chunk码率控制。相对于简单的“一刀切”的编码系统,这些改进带来了很多优势,包括更高效的带宽使用和更稳定的视频质量。

上文这句“为了生产最佳质量的视频流,系统需要使编码适应每条内容”很好地总结了Per-Title编码。

编码器需要“理解”每一个视频内容,并调整压缩设置和参数与之适应,这样就有可能达到最佳视频质量。

传统的ABR和压缩过程发生了什么?

在使用ABR技术的传统视频传输方法中,一般是创建一个码率阶梯(或者一组profile),并将其应用于内容库中的所有电影。关于ABR技术的更多介绍,请阅读这篇文章:理解ABR及其工作原理

比如,码率阶梯有一个6mbps 1080p的profile,并应用到了所有的分类——无论是动漫、体育还是脱口秀。

然而,这种方法存在一个问题:每部电影的特点和复杂度并不相同。

所有电影看上去都不一样: 有些电影拥有快速动作场景(体育比赛、动作片),有些在动作上较慢(《肖申克的救赎》)。有些动画片比较简单(《辛普森一家》),有些却拥有高度细节(《玩具总动员》)。所有电影都有它自己的“基因”和特点,所以每部制作出来的电影都与众不同。

那么,为什么都要以相同方式压缩电影,使用相同编码器设置并使用相同码率阶梯进行ABR视频传输呢?

让我们来看看下文中来自《辛普森一家》、足球比赛和Park Joy测试序列的三张截图,它们看起来都不一样,是吧?

容易压缩!

真的很难压缩!

因为视频中出现了水、草和树叶,也很难压缩!

现在,上述这些例子依赖于你对于视频质量优劣的主观判断。让我们看下Netflix技术博客上的数字实验。下方的RD图描述了不同序列在不同目标码率下的码率与视频质量 (PSNR)。

看看图中的变化有多大!在5000 kbps,一些序列拥有高达45 dB甚至更高的PSNR分值,而其他序列只有36 dB。这清楚地表明:没有两个视频是相同的,应该根据它们各自的特点来进行处理。

用更专业的术语来说就是,这些视频的时空复杂度及其特征之间存在差异,所以利用这一点来有效压缩视频会是一个好主意。

2cc6499c-0952-11ed-ba43-dac502259ad0.png  


因此,Per-Title编码就是从一个视频变化到(或适应)另一个视频的编码。

使用Per-Title编码,哪些变量是可以改变的?

使用Per-Title编码时,很多编码和传输参数都会发生变化,比如:

码率阶梯中的分辨率选择:某些title可能会生成720p的质量内容(看上去也很棒),对于这类视频,你也许不必将它切换成更高质量内容的1080p。

每个分辨率所选择的码率:这是Per-Title编码中最重要的部分。如果你必须生成一组视频分辨率(1080p、720p等),那么你可以为其中每个分辨率改变码率。也就是说,你会发现自己可能不是在6mbps时生成1080p的视频,而是在3mbps生成1080p,并达到相同的视频质量!

码率阶梯中的profile数量:这是Per-Title编码的又一大优势。通过变换码率-分辨率组合,也许能够减少你需要在码率阶梯中产生的profile数量。

在使用Per-Title编码时,其参数的范围更大。在更精细的层面,你可以研究编码器设置并对它们进行调整:

过滤器的强度

GOP长度

启用和禁用二分之一像素或者四分之一像素运动估计

运动估计的搜索范围

GOP结构(P帧与B帧的比率)

以及更多取决于如何设置视频编解码器。这里的首要重点应该是了解你的视频复杂度,视频编解码器的能力,以及如何结合你所有的数据和视频智能分析来有效压缩视频。

如何实现Per-Title编码?

Per-Title编码最重要的特点就是它能够“理解”一部电影的复杂度、其中的场景和变化等。方法就是:通过收集电影信息和统计数据,并使用这些数据进行压缩。

这就使我们需要了解多遍编码(multi-pass encoding)的概念,其中第一遍(或者第N 遍)被用来收集电影相关信息。在最后的第M遍,使用这些信息来编码视频。

哪些信息对理解电影复杂度有所帮助?让我们来看看:

全局速度或运动矢量:它将告诉我们场景移动的速度,可以被用来区分脱口秀(其中没有人移动)和美国职业橄榄球比赛(充满快速摄像机的移动)。

空间复杂度:电影中的大部分画面是像《辛普森一家》中的纯色块?还是充满了年代电影中那种复杂的图案?

时间复杂度:想要理解电影内容如何快速地从一帧切换到另一帧,这又与上文中的全局运动向量和速度有关。

这些都是非常重要的视频特点,它们决定了如何在确定的比特预算前提下有效压缩视频。简单来说就是,如果你了解你的视频属性,你就可以调整编码器设置从而达到最佳视频质量(比如被要求压缩视频到x mbps) 所以,在你收集了这些信息以后,你就可以在视频编解码器上执行另一个pass来将视频压缩到正确码率(由你的凸包算法决定)。

Per-Title编码的优势

执行Per-Title编码拥有许多优势,比如:

节省存储空间:通过使用Per-Title编码改变码率和分辨率,你可以高效压缩视频,且节省很多存储空间。

节省传输成本:因为每个被编码的title都使用了一个最适合它的码率阶梯,所以你马上就会看到CDN传输成本的节省。除此之外,终端用户也将下载较小的文件,以此减少缓冲的发生和首屏延迟。

节省编码时间:再者,由于编码阶梯会为每部电影而单独调整,你可以很容易地看到编码时间的节省。比如,如果我们不使用1080p编码《辛普森一家》的片段,而是使用720p并获得了相同视觉质量,那么分辨率的下降会提升编码器的速度。这主要是因为分辨率的下降导致运动估计和补偿算法的工作减少了。

提升质量:通过调整每部电影或者每个主题的编码器、分辨率、码率、帧率以及其他设置,你可以充分利用编码器,并获取最佳视频质量。这将会带来很棒的用户体验! 因此,通过切换到Per-Title编码方案,你可以节省大量存储、传输和编码时间上的成本。



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    940

    浏览量

    54814
  • 过滤器
    +关注

    关注

    1

    文章

    428

    浏览量

    19593
  • ABR
    ABR
    +关注

    关注

    1

    文章

    11

    浏览量

    9695

原文标题:什么是Per-Title编码?

文章出处:【微信号:livevideostack,微信公众号:LiveVideoStack】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为何说Per-Title编码思想仍在发挥着重要作用

    直到今天,Per-Title编码的思想仍在发挥着重要作用,通过Per-Frame甚至Per-Block更细粒度的切分,能够实现更高的编码效率
    的头像 发表于 05-19 09:05 6631次阅读
    为何说<b class='flag-5'>Per-Title</b><b class='flag-5'>编码</b>思想仍在发挥着重要作用

    找不到Excel Easy Title.vi

    打开一个程序时找不到Excel Easy Title.vi求帮助
    发表于 11-10 18:09

    labview word报表easy title 自动换行

    小弟在学习word报表,在用easy title的时候总是会出现自动换行的问题,现在附上图片两张,希望各位大神帮小弟看看怎么解决,多谢
    发表于 10-22 14:42

    【AD问答 3】如何全局修改原理图的Title

    Text选项里面改成=Title,如下图: 第三步,点击打开Document Option,快捷键D-O如图,点击Parameter标签页,找到Title选项,修改参数值如图,这样就可以通过修改全局
    发表于 05-06 14:16

    请问DM368改哪个变量可以改变编码的帧率?

    本帖最后由 一只耳朵怪 于 2018-6-11 14:07 编辑 您好,改哪个变量可以改变编码的帧率?
    发表于 06-11 08:37

    Cadence原理图中Title Blocks的使用方法(一)

    以下的关键字可应用在自己绘制的Title Blocks:软件版本:Cadence OrCAD Capture CIS 17.2Cage CodeSpecifiesthe Cage Code. You
    发表于 01-02 18:47

    Cadence原理图中Title Blocks的使用方法(二)

    Text文本里边可以设置标题、组织名称、组织地址、文件数、版本等信息;标题的选择还需要在symbol中选择库文件,并在Title Block Name中添加要使用的标题名称。2.直接放置title到原理图
    发表于 01-02 18:50

    球泡灯title24证书CEC证书颁发

    `CEC-400-2015-021 Title 20-2015加州能效法规。CEC Title 20管控的LED照明产品范围:1)LED灯泡被移出CEC Title 20范围2)移动式灯具(LED
    发表于 07-09 13:52

    I2S Master bits_per_sample != bits_per_chan情况下工作不正常怎么解决?

    (datasheet要求SCK频率为WS的64倍)。现象:使用逻辑分析仪抓包发现每个channel的sck数量始终等于代码中定义的采样深度(bits_per_sample),与通道深度无关
    发表于 02-16 06:33

    什么是cps (chip per second)

    什么是cps (chip per second)  英文缩写: cps (chip per second) 中文译名: 码片速率单位,每秒码片
    发表于 02-22 17:23 1762次阅读

    在Protel中自定义Title Block的方法

    详细介绍了在Protel中自定义Title Block的方法
    发表于 05-24 11:42 0次下载
    在Protel中自定义<b class='flag-5'>Title</b> Block的方法

    根据不同粒度的CAE,可以实现从粗犷和精确的内容感知编码

    Per-title自适应编码。在这个版本的CAE中,Netflix提出了早期版本,通过测量不同比特率和帧分辨率的视频的平均质量,为每个特定视频导出不同的编码梯。在最初的实施中,Netflix
    的头像 发表于 09-19 17:16 4169次阅读

    SBC 85 Pad per hole原型板开源

    电子发烧友网站提供《SBC 85 Pad per hole原型板开源.zip》资料免费下载
    发表于 08-01 10:19 0次下载
    SBC 85 Pad <b class='flag-5'>per</b> hole原型板开源

    ASN1VE用于分析和编辑使用ASN.1编码规则

    ASN1VE(ASN.1 Viewer /Editor)是一个图形用户界面(GUI)工具,用于分析和编辑使用ASN.1编码规则(BER、DER、CER、PER、U-PER)的编码数据。
    的头像 发表于 09-20 10:44 2646次阅读

    常见的11个分类变量编码方法

    机器学习算法只接受数值输入,所以如果我们遇到分类特征的时候都会对分类特征进行编码,本文总结了常见的11个分类变量编码方法。
    的头像 发表于 11-28 15:45 3514次阅读