AV1 Release
aomedia.org
aomedia.org
In another news, we have xvc, which is taking most of the H.266 purposed ideas into its implementation. And it is already showing 30% better compression then AV1.
Note: AOMedia have also updated its website.[1] One thing i notice is Apple is the only one not using its Logo in the member site. And this feels a little strange.
Any modern [video] compression format is extremely flexible and allow great liberty for the compressor (whereas the decompressor is strictly defined). This means that there is ample room for work on improving the quality and efficiency of the compressor for years to come.
In other words, AV1, the spec, isn't some magical unicorn. It's the sandbox in which the 'corns can be raised.
VP9 outperforms H.264 (libvpx versus x264) for Netflix's use case. Here are some articles from the Netflix TechBlog on their experiences with VP9 and their encoding approach in general:
https://medium.com/netflix-techblog/optimized-shot-based-enc...
https://medium.com/netflix-techblog/more-efficient-mobile-en...
https://medium.com/netflix-techblog/netflix-downloads-on-and...
And six months ago they had improved on that to do live streaming with 32 cores: https://bitmovin.com/constantly-evolving-video-landscape-dis...
So I'll be interested to read about any live streaming demos they do at NAB in the next couple of weeks.
Imagine if Netflix spends 1M on encoding, even 5x is 4M more, and the current encoder is anywhere from 250M to 2.5B more. This is not a small sum of money.
I think before they talk about speed up, they just need to iron out all the bugs and bitstream freeze before we speak.
But they can start with only the most popular videos to get the most bang per buck, they'll also likely target geographic areas with low bandwidth but decent spec desktops, which means they're getting a return on investment by increasing reach, not just saving bandwidth.
So basically, there's plenty of niches where it makes sense almost as soon as the spec is frozen and they can expand the roll out as it proves itself and speeds up.
It's not even a bitstream freeze. This 'release' was put out by the marking folks, and wasn't even discussed with people on the AOM list (I'm part of AOM via VideoLAN). The bitstream remains under development.
Near as I can tell this is just a PR piece before NAB.
Thanks for pointing this out.
One reason why I dont like / trust the folks at On2 / VP8, it is nice AOMedia now has folks like you to keep them honest and humble.
Have a nice day.
The involvement of hardware people has been a boon, though tough for software people at times :).
Even following the things above, it can be pretty hard to see what's going on.
EDIT: mailing list is not accessibly, had some bits flipped in my wetware
They implement all the H.266 JVET ideas and tools into xvc. Not every one will make it into the standard due to speed, politics or whatever. Once the H.266 has been standardise, they now have a decent working encoder they could turn on the the features are in JVET and be the first JVET encoder on the market.
The JVET working group knows there is a threat in Royalty free codec like AV1. So I am hoping they take the patents and cost into account. But given how Qualcomm, Ericsson, Sharp has been acting in HEVC i am not entirely sure it will be smooth. Or if JVET has a future at all.
I hope AV1 will get the kind of love that got us the x264 encoder.
EDIT: my timeline was slightly off and reworded is make it clear I understand the difference between spec and implementation.
x264 is a codec. An implementation of H.264 standard.
x264 is loved because it is very optimized and fine-tuned. There are plenty of H.264 implementations that aren't.
We're probably not going to see AV1 implementations on the same level as x264 for at least a few years.
Assuming that VP10 shares a significant base design with VP9 it would not be surprising if some part of VP9 sillicons decoders could be leveraged on customer hardware, while awaiting for more dedicated circuits.
But on the software end, libaom (AOM reference implementation) is indeed a fork of libvpx. But this library is not broadly considered a good implementation, even for VP9. Pehaps the guys behind EVE for VP9 [1] will produce an AV1 implementation based of their codebase.
True, on that note, over at the Doom9 forums, the x265 spokesperson there said that they will consider making a AV1 encoder should there be a market.
Given the massive amount of support gathered for AV1 from web and hardware giants, and how it's a royalty free codec and thus in a great position to be the next generation 'de facto' video standard on the web, I'd wager there is a good market for a third party encoder from excellent developers like those behind x265.
80% of codebase is C. How is that Rust encoder? Seems like a binding to C AV1 encoder.
The Vorbis people, who were involved in AV1, have produced some impressive perceptual improvements even with inferior technology (Ogg Theora, based on VP3.2), so they know what to do and how: https://people.xiph.org/~xiphmont/demo/theora/demo9.html
I'm sure one of the team will chime in shortly pointing to some recent results.
http://www.streamingmedia.com/Articles/News/Online-Video-New...
Note current encoder isn't optimized for speed yet.
Firefox Nighly can play https://demo.bitmovin.com/public/firefox/av1/
(1) Maybe (2) Not today, and realistically not for a few years (if ever). "Standard" (whether de jure or de facto) compressed media formats (e.g. MP3, AAC, H.264) depend on an ecosystem of supporting products and services, and the existence of that ecosystem for any given format can't be assumed.
MSU's comparison from a couple of months ago: http://www.streamingmedia.com/Articles/News/Online-Video-New...
The x265 guys complained about the recent MSU test: http://www.x265.org/x265-incorrectly-represented-msus-2017-c...
The samples _and_ performance metrics used have to be quite varied.
I know that the AOMedia foundation was created in response to MPEG-4 HEVC licensing... Having an alternative might help getting rid of the HEVC!
HEVC is far from being everywhere. Huge services like Youtube, Amazon Video, Netflix and others are going to use AV1, not H.265. H.265 is already dead, it just didn't admit defeat yet.
Most of such devices also support H.264, which can be used as fallback for those who don't yet support AV1. H.265 isn't needed at all.
There will be some period when H.265 will linger around, but it will eventually die out.
YouTube 4k also just use VP9 iirc. No H.264.
> They don't even allow 2k+ on hardware that do not have h.265 hardware decoder for that reason.
So Netflix will swap this requirement from H.265 to AV1. Problem solved.
https://na01.safelinks.protection.outlook.com/?url=https%3A%...
The URL embedded within, however, is directly accessible:
https://aomediacodec.github.io/av1-spec/av1-spec.pdf
Edit: I started reading the spec and found that the bulk of it it appears to be mostly fragments of de-semicolon'd C code and plenty of lookup tables; in other words, a lot of "how" but not much in the way of "why" or "what". There's a noticeable lack of diagrams as well --- IMHO very important for describing something as visual as a video codec. For comparison, I certainly found the H.264 spec to be much more understandable than this AV1 one.
> AOMedia Supporting Quotes
It's interesting, how Apple are notably missing from there. It's as if they want to keep their support quiet.
JPEG is patented, VP9 is patented, and AV1 is patented. Luckily, baseline JPEG is licensed under royalty-free terms and so are VP9 and AV1. The issue is never the patents but rather the licensing of those patents.
Who cares about what Apple does or doesn't do? Apple certainly doesn't seem to care what Google and Microsoft do, which is why it continues to ignore open standards like Vulkan and now went ahead and adopted another one of MPEG-LA's proprietary and patent-encumbered formats.
Because they couldn't wait, now we may be stuck with another proprietary standard for the web for another 20 years. Not to mention there could still be others besides MPEG-LA to claim patents on HEIF and accuse developers of infringement, just like it happened with HEVC. This mess could have been avoided with a little bit of patience.
HEIF itself is a container format. It currently supports JPEG, H.264, and H.265 bitstreams:
https://github.com/nokiatech/heif
Nothing precludes AV1 from being contained in a HEIF file.
> HEIF is a visual media container format standardized by the Moving Picture Experts Group (MPEG)
So corporate politics will surely prevent it from happening. That being said I did file a bug report:
Edit: Nevermind, I see. Going by the document, it's meant to be an exact mirror to HEIF, but for AV1. Some interesting features too.
The .heic format now used by iPhones is the same idea (https://en.wikipedia.org/wiki/High_Efficiency_Image_File_For...). But wider use of that is going to be constrained by the cost problem HEVC has in general (two patent pools to deal with). Some of WebP is based on VP8 (not VP9) intra coding too.
There are a lot of tools packed in AV1's intra coding (and HEVC's, though I've read less about that). Block sizes range from 4x4 to 64x64 and there's a mix within one image, so the encoder can use the right size for the level of detail in each area. There are more ways to predict a block's content from what's to the top and left, which leaves less work for the JPEGish DCT part. There's clever de-ringing post-processing that, in effect, blurs away many of the attention-getting JPEG-y DCT artifacts around edges, while 1) being aware of the direction of the main edge itself to avoid blurring that away and 2) using contrast thresholds to preserve as much other legitimate detail as it can--more about deringing at https://people.xiph.org/~jm/daala/deringing_demo/ .
(There's some good detailed discussion at https://parisvideotech.com/wp-content/uploads/2017/07/AOM-AV... and in Wikipedia's page at https://en.wikipedia.org/wiki/AV1 )
Relatedly, given the complexity, I wouldn't expect this to, like, take the world by storm in the next three months. The unoptimized encoder is still _really_ slow. Google has designed a hardware implementation, but of course hardware designs take time to get integrated, fabbed, and into shipping products. Given who's involved, I'm hopeful it does get wide support. (Would love to hear Apple's plans given their current support for x265; their decision to join AOMedia is a good sign at least.) Anyway, looking forward to seeing the results.
That said, the still demo at https://people.xiph.org/~tdaede/av1stilldemo/ is really encouraging, and Apple's seen a win in doing something parallel with HEVC/.heic. AV1's already gone through a lot of optimization and IP vetting (patents caused trouble for previously proposed replacements for JPEG), and has a hardware decoder design and a lot of companies signed on. Like everyone I just have to wait and see what they do, but I'm more or less on team "ship it" here.
Quite an understatement. "Some" here means WebP is literally a single VP8 frame shoved into a RIFF container :D
Back in the day (holy shit 8 years ago already!) there was a script that added WebP support to WebM-supporting browsers by literally changing the container. Here it is: https://github.com/antimatter15/weppy/blob/master/weppy.js
https://webmproject.github.io/libwebp-demo/webp_wasm/index.h...
I think it's an ideal use case for WebAssembly. It'd be a good way to roll out any future AV1-based image format until native support arrived in all browsers.
Though it's less used than the lossy format, lossless WebP is a thing too; if I said WebP was exactly VP8 intra someone might nitpick that. There's no winning, haha!
So, like, h.264-based "images" can be shown in most browsers now, and VP9-based in many (but not Safari or IE). And you can fake AV1 images as soon as you get AV1 video.
Using video decoding in an odd way like that probably isn't especially practical or wise, but fun that the capability's there/reachable.
As an aside: A wrapper within FFmpeg for libaom is only a few hours work, but if you want to play with it Right Now, VLC has support. A native decoder will indeed take significantly longer though.
Batteries and bikeshedding on the Devel ML not included...
So we're already in bikeshed mode ;)
[1] https://git.videolan.org/?p=vlc.git;a=blob_plain;f=NEWS;hb=H...