Opened 11 years ago

Last modified 11 years ago

#929 closed defect

Deblocking filter boundary strength derivation bug (encoder) — at Initial Version

Reported by: mcoban Owned by:
Priority: minor Milestone: HM-10.0
Component: HM Version: HM-9.1
Keywords: Cc: fbossen, ksuehring, davidf, jct-vc@…

Description

Unitialized motion vector information is used during the boundary strength derivation on the encoder side leading to encoder/decoder mismatches. The xGetBoundaryStrengthSingle() function assumes the motion vectors of refIdx < 0 blocks have the value 0.

e.g.

xGetBoundaryStrengthSingle()
.....

if ( ((piRefP0==piRefQ0)&&(piRefP1==piRefQ1))
((piRefP0==piRefQ1)&&(piRefP1==piRefQ0)) )

{

uiBs = 0;
if ( piRefP0 != piRefP1 ) Different L0 & L1
{

if ( piRefP0 == piRefQ0 )
{

pcMvP0 -= pcMvQ0; pcMvP1 -= pcMvQ1;
uiBs = (pcMvP0.getAbsHor() >= 4) | (pcMvP0.getAbsVer() >= 4) |
(pcMvP1.getAbsHor() >= 4) | (pcMvP1.getAbsVer() >= 4);

.....

If piRefP1==piRefQ1==NULL and piRefP0 == piRefQ0 && piRefP0 != NULL, motion vector information of P1 partition is used in uiBs derivation.

following patch should address the issue

Change History (0)

Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • David Flynn(Subscriber)
  • Frank Bossen(Subscriber)
  • jct-vc@…(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Subscriber, Participant, Always)
  • Muhammed Coban(Reporter)