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.

 

Go Back   Doom9's Forum > Video Encoding > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 23rd July 2015, 01:50   #1  |  Link
MoSal
Registered User
 
Join Date: Jun 2013
Posts: 95
Thor: a new codec from Cisco (reference implementation available)

Cisco presented Thor, a new royalty-free video codec, at the IETF93 meetings in Prague. A high-level description of the codec was submitted as a draft earlier this month.

An open-source reference implementation is now publicly available at github.

The draft's abstract describes the codec as:
Quote:
Thor is designed to achieve high compression efficiency with
moderate complexity, using the well-known hybrid video coding
approach of motion-compensated prediction and transform coding.
Other than working with the IETF, which implies the willingness to write a usable standard document. I don't think Thor will have any advantages over VP9/VP10. However, some techniques that Thor uses might prove usable to other codecs under development. Daala developers are already experimenting with a couple of those techniques.

Last edited by MoSal; 23rd July 2015 at 02:11.
MoSal is offline   Reply With Quote
Old 23rd July 2015, 01:57   #2  |  Link
MoSal
Registered User
 
Join Date: Jun 2013
Posts: 95
The IETF93 NETVC meeting at which Thor was presented:
http://recordings.conf.meetecho.com/...pter=chapter_1

The slides:
https://www.ietf.org/proceedings/93/...93-netvc-4.pdf
MoSal is offline   Reply With Quote
Old 23rd July 2015, 10:28   #3  |  Link
wiak
Registered User
 
Join Date: Jul 2003
Location: somewhere north
Posts: 260
compiled a windows build today
http://nwgat.ninja/thor-video-codec/
__________________
Woah! Ninja?! http://nwgat.ninja/ (AV1 Overview)
"Not available in your region" has now been redefined as "Go Pirate, you filthy scum" Nwgat

Last edited by wiak; 23rd July 2015 at 10:34.
wiak is offline   Reply With Quote
Old 23rd July 2015, 10:56   #4  |  Link
dapperdan
Registered User
 
Join Date: Aug 2009
Posts: 201
Interesting, at first glance it appears to be an attempt to tempt existing IP holders in H.264/H.265 to defect to royalty-free since the existing processes have stymied that for the last decade or so.

Bold move.
dapperdan is offline   Reply With Quote
Old 23rd July 2015, 16:57   #5  |  Link
pieter3d
Registered User
 
Join Date: Jan 2013
Location: Santa Clara CA
Posts: 114
That IETF document is really sparse on details. It appears to be pretty simple, not really any new features. If I had to guess it is probably in between H.264 and HEVC/VP9 in terms of compression efficiency.
pieter3d is offline   Reply With Quote
Old 23rd July 2015, 17:01   #6  |  Link
wiak
Registered User
 
Join Date: Jul 2003
Location: somewhere north
Posts: 260
Quote:
Originally Posted by pieter3d View Post
That IETF document is really sparse on details. It appears to be pretty simple, not really any new features. If I had to guess it is probably in between H.264 and HEVC/VP9 in terms of compression efficiency.
yep, did you read the daala hackathlon pdf? hehe
__________________
Woah! Ninja?! http://nwgat.ninja/ (AV1 Overview)
"Not available in your region" has now been redefined as "Go Pirate, you filthy scum" Nwgat
wiak is offline   Reply With Quote
Old 23rd July 2015, 17:14   #7  |  Link
pieter3d
Registered User
 
Join Date: Jan 2013
Location: Santa Clara CA
Posts: 114
I looked at the code - it appears to be largely a dumbed-down version of HEVC. There are even constants and macros in the code with the name HEVC in it.
pieter3d is offline   Reply With Quote
Old 23rd July 2015, 17:33   #8  |  Link
wiak
Registered User
 
Join Date: Jul 2003
Location: somewhere north
Posts: 260
Quote:
Originally Posted by pieter3d View Post
I looked at the code - it appears to be largely a dumbed-down version of HEVC. There are even constants and macros in the code with the name HEVC in it.
alot of codecs these days share techniques
yet some, like daala or diarc are alot different, the lapped transform is a pretty interesting technology
__________________
Woah! Ninja?! http://nwgat.ninja/ (AV1 Overview)
"Not available in your region" has now been redefined as "Go Pirate, you filthy scum" Nwgat
wiak is offline   Reply With Quote
Old 23rd July 2015, 18:26   #9  |  Link
Tommy Carrot
Registered User
 
Tommy Carrot's Avatar
 
Join Date: Mar 2002
Posts: 863
Thanks for the build, wiak.

