当前位置:网站首页>What is per title encoding?
What is per title encoding?
2022-07-23 14:43: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/
边栏推荐
- 【测试平台开发】二十、完成编辑页发送接口请求功能
- requests库大型爬虫开发经验
- 【PyQt5安装以及使用】
- Chapter 3 complex query
- About flex layout justify content: the last solution to the misalignment of space around and why it is solved like this is a discussion
- FFmpeg 2 - ffplay、ffprobe、ffmpeg 命令使用
- Right click to create a new TXT. The new text file is missing. You can solve it by adding a registry. Find the ultimate solution that can't be solved
- 可以进行2D或3D三角剖分的一些库
- [download attached] several scripts commonly used in penetration testing that are worth collecting
- js纹理样式饼图插件
猜你喜欢
![[applet automation minium] III. element positioning - use of wxss selector](/img/ec/51eadd08bea18f8292aa3521f11e8a.png)
[applet automation minium] III. element positioning - use of wxss selector

js日历样式饼图统计插件

Right click to create a new TXT. The new text file is missing. You can solve it by adding a registry. Find the ultimate solution that can't be solved

C语言实现课堂随机点名系统

Official wechat product! Applet automation framework minium sharing Preview

【论文笔记】基于分层深度强化学习的移动机器人导航方法

Tensor, numpy, PIL format conversion and image display

右键新建txt,新建文本文件不见了,通过添加注册表就可以解决,找来找去办法解决不了的终极办法

Qt文档阅读笔记-Audio Example解析
![[applet automation minium] i. framework introduction and environment construction](/img/1f/95b78e6574c3af3ff7abcf5db838f5.png)
[applet automation minium] i. framework introduction and environment construction
随机推荐
Uni app knowledge points and records of problems and solutions encountered in the project
C language introduction practice (11): enter a group of positive integers and sum the numbers in reverse order
【测试平台开发】23. 接口断言功能-保存接口断言和编辑回显
js纹理样式饼图插件
LZ77 file compression
Palindrome related topics
npm warn config global `--global`, `--local` are deprecated. use `--location=global` instead.
【面试高频】cookie、session、token?看完再也不担心被问了
[C language] number guessing game + shutdown applet
APtos 简介及机制
OKRK3399開發板預留I2C4掛載EEPROM
[test platform development] 23. interface assertion function - save interface assertion and edit echo
Qt文档阅读笔记-Audio Example解析
C language implements StrCmp, strstr, strcat, strcpy
Which is a good fixed asset management system? What are the fixed asset management platforms?
C语言入门实战(11):输入一组正整数,求逆序数的和
CSDN写文方法(二)
Some libraries that can perform 2D or 3D triangulation
[WinForm] desktop program implementation scheme for screenshot recognition and calculation
Right click to create a new TXT. The new text file is missing. You can solve it by adding a registry. Find the ultimate solution that can't be solved

