当前位置:网站首页>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/
边栏推荐
- APtos 简介及机制
- Consensys Quorum Benchmark Test
- Offline data interoperability
- [paper notes] mobile robot navigation method based on hierarchical depth reinforcement learning
- 全志F1C100S/F1C200S学习笔记(13)——LVGL移植
- [applet automation minium] i. framework introduction and environment construction
- Work notes: one time bag grabbing
- 【C語言】猜數字小遊戲+關機小程序
- 手机股票开户风险性大吗,安全吗?
- Fabric. JS basic brush
猜你喜欢

扁平样式反馈表单页面

【FLink】FLink Hash collision on user-specified ID “opt“. Most likely cause is a non-unique ID

Canvas from getting started to persuading friends to give up (graphic version)

js日历样式饼图统计插件

Surrounded Regions

ArcGIS使用DEM数据划定汇水区具体步骤过程

固定资产管理系统哪家好?固定资产管理平台有哪些?

Flat style feedback form page

優化華為雲服務器采用Key登陸

Qt文档阅读笔记-Audio Example解析
随机推荐
Okrk3399 Development Board Reserved i2c4 Mounting EEPROM
OKRK3399开发板预留I2C4挂载EEPROM
Question 142 of Li Kou: circular linked list 2
因为资源限制,导致namenode启动失败,报错unable to create new native thread
JS software unloading prompt expression changes with the mouse JS special effect
Optimize Huawei ECs to use key login
JS texture style pie chart plug-in
基金开户网上办理是否安全?谁给解答一下
Qt文档阅读笔记-Audio Example解析
npm warn config global `--global`, `--local` are deprecated. use `--location=global` instead.
Summary of different circulation modes and precautions in JS
身份证号正则验证
【FLink】FLink Hash collision on user-specified ID “opt“. Most likely cause is a non-unique ID
Chapter 4 set operation
云呐-如何加强固定资产管理?怎么加强固定资产管理?
ValidationError: Invalid options object. Dev Server has been initialized using an options object th
Ffmpeg 2 - use of ffplay, ffprobe, ffmpeg commands
C语言入门实战(11):输入一组正整数,求逆序数的和
建议思源笔记能够兼容第三方同步盘
Pychart reads excel file with error: raise xlrderror (file_format_descriptions[file_format]+; not supported)

