Next-Next Generation Video: Introducing Daala 86
An anonymous reader sends this excerpt from a post by Xiph.org's Monty Montgomery:
"Xiph.Org has been working on Daala, a new video codec for some time now, though Opus work had overshadowed it until just recently. With Opus finalized and much of the mop-up work well in hand, Daala development has taken center stage. I've started work on 'demo' pages for Daala, just like I've done demos of other Xiph development projects. Daala aims to be rather different from other video codecs (and it's the first from-scratch design attempt in a while), so the first few demo pages are going to be mostly concerned with what's new and different in Daala. I've finished the first 'demo' page (about Daala's lapped transforms), so if you're interested in video coding technology, go have a look!"
There really aren't any marketing people in OSS (Score:2, Insightful)
Daala? That will play well in test/focus groups - I'm certain of it.
Re: (Score:1)
As far as google is concerned, the only two meaningful meanings for Daala are: Xiph's new codec(!) and a Star Wars cutie.
Looks like the marketing people did just fine, they already own the word for all meaningful intents and purposes related to TI, and they managed it really fast.
Re: (Score:3)
Also, in the Star Wars universe, Daala is the protégé of Grand Moff Tarkin, who gave his name to Xiph.org's earlier experimental wavelet-based video codec effort [theora.org], so the name makes perfect sense from a historical perspective as well.
Re: (Score:3)
Re: (Score:1)
None of those characters came from George Lucas. Admiral Daala first appeared in a book written by Kevin J. Anderson, "Jedi Search". Luuke Skywalker and Joruus C'Baoth were characters in Timothy Zahn's Thrawn trilogy.
Re: (Score:2, Insightful)
Compared to... x.264?
Re:There really aren't any marketing people in OSS (Score:5, Informative)
Daala? That will play well in test/focus groups - I'm certain of it.
Hmm, yeah, because the input of "focus" groups are well known for their role in chosing video codecs. So, let's look at the real commercial codecs out there:
ISO/IEC 11172 aka MPEG-1 ;-)
Dirac Pro aka SMPTE 2042-1-2009 VC-2
H.222 aka H.262 aka MPEG-2 Part 2 aka ISO/IEC 13818-2
MPEG-4 er, which was that, Part 2 aka H.263 aka ISO/IEC 14496-2 or Part 10 AVC aka h.264 aka ISO/IEC 14496-10
MS MPEG-4v3 aka (unofficially) Divx
etc.
So yeah, Daala is terrible by those standards
So, basically you're randomly grousing about OSS is nonsensical and in complete contrast to reality and apparently this has caused your post to be upmodded.
I expect I'll be downmodded by whoever modded you up, but I have karma to burn so what the hell.
Re: (Score:2)
The codecs you listed have nice technical sounding names, except Dirac. Daala is like Dirac but more "dull." It's subjective obviously but I agree with OP, it's a terrible sounding name.
However, many end users will end up only knowing the container format. If it's packaged as mp4 or mkv, they won't know the difference. If it has its own container format, who knows -- hopefully it'll have a better name, though I doubt it (Ogg instantly springs to mind).
Re: (Score:1)
Re: (Score:2)
Well let's hope it does, because you can never have too many.
There's an xkcd cartoon, but I can't be arsed to find it and it's not my turn to do the obligatory.
Re: (Score:1)
Thus, the faggotry that inspires the name of many OSS projects
Do you realize that you use of the term 'faggotry', particularly in relation to totally irrelevant matters like OSS, is a sure sign that you are gay, but repressed? You really need to work with suitable professionals toward being 'out and proud' instead of 'repressed and bigoted'.
Well, it's also possible that he's inferring the GGP spent too much time on smoke breaks and not enough applying himself.
Which brings me to another point: it seems like the original poster in this thread (and the "name sounds gay" commenters) like names that sound American or are acronyms. If the name sounds Indian or African (and most of the OSS names mentioned are one or the other) then it sounds "gay".
These are the same people who groused about Nintendo for the Wii. My guess is that to most of the comp
Re: (Score:3)
Actually, MS MPEG4 is a form of h.263. In fact, MPEG4 Part 2 is also known as DivX/Xvid/etc, and to be more correct still, they fall under MPEG4 Part 2 Advanced Simple Profile (ASP).
MPEG4 Part 10 (h.264) is Advanced Video Codec (AVC).
Of course, one needs to realize that MPEG4 is a comprehensive standard and nothing "implements" MPEG4 - it's just a related group
Re: (Score:2)
It's the same "nerds can't think of good names" shit all over again. See the "Oh Brother, Where Art Thou?" Simpsons episode for reference.
Re:Patent Tolls heading your way (Score:5, Interesting)
It's the submarine patents that are the bigger worry. Since this codec is based on work that's come from some academic research papers, one can imagine a sufficiently wealthy litigation-mad megalocorp paying developers to stay on top of research and file patent applications citing obvious implementation details and then keeping them under the surface until it's sufficiently advantageous to allow them to surface. This process is 100% the opposite of the intention of the Constitutional provision for IP.
BTW, the posted whitepaper is really nicely done - good job Xiph team. In a free world everybody would rejoice and be happy for your efforts.
Essential Features.. alpha support, lossless. (Score:5, Insightful)
If you want to have a good solid niche for this (always helps) then.
1 - support a reasonably efficient lossless mode (several others have this, but it is alsways useful)
2 - support ALPHA channels (32bit, RGBA, YUVA) - this is not trivial but very worthwhile, basically ZERO of the modern codec support this.
alpha channels are a requirement for many composition/editing/video production workflows, and yet the supporting codecs are old, clunky,
and painful to use.
good alpha channel support is not trivial, but is usually not major also.
For extra points support lossless on alpha, and lossy on the other channels, that is a VERY good option for many workflows.
Gives alpha and lossless, you are pretty much guaranteed professional users.
Re:Essential Features.. alpha support, lossless. (Score:5, Informative)
Wikipedia claims that VP9 does/will support alpha channel
Re:Essential Features.. alpha support, lossless. (Score:5, Informative)
Yes, as far as I can tell thats a pretty solid 'will', closer to a 'may', but alpha there as far as I can tell is just another
channel with no special consideration, unfortunately.
But of course, the more the merrier, its just a very under supported requirement, and one that is heavily used in content creation circles.
Most end up having to use png or target image sequences, or quicktime/animation codec for support, which are somewhat poor workflows.
Re: (Score:1)
Apple Prores 4444 is YUVA 0 it's not lossless but its close enough for most applications.
Re: (Score:2)
Great!
Now can I please have a source implementation so I can use it directly?
Can i have a free codec for all my machines (windows edit stations, linux render clusters?)
I'm not saything they dont exist, there are several, they all have issues of one form or another, though.
Re: (Score:2)
Have you tried contacting the Xiph guys at all?
If email isn't working try IRC - they probably have a channel the devs hang out in, or their mailing list.
You have a nice suggestion and good grounds for it being a feature - do a little lobbying and see if you can get one of the devs to champion the feature for you!
Re: (Score:2)
Apple Prores 4444 is YUVA 0 it's not lossless but its close enough for most applications.
The whole point of lossless formats is that you can move back and forth between them *as many times as you like* without ever losing *any* information. No non-lossless codec is 'close enough' to lossless for this purpose. It's like the difference between 'not pregnant' and 'only a bit pregnant'.
Re: (Score:2)
We've never even been able to get a lossy image/lossless alpha for the Web, what makes you think it's going to appear for video first?
Re: (Score:2)
Re: (Score:2)
From the Daala wiki:
Basic features
YUV 4:4:4, 4:2:2 , 4:2:0 subsamplings, 8-bit, 10bit.
Alpha channel — need testing material!
8-bit RGB compatible mode? (e.g. YCoCg, internally or at least flagging for it)
Efficient 3D? — need testing material!
Lossless?
The value of this is disputable. If nothing else it's arguable that stuffing lossless into a lossy format may be the only way to get lossless into many people's hands. Also, see below
Good support for decode side droppable frames?
Hopefully the referen
Another day, another codec. (Score:2, Insightful)
I'm sure its a worthy project and no doubt based on very solid maths and engineering. However I'm also sure it'll be forgotten about this time next week. There are too many codecs fighting it out already - yet another one is just a bit more noise in the background. Sorry, but thats just the way it is.
Re:Another day, another codec. (Score:5, Interesting)
Those existing codecs are all very similar technically, and riddled with patents. If Monty can make something new (and he can, see CELT) and work around those patents (and he can, see Vorbis, Theora), then it's definitely a welcome addition. And a codec doesn't have to dominate to be useful; Vorbis is widely used (Wikipedia, all sorts of software that plays sound and music including a lot of if not most video games) and supported on a lot of platforms (including hardware players and set-top boxes) even if it never did completely replace MP3 and AAC. If nothing else, having a free and unencumbered option will keep the licensors of the proprietary codecs at least somewhat honest.
Incidentally, isn't it about time for Monty to get an EFF Pioneer award? He's been very successfully working on freely usable audio and video codecs for well over a decade now, starting at a time when many people didn't believe that a non-encumbered audio or video codec was even possible. Someone with his skills could probably make a very good living in proprietary codec development, but he chose to start Xiph.org and fight the good fight (and now works for Red Hat). He belongs in that list [eff.org] IMHO.
Re: (Score:2)
I agree. Monty's a hero, and the real deal. We love you, Monty!
Re: (Score:2)
Long ago, Xiph had a video code project they called Tarkin. When On2 gave out VP8, they abandoned Tarkin to focus on their own implementation of VP8 with a few tweaks, which they called Theora.
Here's hoping Daala makes it.
Re:Another day, another codec. (Score:5, Informative)
We abandoned Tarkin, but not because of VP3. It was an interesting crazy idea that simply wasn't workable.
Tarkin was an attempt to replace motion compensation with a directional 3D wavelets that could predict across time. It had... disturbing... encoding artifacts.
Re: (Score:2)
I bet! Sounds like a very cool visual effect, however.
Re: (Score:3)
Monty and Xiph have done pretty well with audio codecs, but they need to stay the HELL away from video codecs.
Theora/VP3 was a nightmarish debacle that we're still suffering from. Thank god Google took the reins by releasing VP8, and developing it themselves, rather than handing it over to Xiph
Re: (Score:2)
VP3 was great when it was released in 2000. It was still damn impressive when On2 open sourced it in 2001. Nothing else out there did in-loop deblocking like VP3, which made it perform incredibly well for low-bitrate encoding. Numerous companies like AOL, Adobe/Macromedia licensed it.
But a DECADE LATER, when Xiph finally released a stable version of Theora, quality was really NO BETTER, and now it had to compete with much better, and entrenched players like H.264,
Re: (Score:2)
Agreed, Xiph wanted to create a clean codec (which is still the problem with VP8) but you are right: they just didn't balance the engineering and comp-sci effectively. They could have shot for incremental progress, releasing something new every couple of years. Instead, they had a few underpaid open-source enthusiasts working on it for a decade.
That being said, when it came to negotiations, it was REALLY important that Vorbis was around to give everyone an idea that open source codecs were at least viable
Re: (Score:2)
I do believe Musepack was around earlier, outperforming Vorbis (and *everything else*) and is still being developed.
Re: (Score:2)
I was talking about video, not audio.
Re: (Score:2)
You specifically said "Vorbis" which is audio.
I'll assume, now, that was a typo.
Re: (Score:2)
I think the only "debacle" about Theora/VP3 was that it ended up languishing for half a decade with an "alpha" label after it was actually done (in the "1.0" sense). It wasn't bad at all for the time it was initially created, and if it had gotten formally finalized so people didn't think it "still wasn't ready" it would have had a much better chance of catching on.
It would still be a "second rate" video codec by TODAY's standards, but being plenty good enough for most purposes (you can't tell me top qualit
Re: (Score:2)
It was bitstream stable (which would have been very nice to know at the time, rather than years later), but the software wasn't done. The alphas performed horribly, and turned out video that looked like crap. This may have simply been a few features turned off in #IFDEFs for development, but either way, the public couldn't have used the alphas for real work, even if they wanted to.
Re: (Score:2)
Why still use blocks? (Score:4, Interesting)
I'm a bit worried about the big focus on "blocks" for such a video codec. Originally, the blocks used in the JPEG image coder was put there to make sure that you could stream-encode images using reasonably cheap silicon back in the eighties. No one really wants the blocks, they were a necessary limitation. Using the same algorithm as JPEG but removing the blocks gives a serious quality boost.
This codec will never run on hardware that can't handle more than 16 x 16 pixels at once. The lowest specs that will encode these frames will be hand-held cameras, which will have more than enough ram to buffer at least two full frames, and use a small FPGA for encoding/decoding. Everything else will be decoded by a GPU directly to the framebuffer, and likely encoded by the same GPU. Even server farms have these for processing media.
There's also no issue with streaming as far as I know. Both DCT and Wavelet based coders can packetize the important bits in a frame first, and the less important bit later, so that a slow connection can still decode a degraded image even if not all bits are received. This without splitting the image into blocks.
Re: (Score:3)
I thought the blocks were used to provide a reasonable limit on the number of terms necessary to effectively describe the function in the "time" space using a DCT. The large the block, the more terms are necessary. I don't know enough about DCT to know how the number of terms scales with individual accuracy required and block size, but I would think a move away from that kind of a transform would be necessary to encode entire frames in one go with any hope at a highly efficient compression ratio.
Re:Why still use blocks? (Score:5, Informative)
Re: (Score:2)
Re: (Score:3)
It would be great if the blocks were independent, so you could parallelize the work by a huge factor. I guess block boundary effects are the problem, but they don't exactly constitute all the work. A great deal of scientific computing (e.g. fluid dynamics) is done by splitting the problem space into blocks which can be run on different nodes of a cluster, and while a lot of communication is needed between nodes, there are certainly benefits from such parallelism.
Another interesting idea (which I've proba
Re: (Score:2)
I think that was pretty much the basic idea behind tarkin. It didn't end well. Seems temporal artifacts are very jarring.
Re: (Score:2)
Re: (Score:2)
But video can easily be made to run in parallel simply by encoding several frames at once.
That idea with the 3D voxel blob is something I've been thinking about for doing simultaneous frame rate and resolution conversion between interlaced source and destination video formats. Sadly I still haven't managed to start coding on that. Maybe it will fail for the same reason that the video encoder failed. :/
Re: (Score:2)
Using the same algorithm as JPEG but removing the blocks gives a serious quality boost.
So doing DCT on the entire image in one go will improve things? Otherwise, there's not much of the JPEG algorithm left.
People have been fiddling round with increasing block sizes for ages, and going arbitrarily large does not necessarily improve things. 16x16 seems good, but that's not removing the blocks, merely doing a minor tweak.
Re: (Score:2)
Your idea is nonsense. Whatever the reason for blocks in JPEG, video codecs NEED blocks. Full stop. Motion prediction/estimation/compensation/vectors works on the block level. The frame level isn't granular enough, and pixel-level has far too much overhead.
H.120 was the first standard video codec, and it didn't use blocks. It was not at a
Re: (Score:2)
Your idea is nonsense. Whatever the reason for blocks in JPEG, video codecs NEED blocks. Full stop. Motion prediction/estimation/compensation/vectors works on the block level. [...] H.264 introduced 8x8 and 4x4 macroblocks, in addition to the standard 16x16 macroblock, because the motion vectors on smaller blocks allows it to eliminate more temporal redundancy. VP9 is adopting larger macroblock sizes as well, but that really only helps on a small amount of HD content.
You're sort of contradicting yourself here. You're saying that blocks are necessary. Then you're saying that fixed-size blocks are bad, because you get a better result when you discard the actual encoder block size and impose a motion vector granularity that is better tailored to the data in question. So why not simply decouple the encoder and motion estimators and let the motion estimator run with a dynamic size, maybe even without a square/rectangle restriction. Maybe the motion estimators could then be f
Re: (Score:2)
Don't blame me, just because you don't understand the subject.
Besides all that, you're ignoring most of my post. I don't concede that non-block based encoding of JPEG or I-frames is more efficient... Unless you've got a source, I'm going to assume your original point is you making crap up, just like your reply here.
Re: (Score:2)
Re: (Score:3)
I'm holding out hope that this codec supports subtitles as filters, so we can bake them in without actually baking them in, if you catch my drift. One of the biggest challenges I've faced when working with video encoding is that container formats are notoriously unsupported across the entire spectrum of video players.
The issue being that whatever inconsistencies you are hitting won't be addressed by shuffling the subtitle track awkwardly into the video stream somehow. A player not being able to interpret an SSA/ASS stream won't suddenly be able to render them because it comes in the video part of the container. This just moves the problem form one part to another, and does so in a way without technical benefit.
If the meat of your gripe is that a lot of things do not understand matroska and you are really thinking that
Re: (Score:2)
I think ACs point was that by moving subtitles from a container thing to a stream thing (but still a distinct layer you can enable or disable) the world would be a better place, because codec support is far more common than container support. There are plenty of players that support h.264, but only in an mp4 container, not an mkv container, and not I suspect for any technical reason, just marketing requirements written that way.
If you had to support subtitles to claim to support the codec, it would be a wi
Re: (Score:2)
That just creates another layer of container.
Exciting! (Score:1)
Not quite next-gen (Score:1)
Re: (Score:2)
Again a new codec? (Score:2)