@@ -335,7 +335,12 @@ The objects on the frame **move in a 3D way**, the ball can become smaller when
|
||||
|
||||
But we can see that when we apply **motion estimation** the **data to encode is smaller** than using simply delta frame techniques.
|
||||
|
||||

|
||||

|
||||
|
||||
> ### How real motion compensation would look
|
||||
> This technique is applied to all blocks, very often a ball would be partitioned in more than one block.
|
||||
> 
|
||||
> Source: https://web.stanford.edu/class/ee398a/handouts/lectures/EE398a_MotionEstimation_2012.pdf
|
||||
|
||||
You can [play around with these concepts using jupyter](/frame_difference_vs_motion_estimation_plus_residual.ipynb).
|
||||
|
||||
@@ -445,13 +450,13 @@ Remember that we learned how **frames are typed**?! Well, you can **apply those
|
||||
|
||||
## 2nd step - predictions
|
||||
|
||||
Once we have the partitions, we can make predictions over them. For the [inter prediction](/digital_video_introduction#temporal-redundancy-inter-prediction) we need **to send the motion vectors and the residual** and the [intra prediction](/digital_video_introduction#spatial-redundancy-intra-prediction) we'll **send the prediction direction and the residual** as well.
|
||||
Once we have the partitions, we can make predictions over them. For the [inter prediction](#temporal-redundancy-inter-prediction) we need **to send the motion vectors and the residual** and the [intra prediction](#spatial-redundancy-intra-prediction) we'll **send the prediction direction and the residual** as well.
|
||||
|
||||
## 3rd step - transform
|
||||
|
||||
After we get the residual block (`predicted partition - real partition`), we can **transform** it in a way that lets us know which **pixels we can discard** while keeping the **overall quality**. There are some transformations for this exact behavior.
|
||||
|
||||
Although there are [other transformations](https://en.wikipedia.org/wiki/List_of_Fourier-related_transforms#Discrete_transforms), we'll look more closely the discrete cosine transform (DCT). The [**DCT**](https://en.wikipedia.org/wiki/Discrete_cosine_transform) main features are:
|
||||
Although there are [other transformations](https://en.wikipedia.org/wiki/List_of_Fourier-related_transforms#Discrete_transforms), we'll look more closely at the discrete cosine transform (DCT). The [**DCT**](https://en.wikipedia.org/wiki/Discrete_cosine_transform) main features are:
|
||||
|
||||
* **converts** blocks of **pixels** into same-sized blocks of **frequency coefficients**.
|
||||
* **compacts** energy, making it easy to eliminate spatial redundancy.
|
||||
@@ -833,6 +838,8 @@ Bitstream Specifications:
|
||||
* http://iphome.hhi.de/wiegand/assets/pdfs/2012_12_IEEE-HEVC-Overview.pdf
|
||||
* http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=7243
|
||||
* http://gentlelogic.blogspot.com.br/2011/11/exploring-h264-part-2-h264-bitstream.html
|
||||
* https://forum.doom9.org/showthread.php?t=167081
|
||||
* https://forum.doom9.org/showthread.php?t=168947
|
||||
|
||||
Software:
|
||||
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 11 KiB Depois Largura: | Altura: | Tamanho: 11 KiB |
|
Antes Largura: | Altura: | Tamanho: 4.8 KiB Depois Largura: | Altura: | Tamanho: 4.8 KiB |
|
Antes Largura: | Altura: | Tamanho: 16 KiB Depois Largura: | Altura: | Tamanho: 16 KiB |
|
Antes Largura: | Altura: | Tamanho: 8.5 KiB Depois Largura: | Altura: | Tamanho: 8.5 KiB |
|
Antes Largura: | Altura: | Tamanho: 171 KiB Depois Largura: | Altura: | Tamanho: 171 KiB |
|
Antes Largura: | Altura: | Tamanho: 199 KiB Depois Largura: | Altura: | Tamanho: 199 KiB |
|
Antes Largura: | Altura: | Tamanho: 8.3 KiB Depois Largura: | Altura: | Tamanho: 8.3 KiB |
|
Antes Largura: | Altura: | Tamanho: 5.8 KiB Depois Largura: | Altura: | Tamanho: 5.8 KiB |
|
Antes Largura: | Altura: | Tamanho: 6.9 KiB Depois Largura: | Altura: | Tamanho: 5.2 KiB |
|
Antes Largura: | Altura: | Tamanho: 5.1 KiB Depois Largura: | Altura: | Tamanho: 5.1 KiB |
|
Antes Largura: | Altura: | Tamanho: 8.2 KiB Depois Largura: | Altura: | Tamanho: 8.1 KiB |
|
Antes Largura: | Altura: | Tamanho: 5.6 KiB Depois Largura: | Altura: | Tamanho: 5.6 KiB |
|
Antes Largura: | Altura: | Tamanho: 3.0 KiB Depois Largura: | Altura: | Tamanho: 3.0 KiB |
|
Antes Largura: | Altura: | Tamanho: 11 KiB Depois Largura: | Altura: | Tamanho: 11 KiB |
|
Antes Largura: | Altura: | Tamanho: 21 KiB Depois Largura: | Altura: | Tamanho: 21 KiB |
|
Antes Largura: | Altura: | Tamanho: 8.4 KiB Depois Largura: | Altura: | Tamanho: 8.4 KiB |
|
Antes Largura: | Altura: | Tamanho: 2.8 KiB Depois Largura: | Altura: | Tamanho: 2.8 KiB |
|
Antes Largura: | Altura: | Tamanho: 9.7 KiB Depois Largura: | Altura: | Tamanho: 9.7 KiB |
|
Antes Largura: | Altura: | Tamanho: 40 KiB Depois Largura: | Altura: | Tamanho: 40 KiB |
|
Antes Largura: | Altura: | Tamanho: 6.3 KiB Depois Largura: | Altura: | Tamanho: 6.3 KiB |
|
Antes Largura: | Altura: | Tamanho: 180 KiB Depois Largura: | Altura: | Tamanho: 180 KiB |
|
Antes Largura: | Altura: | Tamanho: 168 KiB Depois Largura: | Altura: | Tamanho: 168 KiB |
|
Antes Largura: | Altura: | Tamanho: 82 KiB Depois Largura: | Altura: | Tamanho: 82 KiB |
|
Antes Largura: | Altura: | Tamanho: 161 KiB Depois Largura: | Altura: | Tamanho: 161 KiB |
|
Antes Largura: | Altura: | Tamanho: 19 KiB Depois Largura: | Altura: | Tamanho: 19 KiB |
|
Antes Largura: | Altura: | Tamanho: 7.4 KiB Depois Largura: | Altura: | Tamanho: 7.4 KiB |
|
Antes Largura: | Altura: | Tamanho: 134 KiB Depois Largura: | Altura: | Tamanho: 134 KiB |
|
Antes Largura: | Altura: | Tamanho: 19 KiB Depois Largura: | Altura: | Tamanho: 19 KiB |
|
Antes Largura: | Altura: | Tamanho: 16 KiB Depois Largura: | Altura: | Tamanho: 16 KiB |
|
Antes Largura: | Altura: | Tamanho: 6.7 KiB Depois Largura: | Altura: | Tamanho: 4.2 KiB |
|
Antes Largura: | Altura: | Tamanho: 9.1 KiB Depois Largura: | Altura: | Tamanho: 9.1 KiB |
|
Antes Largura: | Altura: | Tamanho: 11 KiB Depois Largura: | Altura: | Tamanho: 11 KiB |
|
Antes Largura: | Altura: | Tamanho: 35 KiB Depois Largura: | Altura: | Tamanho: 35 KiB |
|
Antes Largura: | Altura: | Tamanho: 3.0 KiB Depois Largura: | Altura: | Tamanho: 3.0 KiB |
|
Antes Largura: | Altura: | Tamanho: 151 KiB Depois Largura: | Altura: | Tamanho: 151 KiB |
|
Antes Largura: | Altura: | Tamanho: 2.2 KiB Depois Largura: | Altura: | Tamanho: 2.2 KiB |
|
Antes Largura: | Altura: | Tamanho: 2.5 KiB Depois Largura: | Altura: | Tamanho: 2.5 KiB |
|
Antes Largura: | Altura: | Tamanho: 4.5 KiB Depois Largura: | Altura: | Tamanho: 4.5 KiB |
|
Antes Largura: | Altura: | Tamanho: 6.8 KiB Depois Largura: | Altura: | Tamanho: 6.7 KiB |
|
Antes Largura: | Altura: | Tamanho: 5.5 KiB Depois Largura: | Altura: | Tamanho: 5.6 KiB |
|
Antes Largura: | Altura: | Tamanho: 43 KiB Depois Largura: | Altura: | Tamanho: 43 KiB |
|
Antes Largura: | Altura: | Tamanho: 3.9 KiB Depois Largura: | Altura: | Tamanho: 3.9 KiB |
|
Antes Largura: | Altura: | Tamanho: 12 KiB Depois Largura: | Altura: | Tamanho: 12 KiB |
|
Antes Largura: | Altura: | Tamanho: 6.7 KiB Depois Largura: | Altura: | Tamanho: 6.7 KiB |
|
Antes Largura: | Altura: | Tamanho: 2.9 KiB Depois Largura: | Altura: | Tamanho: 2.9 KiB |
|
Antes Largura: | Altura: | Tamanho: 5.0 KiB Depois Largura: | Altura: | Tamanho: 5.0 KiB |
|
Antes Largura: | Altura: | Tamanho: 6.9 KiB Depois Largura: | Altura: | Tamanho: 6.9 KiB |
|
Depois Largura: | Altura: | Tamanho: 103 KiB |
|
Antes Largura: | Altura: | Tamanho: 20 KiB Depois Largura: | Altura: | Tamanho: 20 KiB |
|
Antes Largura: | Altura: | Tamanho: 60 KiB Depois Largura: | Altura: | Tamanho: 60 KiB |
|
Antes Largura: | Altura: | Tamanho: 3.2 KiB Depois Largura: | Altura: | Tamanho: 3.2 KiB |
|
Antes Largura: | Altura: | Tamanho: 2.2 KiB Depois Largura: | Altura: | Tamanho: 2.2 KiB |
|
Antes Largura: | Altura: | Tamanho: 22 KiB Depois Largura: | Altura: | Tamanho: 22 KiB |
|
Antes Largura: | Altura: | Tamanho: 4.6 KiB Depois Largura: | Altura: | Tamanho: 4.6 KiB |
|
Antes Largura: | Altura: | Tamanho: 637 B Depois Largura: | Altura: | Tamanho: 639 B |
|
Antes Largura: | Altura: | Tamanho: 632 B Depois Largura: | Altura: | Tamanho: 632 B |
|
Antes Largura: | Altura: | Tamanho: 651 B Depois Largura: | Altura: | Tamanho: 661 B |
|
Antes Largura: | Altura: | Tamanho: 637 B Depois Largura: | Altura: | Tamanho: 637 B |
|
Antes Largura: | Altura: | Tamanho: 635 B Depois Largura: | Altura: | Tamanho: 634 B |
|
Antes Largura: | Altura: | Tamanho: 5.7 KiB Depois Largura: | Altura: | Tamanho: 5.7 KiB |
|
Antes Largura: | Altura: | Tamanho: 8.9 KiB Depois Largura: | Altura: | Tamanho: 8.9 KiB |
|
Antes Largura: | Altura: | Tamanho: 4.2 KiB Depois Largura: | Altura: | Tamanho: 4.2 KiB |
|
Antes Largura: | Altura: | Tamanho: 12 KiB Depois Largura: | Altura: | Tamanho: 12 KiB |
|
Antes Largura: | Altura: | Tamanho: 398 B Depois Largura: | Altura: | Tamanho: 398 B |
|
Antes Largura: | Altura: | Tamanho: 397 B Depois Largura: | Altura: | Tamanho: 397 B |
|
Antes Largura: | Altura: | Tamanho: 104 KiB Depois Largura: | Altura: | Tamanho: 28 KiB |
|
Antes Largura: | Altura: | Tamanho: 13 KiB Depois Largura: | Altura: | Tamanho: 13 KiB |
|
Antes Largura: | Altura: | Tamanho: 9.8 KiB Depois Largura: | Altura: | Tamanho: 9.8 KiB |
|
Antes Largura: | Altura: | Tamanho: 95 KiB Depois Largura: | Altura: | Tamanho: 27 KiB |
|
Antes Largura: | Altura: | Tamanho: 8.2 KiB Depois Largura: | Altura: | Tamanho: 8.2 KiB |
|
Antes Largura: | Altura: | Tamanho: 94 KiB Depois Largura: | Altura: | Tamanho: 94 KiB |
|
Antes Largura: | Altura: | Tamanho: 43 KiB Depois Largura: | Altura: | Tamanho: 43 KiB |
|
Antes Largura: | Altura: | Tamanho: 52 KiB Depois Largura: | Altura: | Tamanho: 52 KiB |
|
Antes Largura: | Altura: | Tamanho: 101 KiB Depois Largura: | Altura: | Tamanho: 101 KiB |
|
Antes Largura: | Altura: | Tamanho: 165 B Depois Largura: | Altura: | Tamanho: 178 B |