I ran a few tests with the encoder. It is horrendously slow in the high efficiency settings, and it has a few issues (cuts off the last few frames if b-frames are enabled), but the quality is pretty good, much better than the current daala encoder, it's actually not that far from x265. Considering the immature state of the encoder (non-adaptive b-frames, no scenecut detection, no psy-rdo), it's quite promising.
Tommy Carrot is offline   Reply With Quote
Old 23rd July 2015, 18:48   #10  |  Link
wiak
Registered User
 
Join Date: Jul 2003
Location: somewhere north
Posts: 260
Quote:
Originally Posted by Tommy Carrot View Post
Thanks for the build, wiak.

I ran a few tests with the encoder. It is horrendously slow in the high efficiency settings, and it has a few issues (cuts off the last few frames if b-frames are enabled), but the quality is pretty good, much better than the current daala encoder, it's actually not that far from x265. Considering the immature state of the encoder (non-adaptive b-frames, no scenecut detection, no psy-rdo), it's quite promising.
ooh, well the current daala encoder is basicly a experimental patch work
and the current thor code was posted to githu a week ago

its good that there are more codecs at IETF, the Thor MC seem to fix issues with the current Daala MC
__________________
Woah! Ninja?! http://nwgat.ninja/ (AV1 Overview)
"Not available in your region" has now been redefined as "Go Pirate, you filthy scum" Nwgat
wiak is offline   Reply With Quote
Old 23rd July 2015, 21:14   #11  |  Link
dapperdan
Registered User
 
Join Date: Aug 2009
Posts: 201
Quote:
Originally Posted by pieter3d View Post
I looked at the code - it appears to be largely a dumbed-down version of HEVC. There are even constants and macros in the code with the name HEVC in it.

Cisco contributed to H.264/5 and have chosen to freely licence that IPR in Thor and any outcome of the NetVC project.

They've also had teams of lawyers deciding what bits of H.264/5 are freely reusable.

So their strategy of sticking close to H.264/5 makes a lot of sense. If they can tempt any of the other IP holders to join in, then it'll make even more sense.

The blossoming of lots of interesting new codecs will happen after the royalty-bearing patent stranglehold on the industry us broken.

Last edited by dapperdan; 23rd July 2015 at 22:03.
dapperdan is offline   Reply With Quote
Old 23rd July 2015, 22:19   #12  |  Link
Bloax
The speed of stupid
 
Bloax's Avatar
 
Join Date: Sep 2011
Posts: 317
Quote:
Originally Posted by dapperdan View Post
The blossoming of lots of interesting new codecs will happen after the royalty-bearing patent stranglehold on the industry us broken.
What do you mean patents strangle progress?

Maybe you're in with those filthy pirates that say that copyright hinders creativity!!

*cough*

Based off Tommy Carrot's little writeup this sounds like a very exciting entry to the field, though.
Paint me interested.
Bloax is offline   Reply With Quote
Old 24th July 2015, 00:22   #13  |  Link
MoSal
Registered User
 
Join Date: Jun 2013
Posts: 95
Quote:
Originally Posted by Tommy Carrot View Post
Thanks for the build, wiak.

I ran a few tests with the encoder. It is horrendously slow in the high efficiency settings, and it has a few issues (cuts off the last few frames if b-frames are enabled), but the quality is pretty good, much better than the current daala encoder, it's actually not that far from x265. Considering the immature state of the encoder (non-adaptive b-frames, no scenecut detection, no psy-rdo), it's quite promising.
Unless someone starts making some crazy claims, I don't think it's very useful at this point to compare Daala with other (traditional) codecs quality-wise.

There are many basic features that are not implemented yet, or still need a lot of work. 64x64 blocks, multiple-references, mixed-predicion, bi-prediction, better intra-prediction, better MC, better MPs, and finally, that promised efficient deringing filter. All this work is on the roadmap. And the plan was to finish most of it by the end of this year. But I think that's a little bit too ambitious of a goal.
MoSal is offline   Reply With Quote
Old 24th July 2015, 01:15   #14  |  Link
Tommy Carrot
Registered User
 
Tommy Carrot's Avatar
 
