Repository navigation
Enable TIP RefineMV and tighten the TIP output early exit at speed >= 5 - #5504
Conversation
|
Hi everyone, enable_tip_refinemv was disabled previously for the entire sequence because it does not have a frame-level flag. enable_tip_refinemv caused significant encoding time, and disabling it offers a good trade-off. However, recently, @xinxiong-xx made great optimizations to TIP (the TIP unit memo, commit a80be19) and the early termination of the TIP direct output search (commit 4d9c07d). As a result, the encoding time caused by TIP refinements has been significantly reduced. Therefore, we’ve removed the disabling of enable_tip_refinemv in this PR to restore the gain, with only a 2% increase in encoding time. @yunqingwang1, I’m not sure if you’d like to apply the same changes to RTC coding or LC coding. |
urvangjoshi
left a comment
There was a problem hiding this comment.
Looks great! One minor comment.
13d675e to
87c8bfc
Compare
Thanks - will check it. |
|
Very good tradeoff! |
Speed >= 5 turns TIP RefineMV off (enable_tip_refinemv = 0) to save encode time. With the TIP unit memo (commit a80be19) and the early termination of the TIP direct output search (commit 4d9c07d), most of that encode time is gone. This change keeps TIP RefineMV on at speed >= 5, and lowers the margin of the TIP direct output early exit from 20% to 0% at speed >= 5. The margin becomes the speed feature hl_sf.tip_direct_output_early_term_margin_pct, 20 by default. enable_tip_refinemv is a sequence-level flag, so the decoder also runs TIP RefineMV at speed >= 5. STATS_CHANGED for speed >= 5. CTC RA, A1 and A2, 33 frames (Anchor: a80be19) speed = 5 | Class | Y | Cb | Cr | wAvg | Enc% | Dec% | |------------|-------|-------|-------|-------|-------|-------| | A1 | -0.64 | -0.39 | -0.40 | -0.62 | 102.3 | 120.6 | | A2 | -0.65 | -0.28 | -0.24 | -0.62 | 102.1 | 121.9 | speed = 6 | Class | Y | Cb | Cr | wAvg | Enc% | Dec% | |------------|-------|-------|-------|-------|-------|-------| | A1 | -0.84 | -0.65 | -0.39 | -0.81 | 102.6 | 120.5 | | A2 | -0.84 | -0.50 | -0.35 | -0.80 | 102.9 | 123.5 |
87c8bfc to
46773f5
Compare
Speed >= 5 turns TIP RefineMV off (enable_tip_refinemv = 0) to save encode time. With the TIP unit memo (commit a80be19) and the early termination of the TIP direct output search (commit 4d9c07d), most of that encode time is gone.
This change keeps TIP RefineMV on at speed >= 5, and lowers the margin of the TIP direct output early exit from 20% to 0% at speed >= 5. The margin becomes the speed feature
hl_sf.tip_direct_output_early_term_margin_pct, 20 by default. enable_tip_refinemv is a sequence-level flag, so the decoder also runs TIP RefineMV at speed >= 5.
STATS_CHANGED for speed >= 5.
CTC RA, A1 and A2, 33 frames (Anchor: a80be19)
speed = 5
speed = 6