xiph / daala

Modern video compression for the internet

Home Page:https://xiph.org/daala/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature request] Option to disable using golden frames

tomcarrot opened this issue · comments

Golden frames are an easy and effective way to improve metrics, but in some cases the 'poppings' the periodically inserted higher quality frames are causing is quite noticable and looks pretty bad. An option to disable this technique in the command line encoder would be very appreciated.

Do you have a test case or example that exhibits the problem?

Here is an example : http://www.mediafire.com/download/lj66wlhw7chdhc5/poppings.7z

I used the command line: encoder_example -o daala.ogv -v 30 -k 100 source.y4m

The problem occurs at higher quality as well, albeit slightly less annoying. The main issue with the periodic frame-boosting is that in exchange for some efficiency gains you introduce a fairly noticable temporal artifact. Probably this is why that with the exception of the VPX codecs, these kind of techniques aren't really used anywhere else.

I definitely think that an option to disable it would be beneficial.

Enabling b-frames makes the little jumps at the golden frames even more noticeable:
http://www.mediafire.com/download/cmtczp5j3taz493/pop_b.7z

The command line was: encoder_example -o daala_b.ogv -v 28 -b 2 -k 100 source.y4m

Here are three encoded files decodable with current master: 8edf564
http://jmvalin.ca/video/encodeA.ogv
http://jmvalin.ca/video/encodeB.ogv
http://jmvalin.ca/video/encodeC.ogv
Let me know which you think looks the best

Well, I prefer A, definitely. The golden-frame pops are still a bit noticeable, but much less annoying than in the other 2 videos, though admittedly at the cost of retaining less details.

Interesting. So far we have 3 people preferring C and you preferring A. I guess we need to investigate more.

Really? That's surprising, B and C look pretty bad in my opinion, the poppings are very distracting.

Anyway, this is why i suggested an option, so those who don't mind the 'jumpiness' can use the encoder as it is, and there could be an option (by disabling golden-frames) for those who'd prefer not to have it. I do hope you'll consider adding this option.

I haven't seen an example of golden frames, yet (I might look at the ogvs)
but this sounds to me like normal I-Frame appearance (like in this video scene: https://youtu.be/BjeCQzv8BjI?t=5m2s , where the background is very noisy and becomes washed out but gets grain again once he stops or moving or an I-Frame comes)

anyways: can't this be used as an idea to give (heavily used) B-Frames a higher quality instead to improve the overall quality and save the bits that are used for that by reducing the overall quality of the I-Frames?

This is just an idea of mine, so just ignore me and my superficial knowledge if this is plain wrong

Regards