Does VP9 Support Multiple Resolution Encoding?

542 views
Skip to first unread message

kst...@gmail.com

unread,
Jun 30, 2014, 4:22:09 AM6/30/14
to webm-d...@webmproject.org
Hi,

Does VP9 supports multiple resolution encoding?

For example, frame size of input YUV is 1280x720:
- Frame 0 being encoded with frame size of 1280x720,
- Frame 1 being encoded with frame size of 640x260,
- Frame 2 being encoded with frame size of 1024x576,
.
.
.

Thank you!


Adrian Grange

unread,
Jun 30, 2014, 7:30:32 PM6/30/14
to WebM Discussion
Hi,

Yes, VP9 supports multi-resolution encoding but there are restrictions due to the design limitations of the 8-tap scaling filters.

In particular a reference frame may only be scaled in the range (x0.5, x16).

So in your example, assuming that frame 1 specifies frame 0 as a reference frame, the required vertical scaling ratio would be 260 / 720 which is less than 0.5 and invalid in VP9. It is up to the encoder to ensure that reference frames are used in such a way that the normative scaling limits are observed.

Regards,
Adrian





--
You received this message because you are subscribed to the Google Groups "WebM Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to webm-discuss...@webmproject.org.
To post to this group, send email to webm-d...@webmproject.org.
Visit this group at http://groups.google.com/a/webmproject.org/group/webm-discuss/.
For more options, visit https://groups.google.com/a/webmproject.org/d/optout.

kst...@gmail.com

unread,
Jul 1, 2014, 8:16:03 PM7/1/14
to webm-d...@webmproject.org
Hi Adrian,

Thank you for your reply and detailed explanation!
 
May I  know that how can the user enables such multiple resolution encoding in VP9 encoder?

Thank you!

Adrian Grange

unread,
Jul 2, 2014, 3:33:56 PM7/2/14
to WebM Discussion
Our main encoder vpxenc does not support multi-resolution encoding but we have produced a sample application that implements one form of spatial scalable encoding.

You can find this application, vp9_spatial_svc_encoder.c, in the examples sub-directory of our code repository.

Be sure to include the following flags in your configure command prior to building the example code:
--enable-experimental --enable-spatial-svc

You can then run:
make examples

kst...@gmail.com

unread,
Jul 2, 2014, 7:28:45 PM7/2/14
to webm-d...@webmproject.org
Hi Adrian,

Thank you very much for your explanation!
I understand about it now.

kst...@gmail.com

unread,
Jul 2, 2014, 9:34:18 PM7/2/14
to webm-d...@webmproject.org, kst...@gmail.com
Hi Adrian,

I have another question.
For VP9 standard, does the case where single layer (not SVC) multi-resolution reference case exists? (the example encoder you mentioned seems like only encodes multi-layer, where each layer only has 1 resolution. Cross layer reference exists though)

For VP9, is SVC categorized as a different profile (like HEVC)?

Adrian Grange

unread,
Jul 7, 2014, 11:37:26 AM7/7/14
to WebM Discussion
The features of multi-scale encoding are an intrinsic part of the VP9 bitstream, there is no separate profile.

It is definitely possible to construct a single layer encode with frames of differing size. If you look at test/resize_test.cc in our repository you'll see an example of how to do this.

Hope this helps.

Adrian

kst...@gmail.com

unread,
Jul 8, 2014, 6:36:39 AM7/8/14
to webm-d...@webmproject.org
Hi Adrian,


> The features of multi-scale encoding are an intrinsic part of the VP9 bitstream, there is no separate profile.
I see.

Do you have any plan to add these encoding options (SVC, multi resolution encoding, etc) to the main VP9 encoder in the future? or the main VP9 encoder will remain as it is now in the future?

Thank you!

Adrian Grange

unread,
Jul 8, 2014, 2:54:54 PM7/8/14
to WebM Discussion
Hi,

We are do some exploratory work around multi-resolution encoding but we don't currently have plans or a road-map for integration into vpxenc.

Adrian

kst...@gmail.com

unread,
Jul 9, 2014, 11:33:23 PM7/9/14
to webm-d...@webmproject.org
Hi Adrian,

Thank you for your confirmation. I understand about it now.
Reply all
Reply to author
Forward
0 new messages