Join Date: Mar 2002
Posts: 863
Quote:
Originally Posted by MoSal View Post
Unless someone starts making some crazy claims, I don't think it's very useful at this point to compare Daala with other (traditional) codecs quality-wise.
You are right of course, i was just surprised that this codec, despite being almost as early stage in the development as daala, produces such a good quality. It is possible though (i haven't looked at the source code) that many parts were borrowed from the HM encoder, leaving out the features that they considered patent-risks. That would explain the good performance, and the similar characteristics to h.265.

Quote:
There are many basic features that are not implemented yet, or still need a lot of work. 64x64 blocks, multiple-references, mixed-predicion, bi-prediction, better intra-prediction, better MC, better MPs, and finally, that promised efficient deringing filter. All this work is on the roadmap. And the plan was to finish most of it by the end of this year. But I think that's a little bit too ambitious of a goal.
Daala has improved immensely in the last year or so, but it's still not comparable to the mature codecs. They started to fall behind the roadmap in the last few months though, so yes, i'd not expect to get the main features finished for at least a year from now or so.
Tommy Carrot is offline   Reply With Quote
Old 24th July 2015, 07:50   #15  |  Link
foxyshadis
Angel of Night
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Tangled in the silks
Posts: 9,559
Quote:
Originally Posted by Thor Spec
For the 32x32 and 64x64 transform sizes, only the 16x16 low frequency coefficients are quantized and transmitted.
Interesting idea that could be implemented in HEVC today (explicitly setting them to 0 instead of just tossing them). I wonder if this would have any effect on quality, since those really are mostly insignificant. If Thor intends to set them to random low-level noise on decoding, though, that's impossible for HEVC to copy.
foxyshadis is offline   Reply With Quote
Old 24th July 2015, 09:49   #16  |  Link
Gravitator
Registered User
 
Join Date: May 2014
Posts: 292
Quote:
Originally Posted by foxyshadis View Post
Interesting idea that could be implemented in HEVC today (explicitly setting them to 0 instead of just tossing them). I wonder if this would have any effect on quality, since those really are mostly insignificant. If Thor intends to set them to random low-level noise on decoding, though, that's impossible for HEVC to copy.
Random noise? Why not transfer the approximate noise filter / decoder...
Gravitator is offline   Reply With Quote
Old 24th July 2015, 13:39   #17  |  Link
dapperdan
Registered User
 
Join Date: Aug 2009
Posts: 201
I guess it's just a coincidence that the name fits the Xiph naming scheme of strong female characters from pop culture?
dapperdan is offline   Reply With Quote
Old 24th July 2015, 16:29   #18  |  Link
wiak
Registered User
 
Join Date: Jul 2003
Location: somewhere north
Posts: 260
this "MC" is a interesting case of what works works for others tooo
http://i.imgur.com/X6Nzlcf.png
http://i.imgur.com/D45fMKi.png

this forum reaily needs a img scaler (like gmail has)
__________________
Woah! Ninja?! http://nwgat.ninja/ (AV1 Overview)
"Not available in your region" has now been redefined as "Go Pirate, you filthy scum" Nwgat
wiak is offline   Reply With Quote
Old 25th July 2015, 08:23   #19  |  Link
foxyshadis
Angel of Night
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Tangled in the silks
Posts: 9,559
Quote:
Originally Posted by Gravitator View Post
Random noise? Why not transfer the approximate noise filter / decoder...
Because there's no point, you don't need to bother. In high frequencies, low level random noise is indistinguishable from grain or shaped noise, and since grain doesn't much change across a single frame, all you need to transmit is one frame-level variance value to fill in all the missing coefficients. It also helps cover up other sources of noise, including compression noise. It's so consistent you can mostly get away with one value for the whole movie, but that's really stepping away from reproduction into stylized.

Shaped noise (and explicit coefficients) matters more for the lower frequencies, for synthesizing film grain and texture, which is usually more trouble than it's worth except in extremely low-bandwidth video. FGM suffers from being complicated enough to be all things to all users, so no one wants it, when a simpler noise generator might have succeeded. I was pretty disappointed when HEVC completely punted on even trying to improve it.

Alternately, instead of messing with the idct you could just sweep random noise across each decoded frame in the same way; it looks nearly as good, but more 'digital' which turns some people off.

Obviously, this doesn't apply to CGI and film stock with low noise and sharp detail. Also obviously, I don't subscribe to the cult of PSNR and perfect reproduction, not when it leaves better subjective quality on the table.
foxyshadis is offline   Reply With Quote
Old 3rd August 2015, 16:00   #20  |  Link
colours
Registered User
 
colours's Avatar
 
Join Date: Mar 2014
Posts: 308
I went through the presentation slides and this bit jumped out at me: Thor uses a nonseparable low-pass filter to compute a (0.5,0.5) offset (for luma only). Looking at the source code points to the kernel being [[0,1,1,0], [1,2,2,1], [1,2,2,1], [0,1,1,0]]/16. No negative coefficients at all?

I'm kinda curious about how much this strange choice of a nonseparable interpolation filter for the (0.5,0.5) offset improves on just using the separable 6-tap interpolation filter which is also used for all the other fifteen offsets.
__________________
Say no to AviSynth 2.5.8 and DirectShowSource!
colours is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 11:40.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.