当前位置:网站首页>What is per title encoding?
What is per title encoding?
2022-07-23 10:16:00 【LiveVideoStack_】
▲ Scan the QR code in the picture to learn more about the audio and video technology conference ▲
translate 、 edit :Alex
Technical review : Zhao Jun
This article is from OTTVerse, The author is Krishna Rao Vijayanagar.
Easy-Tech #036#
Per-Title( By theme ) code To save bit rate 、 Storage space and ABR The transmission bandwidth is for each movie ( Based on its unique spatial and temporal attributes and complexity ) adjustment ABR Rate ladder (bitrate ladder). In other words ,Per-Title The purpose of coding is based on the characteristics of the film ( Slow motion 、 sports 、 Animation 、 Cartoon content, etc ) Generate a different set of encoding or compression parameters for each movie .
Next , We will understand Per-Title The coding process involved in coding and the advantages it brings to streaming media providers .
What is? Per-Title code ? Where to start ?
First mentioned Per-Title The coding place is Netflix The blog of , And then IEEE Published a book called “Complexity-based consistent-quality encoding in the cloud(《 Stable quality coding based on complexity on cloud 》” The paper of . There is an interesting sentence in the abstract of this paper :
In order to produce the best quality video stream , The system needs to adapt the coding to each content ( In an automatic 、 Scalable way ). In this paper , We describe two Algorithm Optimizations , For cloud based distributed coding pipelines , They are :(1) For bit rate - Resolution selection Per-Title Complexity analysis ;(2) For stable quality coding Per-chunk rate control . Compared to the simple “ One size fits all ” Coding system , These improvements have brought many advantages , Including more efficient bandwidth use and more stable video quality .
The above sentence “ In order to produce the best quality video stream , The system needs to adapt the coding to each content ” A good summary of Per-Title code .
Encoder needs “ understand ” Every video content , And adjust the compression settings and parameters to suit it , In this way, it is possible to achieve the best video quality .
| Conventional ABR And what happened to the compression process ?
In the use of ABR In the traditional video transmission method of Technology , It is generally to create a code rate ladder ( Or a group profile), And apply it to all movies in the content library . About ABR More introduction to technology , Please read this article : understand ABR And how it works .
such as , There is a bit rate ladder 6mbps 1080p Of profile, And applied to all classifications —— Whether it's animation 、 Sports or talk show .
However , There is a problem with this method : The characteristics and complexity of each film are different .
All movies look different :
Some movies have fast action scenes ( Sports competition 、 Action movies ), Some are slower in action (《 Shawshank redemption 》). Some cartoons are relatively simple (《 The Simpsons 》), Some have a high degree of detail (《 Toy Story Mania 》). All movies have their own “ gene ” And features , So every movie produced is different .
that , Why should we compress movies in the same way , Use the same encoder settings and use the same code rate ladder ABR Video transmission ?
Let's take a look at the following from 《 The Simpsons 》、 Football matches and Park Joy Three screenshots of the test sequence , They all look different , Is that so? ?

Easy to compress !

It's really hard to compress !

Because there is water in the video 、 Grass and leaves , It's also hard to compress !
Now? , These examples depend on your subjective judgment about the quality of video . Let's see Netflix Digital experiments on the technology blog . At the bottom of the RD The figure describes the bit rate and video quality of different sequences at different target bit rates (PSNR).
Look at the changes in the figure ! stay 5000 kbps, Some sequences have up to 45 dB Even higher PSNR The score is , Other sequences only 36 dB. It makes it clear that : No two videos are the same , They should be handled according to their respective characteristics .
In more technical terms, it is , There are differences between the spatio-temporal complexity and characteristics of these videos , So it would be a good idea to use this to compress video effectively .

source :Netflix Blog [1]
therefore ,Per-Title Coding is changing from a video to ( Or adapt to ) Another video coding .
Use Per-Title code , Which variables can be changed ?
Use Per-Title When coding , Many coding and transmission parameters will change , such as :
Resolution selection in the code rate ladder : some title It might generate 720p Quality content ( It also looks great ), For this kind of video , You may not have to switch to higher quality content 1080p.
The bit rate selected for each resolution : This is a Per-Title The most important part of coding . If you have to generate a set of video resolutions (1080p、720p etc. ), Then you can change the bit rate for each resolution . in other words , You will find that you may not be 6mbps Time generation 1080p In the video , But in 3mbps Generate 1080p, And achieve the same video quality !
In the code rate ladder profile Number : This is a Per-Title Another advantage of coding . By changing the code rate - Resolution combination , Maybe it can reduce the number of bits you need to generate in the rate ladder profile Number .
In the use of Per-Title When coding , The range of its parameters is larger . At a more subtle level , You can study the encoder settings and adjust them :
Strength of filter
GOP length
Enable and disable half pixel or quarter pixel motion estimation
Search range of motion estimation
GOP structure (P Frame B Frame ratio )
And more depends on how to set up the video codec . The first priority here should be to understand your video complexity , Video codec capabilities , And how to combine all your data and video intelligent analysis to effectively compress video .
How to achieve Per-Title code ?
Per-Title The most important feature of coding is that it can “ understand ” The complexity of a movie 、 The scenes and changes . The way is : By collecting movie information and statistical data , And use these data for compression .
This makes us need to know about multi pass coding (multi-pass encoding) The concept of , The first time ( Or N All over ) It is used to collect information about movies . On the last day M All over , Use this information to encode video .
What information is helpful to understand the complexity of the movie ? Let's see :
Global velocity or motion vector : It will tell us how fast the scene moves , Can be used to distinguish talk shows ( None of them moved ) And American professional football ( Full of fast camera movement ).
Spatial complexity : Most of the pictures in the movie are like 《 The Simpsons 》 Solid color block in ? It is still full of the complex patterns in the movies of the s ?
Time complexity : Want to understand how quickly movie content switches from one frame to another , This is also related to the global motion vector and velocity in the above .
These are very important video features , They determine how to compress video effectively with a certain bit budget . In a nutshell , If you know your video properties , You can adjust the encoder settings to achieve the best video quality ( For example, it is required to compress the video to x mbps)
therefore , After you collect this information , You can execute another one on the video codec pass To compress the video to the correct bit rate ( It's up to your convex hull algorithm ).
Per-Title The advantages of coding
perform Per-Title Coding has many advantages , such as :
Save storage space : By using Per-Title Coding changes the bit rate and resolution , You can compress video efficiently , And save a lot of storage space .
Saving transmission cost : Because each is encoded title All use a rate ladder that is most suitable for it , So you will soon see CDN Transmission cost savings . besides , End users will also download smaller files , So as to reduce the occurrence of buffer and the first screen delay .
Save coding time : also , Because the coding ladder will be adjusted separately for each film , You can easily see the savings in coding time . such as , If we don't use 1080p code 《 The Simpsons 》 Fragments of , But use 720p And get the same visual quality , Then the decrease of resolution will increase the speed of encoder . This is mainly due to the reduction of resolution, which reduces the work of motion estimation and compensation algorithms .
Improve quality : By adjusting the encoder of each movie or theme 、 The resolution of the 、 Bit rate 、 Frame rate and other settings , You can make full use of the encoder , And get the best video quality . This will bring a great user experience !
therefore , By switching to Per-Title coding scheme , You can save a lot of storage 、 The cost of transmission and coding time .
That's it today , See you next time , Take care !Happy streaming!
notes :
[1] https://netflixtechblog.com/per-title-encode-optimization-7e99442b62a2
thank :
This paper has been approved by the author Krishna Rao Vijayanagar Authorized translation and release , Hereby thank .
Link to the original text :
https://ottverse.com/what-is-per-title-encoding/
边栏推荐
- error MSB4181: “QtRunWork”任务返回了 false,但未记录错误
- How can a platform enterprise solve the business of ledger accounting?
- 【循环语句】
- args参数解析
- Android development learning diary - content provider (cross application database modification)
- Ten year structure five year Life-05 first business trip
- [MySQL] cursor
- redis分片集群如何搭建与使用
- Normal form and anti normal form
- Time series - third party Library: tsfresh [feature extraction, feature selection]
猜你喜欢

How to build and use redis fragment cluster

这个工具,补齐了 JMeter性能分析最后一公里短板

Normal form and anti normal form

The gospel of small and medium-sized enterprises is coming! Jnpf is becoming popular, helping business digital upgrading

60道测开面试题,背完直接涨工资

This tool complements the last kilometer of JMeter performance analysis

1.赋值语句

网络安全之ARP欺骗防护

Open source Invoicing system, 10 minutes to complete, it is recommended to collect!

用现代化的开发方法和思维,打跑遗留系统“拦路虎”
随机推荐
智能建造试点城市通知的三大目标和八项任务
[introduction to node basics] - node middle layer does interface forwarding to realize cross domain requests
【C语言基础】15 位运算
数据库安全性和数据的完整性
The world is being devoured by open source software
范式及反范式
Data middle office, Bi business interview (III): how to choose the right interviewees
转行软件测试薪资10K | 手中有粮心中有底,在任何时候都是真理
A brief tutorial for soft exam system architecture designer | requirements engineering
赚钱能力”是需要积累的
专题训练-链表
时间序列-第三方库:tsfresh【特征提取、特征选择】
卡特兰数---
指针的底层机制
What are you doing at two in the morning?
Jeecgboot import document
内存屏障中的读写屏障——并发问题
【Azure 事件中心】Azure Event Hub 新功能尝试 -- 异地灾难恢复 (Geo-Disaster Recovery)
ARP Spoofing protection of network security
SSH超市进销存管理系统

