-
Notifications
You must be signed in to change notification settings - Fork 297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementation of lowpass subband dct approximation with new param --lowpass-dct #3
base: master
Are you sure you want to change the base?
Conversation
You changed the DCT procedure in x265. I want to know whether this change will get mismatch in encoder reconstruct picture and decoder output picture. Besides, you should sent your modification in a HG patch with an email to [email protected], you can ref more information at https://bitbucket.org/multicoreware/x265/wiki/Contribute. |
Thx for your reply. I'll follow the procedures for a proper submission. The encoded file is still 100% compatible with HEVC standards. The lowpass DCT gives results very similar to the standard DCT. However the DCT coefficient matrix is truncated by the lower order DCT size. So a 16x16 block after transformation will generate a 16x16 coeff but only values on the 8x8 uppper-left submatrix will be different than 0. This doesn't cause much problems in smooth blocks and if qp is large enough. |
Hi Ximming,
thanks for your help. You're right. They reconstruct frames don't match.
So, this modification probably doesn't comply with HEVC standard.
This approximated transformation was developed a long time ago and several
articles discuss about it. Please, see below some reference links:
Check formula (2.29) - low-pass truncated approximation of the subband
coefficients.
http://service.scs.carleton.ca/sites/default/files/thesis_repository/James_McAvoy_MCS_17May13.pdf
https://www2.spsc.tugraz.at/people/franklyn/ICASSP97/pdf/author/ic972005.pdf
It's likely that I might have done something wrong. Thanks again. I
understand that at this moment this is not ready for submission.
Montez.
…On Sat, Oct 14, 2017 at 7:41 AM, Ximing Cheng ***@***.***> wrote:
The lowpass DCT changed the DCT procedure (Give more weight on the
coefficients close to DC coefficient from your description), which means
the iDCT procedure should also be changed along with the lowpass DCT. So
maybe this is not an encoder only optimization scheme as iDCT procedure
used in HEVC decoder cannot be changed as HEVC spec is finalized in 2013.
You can enable your modification on x265 and use x265 to generate the
reconstruct YUV frames(add cmd "--recon rec.yuv"), and then input your
output bitstream to HM decoder to get a output decoded YUV frames, then use
MD5 checksum tools or other YUV compare tools to check whether the
reconstruct YUV is the same as the output decoded YUV. If the two YUV are
not the same, maybe this optimization is not compatible with standard HEVC
spec.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#3 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ASukhf2-n5TJC8hk5eAvOcJMYYyKXdFEks5ssMgzgaJpZM4P3_Hi>
.
|
Hi Ximming,
I performed some more tests and reconstructed frames MD5 checksum match the
decoded file MD5 checksum when using HM decoder. Previously I've used
ffmpeg for decoding and it seems that it doesn't decode the last frame,
which was causing a difference.
Thanks,
Montez
On Sat, Oct 14, 2017 at 6:53 PM, Mont3z Claros <[email protected]>
wrote:
… Hi Ximming,
thanks for your help. You're right. They reconstruct frames don't match.
So, this modification probably doesn't comply with HEVC standard.
This approximated transformation was developed a long time ago and several
articles discuss about it. Please, see below some reference links:
Check formula (2.29) - low-pass truncated approximation of the subband
coefficients.
http://service.scs.carleton.ca/sites/default/files/thesis_
repository/James_McAvoy_MCS_17May13.pdf
https://www2.spsc.tugraz.at/people/franklyn/ICASSP97/pdf/
author/ic972005.pdf
It's likely that I might have done something wrong. Thanks again. I
understand that at this moment this is not ready for submission.
Montez.
On Sat, Oct 14, 2017 at 7:41 AM, Ximing Cheng ***@***.***>
wrote:
> The lowpass DCT changed the DCT procedure (Give more weight on the
> coefficients close to DC coefficient from your description), which means
> the iDCT procedure should also be changed along with the lowpass DCT. So
> maybe this is not an encoder only optimization scheme as iDCT procedure
> used in HEVC decoder cannot be changed as HEVC spec is finalized in 2013.
> You can enable your modification on x265 and use x265 to generate the
> reconstruct YUV frames(add cmd "--recon rec.yuv"), and then input your
> output bitstream to HM decoder to get a output decoded YUV frames, then use
> MD5 checksum tools or other YUV compare tools to check whether the
> reconstruct YUV is the same as the output decoded YUV. If the two YUV are
> not the same, maybe this optimization is not compatible with standard HEVC
> spec.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#3 (comment)>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ASukhf2-n5TJC8hk5eAvOcJMYYyKXdFEks5ssMgzgaJpZM4P3_Hi>
> .
>
|
OK, now you can send your patch to [email protected], and MCW will test and review your patch. |
Hi this implementation allows one to use lowpass dct approximation.
It reduces encoding time in approximately 10%.
A new parameter was added: lowpass-dct. It allows one to select lowpass subband dct approximation instead of the default dct implementation. Compression loss is minimal in qp > 27, specially for high resolution streams.