Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
![]() |
#1 | Link |
Registered User
Join Date: Sep 2013
Posts: 38
|
Transplant the x264 ABR method to HM11.0
Recently, I have been transplanting the x264 ratecontrol methods to HEVC reference software HM11.0. And I have finished the ABR mode. Here is the result:
Sequences Frames Target(kbps) Bitrate(kbps) Accuracy(%) Y-PSNR U-PSNR V-PSNR BasketballDrill_832x480_50 300 800 803.016 0.377 32.7862 37.3473 37.2791 BasketballDrillText_832x480_50 300 800 811.0227 1.3778375 32.2715 36.4979 36.5234 BasketballPass_416x240_50 300 200 219.404 9.702 30.5966 37.2945 36.1734 BlowingBubbles_416x240_50 300 200 197.424 -1.288 28.0359 34.9153 35.4868 BQMall_832x480_60 300 800 676.9264 -15.3842 31.6436 38.2779 38.5501 BQSquare_416x240_60 300 200 196.5072 -1.7464 26.8742 37.6086 38.0493 Cactus_1920x1080_50 300 4000 3967.7027 -0.8074325 34.7082 37.8691 39.7264 ChinaSpeed_1024x768_30 300 1600 1661.068 3.81675 33.5073 39.2497 38.4519 Flowervase_416x240_30 300 200 223.3656 11.6828 41.532 46.2713 46.0409 Flowervase_832x480_30 300 800 877.0256 9.6282 39.7621 45.3338 45.7795 FourPeople_1280x720_60 300 1800 1830.232 1.679555556 40.3197 44.2148 45.4163 Johnny_1280x720_60 300 1800 1795.1344 -0.270311111 41.9075 46.6944 47.3205 Keiba_416x240_30 300 200 189.7552 -5.1224 33.1761 38.9239 40.1302 Keiba_832x480_30 300 800 756.244 -5.4695 35.5827 40.2041 41.7225 KristenAndSara_1280x720_60 300 1800 1738.176 -3.434666667 41.8724 45.6921 46.6138 Mobisode2_416x240_30 300 200 199.6168 -0.1916 45.9451 46.9067 47.7681 Mobisode2_832x480_30 300 800 802.7856 0.3482 44.4213 46.5975 48.8562 ParkScene_1920x1080_24 240 4000 3896.9968 -2.57508 36.4102 39.493 40.5598 PartyScene_832x480_50 300 800 769.664 -3.792 26.1719 34.4307 34.96 RaceHorses_416x240_30 300 200 197.0144 -1.4928 29.7294 35.1364 36.2337 RaceHorses_832x480_30 300 800 760.7896 -4.9013 31.0715 36.0565 37.7801 SlideEditing_1280x720_30 300 1800 1673.0512 -7.052711111 45.437 44.0271 44.049 SlideShow_1280x720_20 300 1800 1814.7253 0.818072222 51.2019 54.2608 55.352 vidyo1_1280x720_60 300 1800 1822.7408 1.263377778 42.231 45.8006 46.555 vidyo3_1280x720_60 300 1800 1828.992 1.610666667 41.0059 46.6246 45.4719 vidyo4_1280x720_60 300 1800 1685.5088 -6.360622222 40.8668 46.1486 46.3215 For most sequences, the accuracy of bitrate is small, but for some sequences it is big. In x264, the frame complexity is estimated using SATD and the SATD is calculated through the real prediction of half-resolution frame. For simplicity, during the transplantation, I using the SAD of previous frames to estimate that of current frame. For the first frame, I using the following formula to estimate the SAD: satd=H*W*1.5*8, H represents Height, W represents Width, 1.5 means number of Luma and Chroma, and 8 is the estimated SAD value of each pixel. Here, I want someone to give me some advice to solve the big accuracy problem. Meanwhile, in x264 the cplxr_sum is set as: rc->cplxr_sum = .01 * pow( 7.0e5, rc->qcompress ) * pow( h->mb.i_mb_count, 0.5 ) So what reasonable value should I set in HM11.0 (using the number of LCU to replace mb.i_mb_count?). |
![]() |
![]() |
![]() |
#2 | Link |
Software Developer
![]() Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,245
|
Well, ABR can never be 100% accurate, because it doesn't know "what is in the future", it can only make estimates from the frames seen "in the past".
Furthermore, accuracy will usually be much better with longer clips. You have probably been testing with rather short test sequences. If so, those clips simply might have been too short for the ABR algorithm to converge. Finally, there is the "--ratetol" option, which controls how much the ABR algorithm is allowed to diverge from the target bitrate. You can set a lower value here, but that might result in quality degradation...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 9th October 2013 at 17:44. |
![]() |
![]() |
![]() |
#3 | Link | |
Registered User
Join Date: Sep 2013
Posts: 38
|
Quote:
When 1.0 was used, the QP of all frames keeps steady, but now, it fluctuates a lot. By the Way, could you give me some suggestions about value of cplxr_sum, which is set as follows in x264: rc->cplxr_sum = .01 * pow( 7.0e5, rc->qcompress ) * pow( h->mb.i_mb_count, 0.5 ) |
|
![]() |
![]() |
![]() |
Tags |
hevc, rate control, x264 |
Thread Tools | Search this Thread |
Display Modes | |
|
|